add symbol attribute support for the ELF .type directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94435 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-01-25 18:30:45 +00:00
parent 032742972f
commit ed0ab15170
3 changed files with 48 additions and 14 deletions

View File

@@ -20,19 +20,25 @@ enum MCSymbolAttr {
MCSA_Invalid = 0, /// Not a valid directive.
// Various directives in alphabetical order.
MCSA_Global, /// .globl
MCSA_Hidden, /// .hidden (ELF)
MCSA_IndirectSymbol, /// .indirect_symbol (MachO)
MCSA_Internal, /// .internal (ELF)
MCSA_LazyReference, /// .lazy_reference (MachO)
MCSA_Local, /// .local (ELF)
MCSA_NoDeadStrip, /// .no_dead_strip (MachO)
MCSA_PrivateExtern, /// .private_extern (MachO)
MCSA_Protected, /// .protected (ELF)
MCSA_Reference, /// .reference (MachO)
MCSA_Weak, /// .weak
MCSA_WeakDefinition, /// .weak_definition (MachO)
MCSA_WeakReference /// .weak_reference (MachO)
MCSA_ELF_TypeFunction, /// .type _foo, STT_FUNC # aka @function
MCSA_ELF_TypeIndFunction, /// .type _foo, STT_GNU_IFUNC
MCSA_ELF_TypeObject, /// .type _foo, STT_OBJECT # aka @object
MCSA_ELF_TypeTLS, /// .type _foo, STT_TLS # aka @tls_object
MCSA_ELF_TypeCommon, /// .type _foo, STT_COMMON # aka @common
MCSA_ELF_TypeNoType, /// .type _foo, STT_NOTYPE # aka @notype
MCSA_Global, /// .globl
MCSA_Hidden, /// .hidden (ELF)
MCSA_IndirectSymbol, /// .indirect_symbol (MachO)
MCSA_Internal, /// .internal (ELF)
MCSA_LazyReference, /// .lazy_reference (MachO)
MCSA_Local, /// .local (ELF)
MCSA_NoDeadStrip, /// .no_dead_strip (MachO)
MCSA_PrivateExtern, /// .private_extern (MachO)
MCSA_Protected, /// .protected (ELF)
MCSA_Reference, /// .reference (MachO)
MCSA_Weak, /// .weak
MCSA_WeakDefinition, /// .weak_definition (MachO)
MCSA_WeakReference /// .weak_reference (MachO)
};
enum MCAssemblerFlag {