1 RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \ 2 RUN: | FileCheck %s -check-prefix COFF 3 4 COFF: trivial-object-test.coff-i386: 5 COFF-NEXT: 00000000 d .data 6 COFF-NEXT: 00000000 t .text 7 COFF-NEXT: 00000000 d L_.str 8 COFF-NEXT: U _SomeOtherFunction 9 COFF-NEXT: 00000000 T _main 10 COFF-NEXT: U _puts 11 12 RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \ 13 RUN: | FileCheck %s -check-prefix COFF-o 14 15 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d .data 16 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 t .text 17 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d L_.str 18 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: U _SomeOtherFunction 19 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 T _main 20 COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: U _puts 21 22 RUN: llvm-as %p/Inputs/trivial.ll -o=%t1 23 RUN: rm -f %t2 24 RUN: llvm-ar rcs %t2 %t1 25 RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE 26 27 RUN: rm -f %t2 28 RUN: llvm-lib /out:%t2 %t1 29 RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE 30 31 RUN: rm -f %t2 32 RUN: echo /out:%t2 %t1 > %t.rsp 33 RUN: llvm-lib @%t.rsp 34 RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE 35 36 BITCODE: U SomeOtherFunction 37 BITCODE-NEXT: T main 38 BITCODE-NEXT: U puts 39 BITCODE-NEXT: D var 40 41 42 Test we don't error with an archive with no symtab. 43 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab 44 45 46 Or in an archive with no symtab or string table. 47 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal 48 49 50 And don't crash when asked to print a non-existing symtab. 51 RUN: llvm-nm -M %p/Inputs/archive-test.a-gnu-minimal 52 53 Don't reject an empty archive. 54 RUN: llvm-nm %p/Inputs/archive-test.a-empty 55 56 This archive has an unaligned member and a unknown format member. 57 GNU AR is able to parse the unaligned member and warns about the member with 58 the unknown format. We should probably simply warn on both. For now just check 59 that we don't produce an error. 60 RUN: llvm-nm %p/Inputs/corrupt-archive.a 61 62 63 RUN: llvm-nm %p/Inputs/thin.a | FileCheck %s -check-prefix THIN 64 65 THIN: IsNAN.o: 66 THIN: 00000014 T _ZN4llvm5IsNANEd 67 THIN: 00000000 T _ZN4llvm5IsNANEf 68 THIN: U __isnan 69 THIN: U __isnanf 70