X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FMC%2FMCAsmInfoDarwin.cpp;h=61fbd29a285728cf43e40d9e614b1273886d7e13;hb=c56f5ea4c36aff16bd87c67e95f8a9be7424b286;hp=38b9e5b90b5f73da73ac21dae073df2f8e5c238b;hpb=415c8cf837439401f2df75d992d7e296d1d6746a;p=oota-llvm.git diff --git a/lib/MC/MCAsmInfoDarwin.cpp b/lib/MC/MCAsmInfoDarwin.cpp index 38b9e5b90b5..61fbd29a285 100644 --- a/lib/MC/MCAsmInfoDarwin.cpp +++ b/lib/MC/MCAsmInfoDarwin.cpp @@ -13,6 +13,9 @@ //===----------------------------------------------------------------------===// #include "llvm/MC/MCAsmInfoDarwin.h" +#include "llvm/MC/MCContext.h" +#include "llvm/MC/MCExpr.h" +#include "llvm/MC/MCStreamer.h" using namespace llvm; MCAsmInfoDarwin::MCAsmInfoDarwin() { @@ -20,40 +23,40 @@ MCAsmInfoDarwin::MCAsmInfoDarwin() { // Syntax: GlobalPrefix = "_"; PrivateGlobalPrefix = "L"; - LinkerPrivateGlobalPrefix = "l"; // Marker for some ObjC metadata - NeedsSet = true; - NeedsIndirectEncoding = true; + LinkerPrivateGlobalPrefix = "l"; AllowQuotesInName = true; HasSingleParameterDotFile = false; + HasSubsectionsViaSymbols = true; AlignmentIsInBytes = false; + COMMDirectiveAlignmentIsInBytes = false; InlineAsmStart = " InlineAsm Start"; InlineAsmEnd = " InlineAsm End"; - // In non-PIC modes, emit a special label before jump tables so that the - // linker can perform more accurate dead code stripping. We do not check the - // relocation model here since it can be overridden later. - JumpTableSpecialLabelPrefix = "l"; - // Directives: WeakDefDirective = "\t.weak_definition "; WeakRefDirective = "\t.weak_reference "; - HiddenDirective = "\t.private_extern "; - LCOMMDirective = "\t.lcomm\t"; ZeroDirective = "\t.space\t"; // ".space N" emits N zeros. - ZeroFillDirective = "\t.zerofill\t"; // Uses .zerofill - SetDirective = "\t.set"; - ProtectedDirective = "\t.globl\t"; - HasDotTypeDotSizeDirective = false; - UsedDirective = "\t.no_dead_strip\t"; + HasMachoZeroFillDirective = true; // Uses .zerofill + HasMachoTBSSDirective = true; // Uses .tbss + StructorOutputOrder = Structors::PriorityOrder; + HasStaticCtorDtorReferenceInStaticMode = true; - // _foo.eh symbols are currently always exported so that the linker knows - // about them. This is not necessary on 10.6 and later, but it - // doesn't hurt anything. - // FIXME: I need to get this from Triple. - Is_EHSymbolPrivate = false; - GlobalEHDirective = "\t.globl\t"; - SupportsWeakOmittedEHFrame = false; + // FIXME: Darwin 10 and newer don't need this. + LinkerRequiresNonEmptyDwarfLines = true; -} + // FIXME: Change this once MC is the system assembler. + HasAggressiveSymbolFolding = false; + HiddenVisibilityAttr = MCSA_PrivateExtern; + HiddenDeclarationVisibilityAttr = MCSA_Invalid; + // Doesn't support protected visibility. + ProtectedVisibilityAttr = MCSA_Global; + + HasDotTypeDotSizeDirective = false; + HasNoDeadStrip = true; + HasSymbolResolver = true; + + DwarfRequiresRelocationForSectionOffset = false; + DwarfUsesLabelOffsetForRanges = false; +}