71 lines · plain
1RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \2RUN: | FileCheck %s -check-prefix COFF3 4COFF: trivial-object-test.coff-i386:5COFF-NEXT: 00000000 d .data6COFF-NEXT: 00000000 t .text7COFF-NEXT: 00000000 d L_.str8COFF-NEXT: U _SomeOtherFunction9COFF-NEXT: 00000000 T _main10COFF-NEXT: U _puts11 12RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \13RUN: | FileCheck %s -check-prefix COFF-o14 15COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d .data16COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 t .text17COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d L_.str18COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: U _SomeOtherFunction19COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 T _main20COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: U _puts21 22RUN: llvm-as %p/Inputs/small.ll -o=%t123RUN: rm -f %t224RUN: llvm-ar rcs %t2 %t125RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE26 27RUN: rm -f %t228RUN: llvm-lib /out:%t2 %t129RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE30 31RUN: rm -f %t232RUN: echo /out:%t2 %t1 > %t.rsp33RUN: llvm-lib @%t.rsp34RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE35 36BITCODE: U SomeOtherFunction37BITCODE-NEXT: T main38BITCODE-NEXT: U puts39BITCODE-NEXT: D var40 41 42Test we don't error with an archive with no symtab.43RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab44 45 46Or in an archive with no symtab or string table.47RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal48 49 50And don't crash when asked to print a non-existing symtab.51RUN: llvm-nm --print-armap %p/Inputs/archive-test.a-gnu-minimal52 53Don't reject an empty archive.54RUN: llvm-nm %p/Inputs/archive-test.a-empty55 56This archive has an unaligned member and a unknown format member.57GNU AR is able to parse the unaligned member and warns about the member with58the unknown format. We should probably simply warn on both. For now we just59produce an error for the unknown format.60RUN: not llvm-nm %p/Inputs/corrupt-archive.a 2>&1 | FileCheck %s -check-prefix CORRUPT61CORRUPT: corrupt-archive.a(trivial-object-test2.elf-x86-64): Insufficient alignment62 63 64RUN: llvm-nm %p/Inputs/thin.a | FileCheck %s -check-prefix THIN65 66THIN: IsNAN.o:67THIN: 00000014 T _ZN4llvm5IsNANEd68THIN: 00000000 T _ZN4llvm5IsNANEf69THIN: U __isnan70THIN: U __isnanf71