From: Matt Davis Date: Fri, 1 Feb 2019 17:38:08 +0000 (+0000) Subject: [llvm-nm] Report '.comment' ELF sections as 'n' instead of '?' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=76a53521ccd56a03b003b2f9de798a6d12a38053;p=llvm [llvm-nm] Report '.comment' ELF sections as 'n' instead of '?' Summary: The previous implementation reported `.comment` sections as '?' GNU uses 'n' which means "The symbol is a debugging symbol." `.note` sections are represented as 'n' too. The test related to this change was updated to CHECK-NEXT to ensure order and that we did not miss any symbols in the dump. Reviewers: jhenderson Reviewed By: jhenderson Subscribers: rupprecht, llvm-commits Differential Revision: https://reviews.llvm.org/D57544 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352891 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Object/nm-trivial-object.test b/test/Object/nm-trivial-object.test index 1a593857f70..086456ef1c7 100644 --- a/test/Object/nm-trivial-object.test +++ b/test/Object/nm-trivial-object.test @@ -116,20 +116,21 @@ ABSOLUTE-ELF64: 0000000000000123 a a1 ABSOLUTE-ELF64: 0000000000000123 A a2 ELF64-DEBUG-SYMS: 00000000 b .bss -ELF64-DEBUG-SYMS: 00000000 d .data -ELF64-DEBUG-SYMS: 00000000 N .debug_abbrev -ELF64-DEBUG-SYMS: 00000000 N .debug_aranges -ELF64-DEBUG-SYMS: 00000000 N .debug_frame -ELF64-DEBUG-SYMS: 00000000 N .debug_info -ELF64-DEBUG-SYMS: 00000000 N .debug_line -ELF64-DEBUG-SYMS: 00000000 N .debug_pubnames -ELF64-DEBUG-SYMS: 00000000 n .note.GNU-stack -ELF64-DEBUG-SYMS: 00000000 t .text -ELF64-DEBUG-SYMS: 00000000 a IsNAN.cpp -ELF64-DEBUG-SYMS: 00000014 T _ZN4llvm5IsNANEd -ELF64-DEBUG-SYMS: 00000000 T _ZN4llvm5IsNANEf -ELF64-DEBUG-SYMS: U __isnan -ELF64-DEBUG-SYMS: U __isnanf +ELF64-DEBUG-SYMS-NEXT: 00000000 n .comment +ELF64-DEBUG-SYMS-NEXT: 00000000 d .data +ELF64-DEBUG-SYMS-NEXT: 00000000 N .debug_abbrev +ELF64-DEBUG-SYMS-NEXT: 00000000 N .debug_aranges +ELF64-DEBUG-SYMS-NEXT: 00000000 N .debug_frame +ELF64-DEBUG-SYMS-NEXT: 00000000 N .debug_info +ELF64-DEBUG-SYMS-NEXT: 00000000 N .debug_line +ELF64-DEBUG-SYMS-NEXT: 00000000 N .debug_pubnames +ELF64-DEBUG-SYMS-NEXT: 00000000 n .note.GNU-stack +ELF64-DEBUG-SYMS-NEXT: 00000000 t .text +ELF64-DEBUG-SYMS-NEXT: 00000000 a IsNAN.cpp +ELF64-DEBUG-SYMS-NEXT: 00000014 T _ZN4llvm5IsNANEd +ELF64-DEBUG-SYMS-NEXT: 00000000 T _ZN4llvm5IsNANEf +ELF64-DEBUG-SYMS-NEXT: U __isnan +ELF64-DEBUG-SYMS-NEXT: U __isnanf macho: U _SomeOtherFunction macho: 00000000 T _main diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index 83620778359..3a83fdb1424 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -935,6 +935,7 @@ static char getSymbolNMTypeChar(ELFObjectFileBase &Obj, return StringSwitch(*Name) .StartsWith(".debug", 'N') .StartsWith(".note", 'n') + .StartsWith(".comment", 'n') .Default('?'); }