blob: 4cd58d33cf28b53151ed39d970054dc9b53cbfea [file] [log] [blame]
David Majnemerc7d7c6f2014-10-31 05:07:00 +00001RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \
Michael J. Spencer2bc774a2011-09-27 19:37:18 +00002RUN: | FileCheck %s -check-prefix COFF
Rafael Espindola88ae7dd2013-07-03 15:57:14 +00003
Michael J. Spencer2bc774a2011-09-27 19:37:18 +00004COFF: trivial-object-test.coff-i386:
5COFF-NEXT: 00000000 d .data
6COFF-NEXT: 00000000 t .text
7COFF-NEXT: 00000000 d L_.str
8COFF-NEXT: U _SomeOtherFunction
9COFF-NEXT: 00000000 T _main
10COFF-NEXT: U _puts
11
David Majnemerc7d7c6f2014-10-31 05:07:00 +000012RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \
Kevin Enderby08e1bbd2014-07-24 23:31:52 +000013RUN: | FileCheck %s -check-prefix COFF-o
14
15COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d .data
16COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 t .text
17COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d L_.str
18COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: U _SomeOtherFunction
19COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 T _main
20COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: U _puts
Rafael Espindolafbcafc02013-07-10 20:14:22 +000021
22RUN: llvm-as %p/Inputs/trivial.ll -o=%t1
23RUN: rm -f %t2
24RUN: llvm-ar rcs %t2 %t1
25RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
26
Peter Collingbournebc051632015-06-09 21:50:22 +000027RUN: rm -f %t2
28RUN: llvm-lib /out:%t2 %t1
29RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
30
31RUN: rm -f %t2
32RUN: echo /out:%t2 %t1 > %t.rsp
33RUN: llvm-lib @%t.rsp
34RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
35
Michael J. Spencer2bc774a2011-09-27 19:37:18 +000036BITCODE: U SomeOtherFunction
37BITCODE-NEXT: T main
38BITCODE-NEXT: U puts
Rafael Espindolab674c172014-07-04 15:03:17 +000039BITCODE-NEXT: D var
Rafael Espindolafbcafc02013-07-10 20:14:22 +000040
41
42Test we don't error with an archive with no symtab.
43RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab
44
45
46Or in an archive with no symtab or string table.
47RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
48
49
Alp Tokerf907b892013-12-05 05:44:44 +000050And don't crash when asked to print a non-existing symtab.
Kevin Enderby8da4bd62014-07-08 23:47:31 +000051RUN: llvm-nm -M %p/Inputs/archive-test.a-gnu-minimal
Rafael Espindolaf0c61722013-07-12 13:32:28 +000052
53Don't reject an empty archive.
54RUN: llvm-nm %p/Inputs/archive-test.a-empty
Rafael Espindola95cf2f22014-06-16 16:41:00 +000055
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 with
58the unknown format. We should probably simply warn on both. For now just check
59that we don't produce an error.
60RUN: llvm-nm %p/Inputs/corrupt-archive.a