blob: b2a196ef44fa3655ad89416976170bc8a861b9d2 [file] [log] [blame]
Matt Beaumont-Gay1c1a2b82011-10-31 23:56:52 +00001RUN: llvm-nm %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
Kevin Enderby08e1bbd2014-07-24 23:31:52 +000012RUN: llvm-nm -o %p/Inputs/archive-test.a-coff-i386 \
13RUN: | 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
Michael J. Spencer2bc774a2011-09-27 19:37:18 +000027BITCODE: U SomeOtherFunction
28BITCODE-NEXT: T main
29BITCODE-NEXT: U puts
Rafael Espindolab674c172014-07-04 15:03:17 +000030BITCODE-NEXT: D var
Rafael Espindolafbcafc02013-07-10 20:14:22 +000031
32
33Test we don't error with an archive with no symtab.
34RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab
35
36
37Or in an archive with no symtab or string table.
38RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
39
40
Alp Tokerf907b892013-12-05 05:44:44 +000041And don't crash when asked to print a non-existing symtab.
Kevin Enderby8da4bd62014-07-08 23:47:31 +000042RUN: llvm-nm -M %p/Inputs/archive-test.a-gnu-minimal
Rafael Espindolaf0c61722013-07-12 13:32:28 +000043
44Don't reject an empty archive.
45RUN: llvm-nm %p/Inputs/archive-test.a-empty
Rafael Espindola95cf2f22014-06-16 16:41:00 +000046
47This archive has an unaligned member and a unknown format member.
48GNU AR is able to parse the unaligned member and warns about the member with
49the unknown format. We should probably simply warn on both. For now just check
50that we don't produce an error.
51RUN: llvm-nm %p/Inputs/corrupt-archive.a