2014-10-31 05:07:00 +00:00
|
|
|
RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \
|
2011-09-27 19:37:18 +00:00
|
|
|
RUN: | FileCheck %s -check-prefix COFF
|
2013-07-03 15:57:14 +00:00
|
|
|
|
2013-07-10 20:14:22 +00:00
|
|
|
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
|
|
|
|
|
2014-10-31 05:07:00 +00:00
|
|
|
RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \
|
2014-07-24 23:31:52 +00:00
|
|
|
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
|
2013-07-10 20:14:22 +00:00
|
|
|
|
2011-10-31 23:56:52 +00:00
|
|
|
RUN: llvm-as %p/Inputs/trivial.ll -o=%t1
|
2013-06-20 13:44:49 +00:00
|
|
|
RUN: rm -f %t2
|
2011-10-25 22:30:58 +00:00
|
|
|
RUN: llvm-ar rcs %t2 %t1
|
|
|
|
RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
|
2011-09-27 19:37:18 +00:00
|
|
|
|
2015-06-09 21:50:22 +00:00
|
|
|
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
|
|
|
|
|
2013-07-10 20:14:22 +00:00
|
|
|
BITCODE: U SomeOtherFunction
|
|
|
|
BITCODE-NEXT: T main
|
|
|
|
BITCODE-NEXT: U puts
|
2014-07-04 15:03:17 +00:00
|
|
|
BITCODE-NEXT: D var
|
2013-07-10 20:14:22 +00:00
|
|
|
|
|
|
|
|
2013-07-03 15:57:14 +00:00
|
|
|
Test we don't error with an archive with no symtab.
|
|
|
|
RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab
|
2011-09-27 19:37:18 +00:00
|
|
|
|
2013-07-10 20:14:22 +00:00
|
|
|
|
2013-07-04 19:40:23 +00:00
|
|
|
Or in an archive with no symtab or string table.
|
|
|
|
RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
|
|
|
|
|
2011-09-27 19:37:18 +00:00
|
|
|
|
2013-12-05 05:44:44 +00:00
|
|
|
And don't crash when asked to print a non-existing symtab.
|
2014-07-08 23:47:31 +00:00
|
|
|
RUN: llvm-nm -M %p/Inputs/archive-test.a-gnu-minimal
|
2013-07-12 13:32:28 +00:00
|
|
|
|
|
|
|
Don't reject an empty archive.
|
|
|
|
RUN: llvm-nm %p/Inputs/archive-test.a-empty
|
2014-06-16 16:41:00 +00:00
|
|
|
|
|
|
|
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 just check
|
|
|
|
that we don't produce an error.
|
|
|
|
RUN: llvm-nm %p/Inputs/corrupt-archive.a
|
2015-07-22 18:29:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
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
|