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