From: Rafael Espindola Date: Fri, 24 Jan 2014 02:31:35 +0000 (+0000) Subject: Use the actual .text section, it is less code than building a dummy one. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=61e4d529fe641125c10cbad7db0b2ce584534cf4;p=oota-llvm.git Use the actual .text section, it is less code than building a dummy one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199968 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/LTO/LTOModule.cpp b/lib/LTO/LTOModule.cpp index 4fa21ae8185..60209539461 100644 --- a/lib/LTO/LTOModule.cpp +++ b/lib/LTO/LTOModule.cpp @@ -534,31 +534,10 @@ LTOModule::addPotentialUndefinedSymbol(const GlobalValue *decl, bool isFunc) { namespace { -// Common infrastructure is allowed to assume the existence of a current -// section. Since this streamer doesn't need one itself, we just provide -// a dummy one. -class DummySection : public MCSection { -public: - DummySection() : MCSection(SV_ELF, SectionKind::getText()) {} - - virtual void PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS, - const MCExpr *Subsection) const {} - - virtual std::string getLabelBeginName() const { return ""; } - - virtual std::string getLabelEndName() const { return ""; } - - virtual bool UseCodeAlign() const { return false; } - - virtual bool isVirtualSection() const { return false; } -}; - class RecordStreamer : public MCStreamer { public: enum State { NeverSeen, Global, Defined, DefinedGlobal, Used }; - DummySection TheSection; - private: StringMap Symbols; @@ -644,9 +623,7 @@ public: return Symbols.end(); } - RecordStreamer(MCContext &Context) : MCStreamer(Context, 0) { - SwitchSection(&TheSection); - } + RecordStreamer(MCContext &Context) : MCStreamer(Context, 0) {} virtual void EmitInstruction(const MCInst &Inst) { // Scan for values. @@ -686,7 +663,9 @@ public: // Noop calls. virtual void ChangeSection(const MCSection *Section, const MCExpr *Subsection) {} - virtual void InitSections() {} + virtual void InitSections() { + SwitchSection(getContext().getObjectFileInfo()->getTextSection()); + } virtual void EmitAssemblerFlag(MCAssemblerFlag Flag) {} virtual void EmitThumbFunc(MCSymbol *Func) {} virtual void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) {}