| RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \ |
| RUN: | FileCheck %s -check-prefix COFF |
| |
| COFF: trivial-object-test.coff-i386: |
| COFF-NEXT: 00000000 d .data |
| COFF-NEXT: 00000000 t .text |
| COFF-NEXT: 00000000 d L_.str |
| COFF-NEXT: U _SomeOtherFunction |
| COFF-NEXT: 00000000 T _main |
| COFF-NEXT: U _puts |
| |
| RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \ |
| RUN: | FileCheck %s -check-prefix COFF-o |
| |
| COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d .data |
| COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 t .text |
| COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d L_.str |
| COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: U _SomeOtherFunction |
| COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 T _main |
| COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: U _puts |
| |
| RUN: llvm-as %p/Inputs/trivial.ll -o=%t1 |
| RUN: rm -f %t2 |
| RUN: llvm-ar rcs %t2 %t1 |
| RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE |
| |
| RUN: rm -f %t2 |
| RUN: llvm-lib /out:%t2 %t1 |
| RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE |
| |
| RUN: rm -f %t2 |
| RUN: echo /out:%t2 %t1 > %t.rsp |
| RUN: llvm-lib @%t.rsp |
| RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE |
| |
| BITCODE: U SomeOtherFunction |
| BITCODE-NEXT: T main |
| BITCODE-NEXT: U puts |
| BITCODE-NEXT: D var |
| |
| |
| Test we don't error with an archive with no symtab. |
| RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab |
| |
| |
| Or in an archive with no symtab or string table. |
| RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal |
| |
| |
| And don't crash when asked to print a non-existing symtab. |
| RUN: llvm-nm -M %p/Inputs/archive-test.a-gnu-minimal |
| |
| Don't reject an empty archive. |
| RUN: llvm-nm %p/Inputs/archive-test.a-empty |
| |
| This archive has an unaligned member and a unknown format member. |
| GNU AR is able to parse the unaligned member and warns about the member with |
| the unknown format. We should probably simply warn on both. For now we just |
| produce an error for the unknown format. |
| RUN: not llvm-nm %p/Inputs/corrupt-archive.a 2>&1 | FileCheck %s -check-prefix CORRUPT |
| CORRUPT: corrupt-archive.a(trivial-object-test2.elf-x86-64) Insufficient alignment |
| |
| |
| RUN: llvm-nm %p/Inputs/thin.a | FileCheck %s -check-prefix THIN |
| |
| THIN: IsNAN.o: |
| THIN: 00000014 T _ZN4llvm5IsNANEd |
| THIN: 00000000 T _ZN4llvm5IsNANEf |
| THIN: U __isnan |
| THIN: U __isnanf |