Author: tstellar Date: Wed Jun 5 19:22:34 2019 New Revision: 362668 URL: http://llvm.org/viewvc/llvm-project?rev=362668&view=rev Log: Merging r360439:
------------------------------------------------------------------------ r360439 | maskray | 2019-05-10 09:24:57 -0700 (Fri, 10 May 2019) | 8 lines [llvm-objdump] Print st_other Add support for ".hidden" ".internal" ".protected" and " 0x%02x" for other st_other bits used by some architectures. Reviewed By: sfertile Differential Revision: https://reviews.llvm.org/D61718 ------------------------------------------------------------------------ Added: llvm/branches/release_80/test/tools/llvm-objdump/elf-symbol-visibility.test Modified: llvm/branches/release_80/tools/llvm-objdump/llvm-objdump.cpp Added: llvm/branches/release_80/test/tools/llvm-objdump/elf-symbol-visibility.test URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-objdump/elf-symbol-visibility.test?rev=362668&view=auto ============================================================================== --- llvm/branches/release_80/test/tools/llvm-objdump/elf-symbol-visibility.test (added) +++ llvm/branches/release_80/test/tools/llvm-objdump/elf-symbol-visibility.test Wed Jun 5 19:22:34 2019 @@ -0,0 +1,37 @@ +# RUN: yaml2obj %s -o %t +# RUN: llvm-objdump --syms %t | FileCheck %s + +# CHECK: SYMBOL TABLE: +# CHECK-NEXT: .text 00000000 default +# CHECK-NEXT: .text 00000000 .internal internal +# CHECK-NEXT: .text 00000000 .hidden hidden +# CHECK-NEXT: .text 00000000 .protected protected +# CHECK-NEXT: .text 00000000 0x20 mips_pic + +!ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [ EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ] +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] +Symbols: + Local: + - Name: default + Section: .text + - Name: internal + Visibility: STV_INTERNAL + Section: .text + - Name: hidden + Visibility: STV_HIDDEN + Section: .text + - Name: protected + Visibility: STV_PROTECTED + Section: .text + - Name: mips_pic + Other: [ STO_MIPS_PIC ] + Section: .text Modified: llvm/branches/release_80/tools/llvm-objdump/llvm-objdump.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/tools/llvm-objdump/llvm-objdump.cpp?rev=362668&r1=362667&r2=362668&view=diff ============================================================================== --- llvm/branches/release_80/tools/llvm-objdump/llvm-objdump.cpp (original) +++ llvm/branches/release_80/tools/llvm-objdump/llvm-objdump.cpp Wed Jun 5 19:22:34 2019 @@ -2087,20 +2087,38 @@ void llvm::printSymbolTable(const Object outs() << SectionName; } - outs() << '\t'; if (Common || isa<ELFObjectFileBase>(O)) { uint64_t Val = Common ? Symbol.getAlignment() : ELFSymbolRef(Symbol).getSize(); - outs() << format("\t %08" PRIx64 " ", Val); + outs() << format("\t%08" PRIx64, Val); } - if (Hidden) - outs() << ".hidden "; + if (isa<ELFObjectFileBase>(O)) { + uint8_t Other = ELFSymbolRef(Symbol).getOther(); + switch (Other) { + case ELF::STV_DEFAULT: + break; + case ELF::STV_INTERNAL: + outs() << " .internal"; + break; + case ELF::STV_HIDDEN: + outs() << " .hidden"; + break; + case ELF::STV_PROTECTED: + outs() << " .protected"; + break; + default: + outs() << format(" 0x%02x", Other); + break; + } + } else if (Hidden) { + outs() << " .hidden"; + } if (Demangle) - outs() << demangle(Name) << '\n'; + outs() << ' ' << demangle(Name) << '\n'; else - outs() << Name << '\n'; + outs() << ' ' << Name << '\n'; } } _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits