1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00
llvm-mirror/test/Object/nm-archive.test
Nico Weber 7e1f295d71 Attempt to fix nm-archive.test after r362798
llvm-lib now needs a `target triple` for bitcode, so add a new file
that's like trivial.ll but has one, and use that in the test.
(trivial.ll had a comment that looked like it wasn't supposed to be used
in tests directly, so I don't want to change that file.)

llvm-svn: 362809
2019-06-07 16:06:27 +00:00

71 lines
2.4 KiB
Plaintext

RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \
RUN: | FileCheck %s -check-prefix COFF
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
RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \
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
RUN: llvm-as %p/Inputs/small.ll -o=%t1
RUN: rm -f %t2
RUN: llvm-ar rcs %t2 %t1
RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
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
BITCODE: U SomeOtherFunction
BITCODE-NEXT: T main
BITCODE-NEXT: U puts
BITCODE-NEXT: D var
Test we don't error with an archive with no symtab.
RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab
Or in an archive with no symtab or string table.
RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
And don't crash when asked to print a non-existing symtab.
RUN: llvm-nm -M %p/Inputs/archive-test.a-gnu-minimal
Don't reject an empty archive.
RUN: llvm-nm %p/Inputs/archive-test.a-empty
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 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) Insufficient alignment
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