2014-10-31 13:07:00 +08:00
|
|
|
RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \
|
2011-09-28 03:37:18 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix COFF
|
2013-07-03 23:57:14 +08:00
|
|
|
|
2013-07-11 04:14:22 +08: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 13:07:00 +08:00
|
|
|
RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \
|
2014-07-25 07:31:52 +08: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-11 04:14:22 +08:00
|
|
|
|
2011-11-01 07:56:52 +08:00
|
|
|
RUN: llvm-as %p/Inputs/trivial.ll -o=%t1
|
2013-06-20 21:44:49 +08:00
|
|
|
RUN: rm -f %t2
|
2011-10-26 06:30:58 +08:00
|
|
|
RUN: llvm-ar rcs %t2 %t1
|
|
|
|
RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
|
2011-09-28 03:37:18 +08:00
|
|
|
|
2015-06-10 05:50:22 +08: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-11 04:14:22 +08:00
|
|
|
BITCODE: U SomeOtherFunction
|
|
|
|
BITCODE-NEXT: T main
|
|
|
|
BITCODE-NEXT: U puts
|
2014-07-04 23:03:17 +08:00
|
|
|
BITCODE-NEXT: D var
|
2013-07-11 04:14:22 +08:00
|
|
|
|
|
|
|
|
2013-07-03 23:57:14 +08: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-28 03:37:18 +08:00
|
|
|
|
2013-07-11 04:14:22 +08:00
|
|
|
|
2013-07-05 03:40:23 +08:00
|
|
|
Or in an archive with no symtab or string table.
|
|
|
|
RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
|
|
|
|
|
2011-09-28 03:37:18 +08:00
|
|
|
|
2013-12-05 13:44:44 +08:00
|
|
|
And don't crash when asked to print a non-existing symtab.
|
2014-07-09 07:47:31 +08:00
|
|
|
RUN: llvm-nm -M %p/Inputs/archive-test.a-gnu-minimal
|
2013-07-12 21:32:28 +08:00
|
|
|
|
|
|
|
Don't reject an empty archive.
|
|
|
|
RUN: llvm-nm %p/Inputs/archive-test.a-empty
|
2014-06-17 00:41:00 +08: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
|
2016-05-18 01:10:12 +08:00
|
|
|
the unknown format. We should probably simply warn on both. For now we just
|
|
|
|
produce an error for the unknown format.
|
|
|
|
RUN: not llvm-nm %p/Inputs/corrupt-archive.a 2>&1 | FileCheck %s -check-prefix CORRUPT
|
|
|
|
CORRUPT: corrupt-archive.a(trivial-object-test2.elf-x86-64) Invalid data was encountered while parsing the file
|
2015-07-23 02:29:39 +08: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
|