llvm-6502/lib/Target/ARM/ARMTargetObjectFile.h
Anton Korobeynikov 4a99f59aef Properly emit ctors / dtors with priorities into desired sections
and let linker handle the rest.

This finally fixes PR5329



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148990 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-25 22:24:19 +00:00

43 lines
1.1 KiB
C++

//===-- llvm/Target/ARMTargetObjectFile.h - ARM Object Info -----*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_TARGET_ARM_TARGETOBJECTFILE_H
#define LLVM_TARGET_ARM_TARGETOBJECTFILE_H
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
namespace llvm {
class MCContext;
class TargetMachine;
class ARMElfTargetObjectFile : public TargetLoweringObjectFileELF {
protected:
const MCSection *AttributesSection;
bool isAAPCS_ABI;
public:
ARMElfTargetObjectFile() :
TargetLoweringObjectFileELF(),
AttributesSection(NULL)
{}
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
virtual const MCSection *getAttributesSection() const {
return AttributesSection;
}
const MCSection * getStaticCtorSection(unsigned Priority) const;
const MCSection * getStaticDtorSection(unsigned Priority) const;
};
} // end namespace llvm
#endif