[llvm-readobj] - Simplify stack-sizes.test test case.
[llvm-complete.git] / test / Object / nm-archive.test
blob89e88fe3ee14edee5a2ae5a88e46a921373d00d2
1 RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \
2 RUN:         | FileCheck %s -check-prefix COFF
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
12 RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \
13 RUN:         | FileCheck %s -check-prefix COFF-o
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
22 RUN: llvm-as %p/Inputs/small.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
27 RUN: rm -f %t2
28 RUN: llvm-lib /out:%t2 %t1
29 RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
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
36 BITCODE:          U SomeOtherFunction
37 BITCODE-NEXT:          T main
38 BITCODE-NEXT:          U puts
39 BITCODE-NEXT:          D var
42 Test we don't error with an archive with no symtab.
43 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab
46 Or in an archive with no symtab or string table.
47 RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
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
53 Don't reject an empty archive.
54 RUN: llvm-nm %p/Inputs/archive-test.a-empty
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 we just
59 produce an error for the unknown format.
60 RUN: not llvm-nm %p/Inputs/corrupt-archive.a 2>&1 | FileCheck %s -check-prefix CORRUPT
61 CORRUPT: corrupt-archive.a(trivial-object-test2.elf-x86-64) Insufficient alignment
64 RUN: llvm-nm %p/Inputs/thin.a | FileCheck %s -check-prefix THIN
66 THIN: IsNAN.o:
67 THIN: 00000014 T _ZN4llvm5IsNANEd
68 THIN: 00000000 T _ZN4llvm5IsNANEf
69 THIN:          U __isnan
70 THIN:          U __isnanf