mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-20 14:29:27 +00:00
[Object] Teach Object and llvm-objdump about ".hidden"
Differential Revision: http://reviews.llvm.org/D9416 Reviewed by: rafael git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236279 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
509e9d9471
commit
0c54b7abc7
@ -409,6 +409,9 @@ uint32_t ELFObjectFile<ELFT>::getSymbolFlags(DataRefImpl Symb) const {
|
||||
if (isExportedToOtherDSO(ESym))
|
||||
Result |= SymbolRef::SF_Exported;
|
||||
|
||||
if (ESym->getVisibility() == ELF::STV_HIDDEN)
|
||||
Result |= SymbolRef::SF_Hidden;
|
||||
|
||||
return Result;
|
||||
}
|
||||
|
||||
|
@ -93,6 +93,7 @@ public:
|
||||
SF_FormatSpecific = 1U << 7, // Specific to the object file format
|
||||
// (e.g. section symbols)
|
||||
SF_Thumb = 1U << 8, // Thumb symbol in a 32-bit ARM binary
|
||||
SF_Hidden = 1U << 9, // Symbol has hidden visibility
|
||||
};
|
||||
|
||||
BasicSymbolRef() : OwningObject(nullptr) { }
|
||||
|
@ -37,5 +37,7 @@ macho-i386: 00000000 *UND* 00000000 _puts
|
||||
ELF-shared: shared-object-test.elf-i386: file format
|
||||
ELF-shared: SYMBOL TABLE:
|
||||
ELF-shared: 00000200 l F .text 00000003 local_func
|
||||
ELF-shared: 000012b8 l *ABS* 00000000 .hidden _GLOBAL_OFFSET_TABLE_
|
||||
ELF-shared: 00001248 l *ABS* 00000000 .hidden _DYNAMIC
|
||||
ELF-shared: 000012c4 g .data 00000004 defined_sym
|
||||
ELF-shared: 000001f0 g F .text 00000003 global_func
|
||||
|
@ -629,6 +629,7 @@ void llvm::PrintSymbolTable(const ObjectFile *o) {
|
||||
bool Weak = Flags & SymbolRef::SF_Weak;
|
||||
bool Absolute = Flags & SymbolRef::SF_Absolute;
|
||||
bool Common = Flags & SymbolRef::SF_Common;
|
||||
bool Hidden = Flags & SymbolRef::SF_Hidden;
|
||||
|
||||
if (Common) {
|
||||
uint32_t Alignment;
|
||||
@ -683,8 +684,11 @@ void llvm::PrintSymbolTable(const ObjectFile *o) {
|
||||
outs() << SectionName;
|
||||
}
|
||||
outs() << '\t'
|
||||
<< format("%08" PRIx64 " ", Size)
|
||||
<< Name
|
||||
<< format("%08" PRIx64 " ", Size);
|
||||
if (Hidden) {
|
||||
outs() << ".hidden ";
|
||||
}
|
||||
outs() << Name
|
||||
<< '\n';
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user