1*9880d681SAndroid Build Coastguard WorkerRUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-nm -a -S - \ 2*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix COFF32 3*9880d681SAndroid Build Coastguard WorkerRUN: yaml2obj %p/Inputs/COFF/x86-64.yaml | llvm-nm -a -S - \ 4*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix COFF64 5*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/trivial-object-test.elf-i386 \ 6*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix ELF 7*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/trivial-object-test.elf-i386 -S \ 8*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix ELF-SIZE 9*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -o %p/Inputs/trivial-object-test.elf-i386 \ 10*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix ELF-o 11*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -u %p/Inputs/trivial-object-test.elf-i386 \ 12*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix ELF-u 13*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/trivial-object-test.elf-x86-64 \ 14*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix ELF64 15*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/weak.elf-x86-64 \ 16*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix WEAK-ELF64 17*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/absolute.elf-x86-64 \ 18*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix ABSOLUTE-ELF64 19*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/trivial-object-test.macho-i386 \ 20*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho 21*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -U %p/Inputs/trivial-object-test.macho-i386 \ 22*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho-U 23*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/trivial-object-test.macho-x86-64 \ 24*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho64 25*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/macho-text-data-bss.macho-x86_64 \ 26*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho-tdb 27*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -j %p/Inputs/macho-text-data-bss.macho-x86_64 \ 28*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho-j 29*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -r %p/Inputs/macho-text-data-bss.macho-x86_64 \ 30*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho-r 31*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/macho-text-data-bss.macho-x86_64 -s __DATA __data \ 32*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho-s 33*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -x %p/Inputs/macho-text-data-bss.macho-x86_64 \ 34*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho-x 35*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -o %p/Inputs/macho-text-data-bss.macho-x86_64 \ 36*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho-o 37*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -p -a %p/Inputs/macho-hello-g.macho-x86_64 \ 38*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho-pa 39*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -u %p/Inputs/macho-hello-g.macho-x86_64 \ 40*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix macho-u 41*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm -S -a %p/Inputs/common.coff-i386 \ 42*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix COFF-COMMON 43*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/relocatable-with-section-address.elf-x86-64 \ 44*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix ELF-SEC-ADDR64 45*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm %p/Inputs/thumb-symbols.elf.arm \ 46*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s -check-prefix ELF-THUMB 47*9880d681SAndroid Build Coastguard WorkerRUN: mkdir -p %t 48*9880d681SAndroid Build Coastguard WorkerRUN: cd %t 49*9880d681SAndroid Build Coastguard WorkerRUN: cp %p/Inputs/trivial-object-test.macho-i386 a.out 50*9880d681SAndroid Build Coastguard WorkerRUN: llvm-nm | FileCheck %s -check-prefix A-OUT 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard WorkerCOFF32: 00000000 d .data 54*9880d681SAndroid Build Coastguard WorkerCOFF32-NEXT: 00000000 t .text 55*9880d681SAndroid Build Coastguard WorkerCOFF32-NEXT: 00000000 d L_.str 56*9880d681SAndroid Build Coastguard WorkerCOFF32-NEXT: U _SomeOtherFunction 57*9880d681SAndroid Build Coastguard WorkerCOFF32-NEXT: 00000000 T _main 58*9880d681SAndroid Build Coastguard WorkerCOFF32-NEXT: U _puts 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard WorkerCOFF64: 00000000 d .data 61*9880d681SAndroid Build Coastguard WorkerCOFF64-NEXT: 00000000 t .text 62*9880d681SAndroid Build Coastguard WorkerCOFF64-NEXT: 00000000 r ??__Ex@@YAXXZ 63*9880d681SAndroid Build Coastguard WorkerCOFF64-NEXT: 00000000 d L.str 64*9880d681SAndroid Build Coastguard WorkerCOFF64-NEXT: U SomeOtherFunction 65*9880d681SAndroid Build Coastguard WorkerCOFF64-NEXT: 00000000 T main 66*9880d681SAndroid Build Coastguard WorkerCOFF64-NEXT: U puts 67*9880d681SAndroid Build Coastguard Worker 68*9880d681SAndroid Build Coastguard WorkerCOFF-COMMON: 00000000 b .bss 69*9880d681SAndroid Build Coastguard WorkerCOFF-COMMON-NEXT: 00000000 d .data 70*9880d681SAndroid Build Coastguard WorkerCOFF-COMMON-NEXT: 00000000 d .drectve 71*9880d681SAndroid Build Coastguard WorkerCOFF-COMMON-NEXT: 00000000 n .file 72*9880d681SAndroid Build Coastguard WorkerCOFF-COMMON-NEXT: 00000000 r .rdata$zzz 73*9880d681SAndroid Build Coastguard WorkerCOFF-COMMON-NEXT: 00000000 t .text 74*9880d681SAndroid Build Coastguard WorkerCOFF-COMMON-NEXT: C _a 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard WorkerELF-NOT: U 78*9880d681SAndroid Build Coastguard WorkerELF: U SomeOtherFunction 79*9880d681SAndroid Build Coastguard WorkerELF: 00000000 T main 80*9880d681SAndroid Build Coastguard WorkerELF: U puts 81*9880d681SAndroid Build Coastguard Worker 82*9880d681SAndroid Build Coastguard WorkerFIXME: we should not print the size of undefined symbols. 83*9880d681SAndroid Build Coastguard WorkerELF-SIZE: 00000000 U SomeOtherFunction 84*9880d681SAndroid Build Coastguard WorkerELF-SIZE-NEXT: 00000000 00000024 T main 85*9880d681SAndroid Build Coastguard WorkerELF-SIZE-NEXT: 00000000 U puts 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard WorkerELF-o: {{.*}}/trivial-object-test.elf-i386: U SomeOtherFunction 88*9880d681SAndroid Build Coastguard WorkerELF-o: {{.*}}/trivial-object-test.elf-i386: 00000000 T main 89*9880d681SAndroid Build Coastguard WorkerELF-o: {{.*}}/trivial-object-test.elf-i386: U puts 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard WorkerELF-u: U SomeOtherFunction 92*9880d681SAndroid Build Coastguard WorkerELF-u: U puts 93*9880d681SAndroid Build Coastguard Worker 94*9880d681SAndroid Build Coastguard WorkerELF64: U SomeOtherFunction 95*9880d681SAndroid Build Coastguard WorkerELF64: 0000000000000000 T main 96*9880d681SAndroid Build Coastguard WorkerELF64: U puts 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard WorkerWEAK-ELF64: w f1 99*9880d681SAndroid Build Coastguard WorkerWEAK-ELF64: 0000000000000000 W f2 100*9880d681SAndroid Build Coastguard WorkerWEAK-ELF64: v x1 101*9880d681SAndroid Build Coastguard WorkerWEAK-ELF64: 0000000000000000 V x2 102*9880d681SAndroid Build Coastguard Worker 103*9880d681SAndroid Build Coastguard WorkerABSOLUTE-ELF64: 0000000000000123 a a1 104*9880d681SAndroid Build Coastguard WorkerABSOLUTE-ELF64: 0000000000000123 A a2 105*9880d681SAndroid Build Coastguard Worker 106*9880d681SAndroid Build Coastguard Workermacho: U _SomeOtherFunction 107*9880d681SAndroid Build Coastguard Workermacho: 00000000 T _main 108*9880d681SAndroid Build Coastguard Workermacho: U _puts 109*9880d681SAndroid Build Coastguard Worker 110*9880d681SAndroid Build Coastguard Workermacho-U-NOT: U _SomeOtherFunction 111*9880d681SAndroid Build Coastguard Workermacho-U: 00000000 T _main 112*9880d681SAndroid Build Coastguard Workermacho-U-NOT: U _puts 113*9880d681SAndroid Build Coastguard Worker 114*9880d681SAndroid Build Coastguard Workermacho64: 0000000000000028 s L_.str 115*9880d681SAndroid Build Coastguard Workermacho64: U _SomeOtherFunction 116*9880d681SAndroid Build Coastguard Workermacho64: 0000000000000000 T _main 117*9880d681SAndroid Build Coastguard Workermacho64: U _puts 118*9880d681SAndroid Build Coastguard Worker 119*9880d681SAndroid Build Coastguard Workermacho-tdb: 0000000000000030 s EH_frame0 120*9880d681SAndroid Build Coastguard Workermacho-tdb: 0000000000000070 b _b 121*9880d681SAndroid Build Coastguard Workermacho-tdb: 000000000000000c D _d 122*9880d681SAndroid Build Coastguard Workermacho-tdb: 0000000000000000 T _t 123*9880d681SAndroid Build Coastguard Workermacho-tdb: 0000000000000048 S _t.eh 124*9880d681SAndroid Build Coastguard Worker 125*9880d681SAndroid Build Coastguard Workermacho-j: EH_frame0 126*9880d681SAndroid Build Coastguard Workermacho-j: _b 127*9880d681SAndroid Build Coastguard Workermacho-j: _d 128*9880d681SAndroid Build Coastguard Workermacho-j: _t 129*9880d681SAndroid Build Coastguard Workermacho-j: _t.eh 130*9880d681SAndroid Build Coastguard Worker 131*9880d681SAndroid Build Coastguard Workermacho-r: 0000000000000048 S _t.eh 132*9880d681SAndroid Build Coastguard Workermacho-r-NEXT: 0000000000000000 T _t 133*9880d681SAndroid Build Coastguard Workermacho-r-NEXT: 000000000000000c D _d 134*9880d681SAndroid Build Coastguard Workermacho-r-NEXT: 0000000000000070 b _b 135*9880d681SAndroid Build Coastguard Workermacho-r-NEXT: 0000000000000030 s EH_frame0 136*9880d681SAndroid Build Coastguard Worker 137*9880d681SAndroid Build Coastguard Workermacho-s: 000000000000000c D _d 138*9880d681SAndroid Build Coastguard Workermacho-s-NOT: 0000000000000048 S _t.eh 139*9880d681SAndroid Build Coastguard Workermacho-s-NOT: 0000000000000000 T _t 140*9880d681SAndroid Build Coastguard Workermacho-s-NOT: 0000000000000070 b _b 141*9880d681SAndroid Build Coastguard Workermacho-s-NOT: 0000000000000030 s EH_frame0 142*9880d681SAndroid Build Coastguard Worker 143*9880d681SAndroid Build Coastguard Workermacho-x: 0000000000000030 0e 05 0000 00000010 EH_frame0 144*9880d681SAndroid Build Coastguard Workermacho-x: 0000000000000070 0e 03 0000 0000000d _b 145*9880d681SAndroid Build Coastguard Workermacho-x: 000000000000000c 0f 02 0000 00000004 _d 146*9880d681SAndroid Build Coastguard Workermacho-x: 0000000000000000 0f 01 0000 00000001 _t 147*9880d681SAndroid Build Coastguard Workermacho-x: 0000000000000048 0f 05 0000 00000007 _t.eh 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Worker 150*9880d681SAndroid Build Coastguard Workermacho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000030 s EH_frame0 151*9880d681SAndroid Build Coastguard Workermacho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000070 b _b 152*9880d681SAndroid Build Coastguard Workermacho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 000000000000000c D _d 153*9880d681SAndroid Build Coastguard Workermacho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000000 T _t 154*9880d681SAndroid Build Coastguard Workermacho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000048 S _t.eh 155*9880d681SAndroid Build Coastguard Worker 156*9880d681SAndroid Build Coastguard Workermacho-pa: 0000000000000000 - 00 0000 SO /Volumes/SandBox/ 157*9880d681SAndroid Build Coastguard Workermacho-pa: 0000000000000000 - 00 0000 SO hello.c 158*9880d681SAndroid Build Coastguard Workermacho-pa: 0000000053c8408d - 03 0001 OSO /Volumes/SandBox/hello.o 159*9880d681SAndroid Build Coastguard Workermacho-pa: 0000000100000f30 - 01 0000 BNSYM 160*9880d681SAndroid Build Coastguard Workermacho-pa: 0000000100000f30 - 01 0000 FUN _main 161*9880d681SAndroid Build Coastguard Workermacho-pa: 000000000000003b - 00 0000 FUN 162*9880d681SAndroid Build Coastguard Workermacho-pa: 000000000000003b - 01 0000 ENSYM 163*9880d681SAndroid Build Coastguard Workermacho-pa: 0000000000000000 - 01 0000 SO 164*9880d681SAndroid Build Coastguard Workermacho-pa: 0000000100000000 T __mh_execute_header 165*9880d681SAndroid Build Coastguard Workermacho-pa: 0000000100000f30 T _main 166*9880d681SAndroid Build Coastguard Workermacho-pa: U _printf 167*9880d681SAndroid Build Coastguard Workermacho-pa: U dyld_stub_binder 168*9880d681SAndroid Build Coastguard Worker 169*9880d681SAndroid Build Coastguard Workermacho-u: _printf 170*9880d681SAndroid Build Coastguard Workermacho-u: dyld_stub_binder 171*9880d681SAndroid Build Coastguard Worker 172*9880d681SAndroid Build Coastguard WorkerTest that nm uses addresses even with ELF .o files. 173*9880d681SAndroid Build Coastguard WorkerELF-SEC-ADDR64: 0000000000000058 D a 174*9880d681SAndroid Build Coastguard WorkerELF-SEC-ADDR64-NEXT: 000000000000005c D b 175*9880d681SAndroid Build Coastguard WorkerELF-SEC-ADDR64-NEXT: 0000000000000040 T f 176*9880d681SAndroid Build Coastguard WorkerELF-SEC-ADDR64-NEXT: 0000000000000050 T g 177*9880d681SAndroid Build Coastguard WorkerELF-SEC-ADDR64-NEXT: 0000000000000060 D p 178*9880d681SAndroid Build Coastguard Worker 179*9880d681SAndroid Build Coastguard Worker 180*9880d681SAndroid Build Coastguard WorkerTest that we drop the thumb bit only from function addresses. 181*9880d681SAndroid Build Coastguard WorkerELF-THUMB: 00000000 t f 182*9880d681SAndroid Build Coastguard WorkerELF-THUMB: 00000003 t g 183*9880d681SAndroid Build Coastguard Worker 184*9880d681SAndroid Build Coastguard WorkerA-OUT: U _SomeOtherFunction 185*9880d681SAndroid Build Coastguard WorkerA-OUT: 00000000 T _main 186*9880d681SAndroid Build Coastguard WorkerA-OUT: U _puts 187