Fix pr17056.
[oota-llvm.git] / test / Object / nm-archive.test
1 RUN: llvm-nm %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
13 RUN: llvm-as %p/Inputs/trivial.ll -o=%t1
14 RUN: rm -f %t2
15 RUN: llvm-ar rcs %t2 %t1
16 RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
17
18 BITCODE:          U SomeOtherFunction
19 BITCODE-NEXT:          T main
20 BITCODE-NEXT:          U puts
21
22
23 Test we don't error with an archive with no symtab.
24 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab
25
26
27 Or in an archive with no symtab or string table.
28 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
29
30
31 And don't crash when asked to print a non-existing symtab.
32 RUN: llvm-nm -s %p/Inputs/archive-test.a-gnu-minimal
33
34 Don't reject an empty archive.
35 RUN: llvm-nm %p/Inputs/archive-test.a-empty
36
37 This archive has an unaligned member and a unknown format member.
38 GNU AR is able to parse the unaligned member and warns about the member with
39 the unknown format. We should probably simply warn on both. For now just check
40 that we don't produce an error.
41 RUN: llvm-nm %p/Inputs/corrupt-archive.a