forked from OSchip/llvm-project
[Objdump] Output information about common symbols in a way closer to GNU objdump.
llvm-svn: 226932
This commit is contained in:
parent
c3c8b27616
commit
bc2f47a76e
Binary file not shown.
|
@ -0,0 +1,3 @@
|
|||
// RUN: llvm-objdump -t %p/Inputs/common-symbol-elf | FileCheck %s
|
||||
|
||||
CHECK: 00000400 g *COM* 00000008 common_symbol
|
|
@ -642,7 +642,15 @@ void llvm::PrintSymbolTable(const ObjectFile *o) {
|
|||
bool Global = Flags & SymbolRef::SF_Global;
|
||||
bool Weak = Flags & SymbolRef::SF_Weak;
|
||||
bool Absolute = Flags & SymbolRef::SF_Absolute;
|
||||
bool Common = Flags & SymbolRef::SF_Common;
|
||||
|
||||
if (Common) {
|
||||
uint32_t Alignment;
|
||||
if (error(Symbol.getAlignment(Alignment)))
|
||||
Alignment = 0;
|
||||
Address = Size;
|
||||
Size = Alignment;
|
||||
}
|
||||
if (Address == UnknownAddressOrSize)
|
||||
Address = 0;
|
||||
if (Size == UnknownAddressOrSize)
|
||||
|
@ -672,6 +680,8 @@ void llvm::PrintSymbolTable(const ObjectFile *o) {
|
|||
<< ' ';
|
||||
if (Absolute) {
|
||||
outs() << "*ABS*";
|
||||
} else if (Common) {
|
||||
outs() << "*COM*";
|
||||
} else if (Section == o->section_end()) {
|
||||
outs() << "*UND*";
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue