X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=lib%2FTarget%2FARM%2FARMTargetObjectFile.h;h=c6a7261439d7b084166fc908e7e970214ebea90f;hb=83ec87755ed4d07f6650d6727fb762052bd0041c;hp=13fa7e202a003c3d4f10fb255e33319d531f016c;hpb=764ab52dd80310a205c9888bf166d09dab858f90;p=oota-llvm.git diff --git a/lib/Target/ARM/ARMTargetObjectFile.h b/lib/Target/ARM/ARMTargetObjectFile.h index 13fa7e202a0..c6a7261439d 100644 --- a/lib/Target/ARM/ARMTargetObjectFile.h +++ b/lib/Target/ARM/ARMTargetObjectFile.h @@ -10,29 +10,29 @@ #ifndef LLVM_TARGET_ARM_TARGETOBJECTFILE_H #define LLVM_TARGET_ARM_TARGETOBJECTFILE_H -#include "llvm/Target/TargetLoweringObjectFile.h" +#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" namespace llvm { - class ARMElfTargetObjectFile : public TargetLoweringObjectFileELF { - public: - ARMElfTargetObjectFile() : TargetLoweringObjectFileELF() {} - - void Initialize(MCContext &Ctx, const TargetMachine &TM) { - TargetLoweringObjectFileELF::Initialize(Ctx, TM); - - // FIXME: Add new attribute/flag to MCSection for init_array/fini_array. - // That will allow not treating these as "directives". - if (TM.getSubtarget().isAAPCS_ABI()) { - StaticCtorSection = - getELFSection("\t.section .init_array,\"aw\",%init_array", true, - SectionKind::getDataRel()); - StaticDtorSection = - getELFSection("\t.section .fini_array,\"aw\",%fini_array", true, - SectionKind::getDataRel()); - } - } - }; +class MCContext; +class TargetMachine; + +class ARMElfTargetObjectFile : public TargetLoweringObjectFileELF { +protected: + const MCSection *AttributesSection; +public: + ARMElfTargetObjectFile() : + TargetLoweringObjectFileELF(), + AttributesSection(NULL) + {} + + virtual void Initialize(MCContext &Ctx, const TargetMachine &TM); + + virtual const MCSection *getAttributesSection() const { + return AttributesSection; + } +}; + } // end namespace llvm #endif