| 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 |