From 0ee7d91abda0ff5f5ecb52639972fb5110e3273d Mon Sep 17 00:00:00 2001 From: Kevin Enderby Date: Mon, 28 Jul 2014 23:17:38 +0000 Subject: [PATCH] =?utf8?q?Tweak=20llvm-nm=E2=80=99s=20-undefined-only=20(a?= =?utf8?q?ka=20-u)=20printing=20for=20Mach-O=20files=20to=20just=20print?= =?utf8?q?=20the=20symbol=20name.=20=20So=20it=20matches=20darwin=E2=80=99?= =?utf8?q?s=20nm(1)=20-u=20option.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214143 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Object/nm-trivial-object.test | 10 ++++++++++ tools/llvm-nm/llvm-nm.cpp | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/test/Object/nm-trivial-object.test b/test/Object/nm-trivial-object.test index a7bb7caad1d..4e44b7b554d 100644 --- a/test/Object/nm-trivial-object.test +++ b/test/Object/nm-trivial-object.test @@ -6,6 +6,8 @@ RUN: llvm-nm %p/Inputs/trivial-object-test.elf-i386 \ RUN: | FileCheck %s -check-prefix ELF RUN: llvm-nm -o %p/Inputs/trivial-object-test.elf-i386 \ RUN: | FileCheck %s -check-prefix ELF-o +RUN: llvm-nm -u %p/Inputs/trivial-object-test.elf-i386 \ +RUN: | FileCheck %s -check-prefix ELF-u RUN: llvm-nm %p/Inputs/trivial-object-test.elf-x86-64 \ RUN: | FileCheck %s -check-prefix ELF64 RUN: llvm-nm %p/Inputs/weak.elf-x86-64 \ @@ -32,6 +34,8 @@ RUN: llvm-nm -o %p/Inputs/macho-text-data-bss.macho-x86_64 \ RUN: | FileCheck %s -check-prefix macho-o RUN: llvm-nm -p -a %p/Inputs/macho-hello-g.macho-x86_64 \ RUN: | FileCheck %s -check-prefix macho-pa +RUN: llvm-nm -u %p/Inputs/macho-hello-g.macho-x86_64 \ +RUN: | FileCheck %s -check-prefix macho-u RUN: llvm-nm %p/Inputs/common.coff-i386 \ RUN: | FileCheck %s -check-prefix COFF-COMMON RUN: llvm-nm %p/Inputs/relocatable-with-section-address.elf-x86-64 \ @@ -70,6 +74,9 @@ ELF-o: {{.*}}/trivial-object-test.elf-i386: U SomeOtherFunction ELF-o: {{.*}}/trivial-object-test.elf-i386: 00000000 T main ELF-o: {{.*}}/trivial-object-test.elf-i386: U puts +ELF-u: U SomeOtherFunction +ELF-u: U puts + ELF64: U SomeOtherFunction ELF64: 0000000000000000 T main ELF64: U puts @@ -145,6 +152,9 @@ macho-pa: 0000000100000f30 T _main macho-pa: U _printf macho-pa: U dyld_stub_binder +macho-u: _printf +macho-u: dyld_stub_binder + Test that nm uses addresses even with ELF .o files. ELF-SEC-ADDR64: 0000000000000058 D a ELF-SEC-ADDR64-NEXT: 000000000000005c D b diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index 38c945cb94f..07a85c401a3 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -583,7 +583,7 @@ static void sortAndPrintSymbolList(SymbolicFile *Obj, bool printName, outs() << ArchiveName << ":"; outs() << CurrentFilename << ": "; } - if (JustSymbolName) { + if (JustSymbolName || (UndefinedOnly && isa(Obj))) { outs() << I->Name << "\n"; continue; } -- 2.40.0