diff options
Diffstat (limited to 'test/Object/nm-trivial-object.test')
-rw-r--r-- | test/Object/nm-trivial-object.test | 84 |
1 files changed, 70 insertions, 14 deletions
diff --git a/test/Object/nm-trivial-object.test b/test/Object/nm-trivial-object.test index 656d6b00cd..0135f2df3c 100644 --- a/test/Object/nm-trivial-object.test +++ b/test/Object/nm-trivial-object.test @@ -1,9 +1,13 @@ -RUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-nm - \ +RUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-nm -a -S - \ RUN: | FileCheck %s -check-prefix COFF -RUN: yaml2obj %p/Inputs/COFF/x86-64.yaml | llvm-nm - \ +RUN: yaml2obj %p/Inputs/COFF/x86-64.yaml | llvm-nm -a -S - \ RUN: | FileCheck %s -check-prefix COFF 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 \ @@ -22,7 +26,17 @@ RUN: llvm-nm -j %p/Inputs/macho-text-data-bss.macho-x86_64 \ RUN: | FileCheck %s -check-prefix macho-j RUN: llvm-nm -r %p/Inputs/macho-text-data-bss.macho-x86_64 \ RUN: | FileCheck %s -check-prefix macho-r -RUN: llvm-nm %p/Inputs/common.coff-i386 \ +RUN: llvm-nm %p/Inputs/macho-text-data-bss.macho-x86_64 -s __DATA __data \ +RUN: | FileCheck %s -check-prefix macho-s +RUN: llvm-nm -x %p/Inputs/macho-text-data-bss.macho-x86_64 \ +RUN: | FileCheck %s -check-prefix macho-x +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 -S -a %p/Inputs/common.coff-i386 \ RUN: | FileCheck %s -check-prefix COFF-COMMON RUN: llvm-nm %p/Inputs/relocatable-with-section-address.elf-x86-64 \ RUN: | FileCheck %s -check-prefix ELF-SEC-ADDR64 @@ -35,20 +49,20 @@ RUN: llvm-nm | FileCheck %s -check-prefix A-OUT REQUIRES: shell -COFF: 00000000 d .data -COFF: 00000000 t .text -COFF: 00000000 d L{{_?}}.str +COFF: 00000000 {{.*}} d .data +COFF: 00000000 {{.*}} t .text +COFF: 00000000 0000000d d L{{_?}}.str COFF: U {{_?}}SomeOtherFunction -COFF: 00000000 T {{_?}}main +COFF: 00000000 {{.*}} T {{_?}}main COFF: U {{_?}}puts -COFF-COMMON: 00000000 b .bss -COFF-COMMON-NEXT: 00000000 d .data -COFF-COMMON-NEXT: 00000000 d .drectve -COFF-COMMON-NEXT: 00000000 n .file -COFF-COMMON-NEXT: 00000000 r .rdata$zzz -COFF-COMMON-NEXT: 00000000 t .text -COFF-COMMON-NEXT: C _a +COFF-COMMON: 00000000 00000000 b .bss +COFF-COMMON-NEXT: 00000000 00000000 d .data +COFF-COMMON-NEXT: 00000000 00000014 d .drectve +COFF-COMMON-NEXT: 00000000 00000000 n .file +COFF-COMMON-NEXT: 00000000 00000014 r .rdata$zzz +COFF-COMMON-NEXT: 00000000 00000000 t .text +COFF-COMMON-NEXT: 00000004 C _a ELF-NOT: U @@ -56,6 +70,13 @@ ELF: U SomeOtherFunction ELF: 00000000 T main ELF: U puts +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 @@ -99,6 +120,41 @@ macho-r-NEXT: 000000000000000c D _d macho-r-NEXT: 0000000000000070 b _b macho-r-NEXT: 0000000000000030 s EH_frame0 +macho-s: 000000000000000c D _d +macho-s-NOT: 0000000000000048 S _t.eh +macho-s-NOT: 0000000000000000 T _t +macho-s-NOT: 0000000000000070 b _b +macho-s-NOT: 0000000000000030 s EH_frame0 + +macho-x: 0000000000000030 0e 05 0000 00000010 EH_frame0 +macho-x: 0000000000000070 0e 03 0000 0000000d _b +macho-x: 000000000000000c 0f 02 0000 00000004 _d +macho-x: 0000000000000000 0f 01 0000 00000001 _t +macho-x: 0000000000000048 0f 05 0000 00000007 _t.eh + + +macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000030 s EH_frame0 +macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000070 b _b +macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 000000000000000c D _d +macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000000 T _t +macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000048 S _t.eh + +macho-pa: 0000000000000000 - 00 0000 SO /Volumes/SandBox/ +macho-pa: 0000000000000000 - 00 0000 SO hello.c +macho-pa: 0000000053c8408d - 03 0001 OSO /Volumes/SandBox/hello.o +macho-pa: 0000000100000f30 - 01 0000 BNSYM +macho-pa: 0000000100000f30 - 01 0000 FUN _main +macho-pa: 000000000000003b - 00 0000 FUN +macho-pa: 000000000000003b - 01 0000 ENSYM +macho-pa: 0000000000000000 - 01 0000 SO +macho-pa: 0000000100000000 T __mh_execute_header +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 |