mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-25 21:46:50 +00:00
7f2f94faeb
This makes llvm-nm ignore members that are not sufficiently aligned for lib/Object to handle. These archives are invalid. GNU AR is able to handle this, but in general just warns about broken archive members. We should probably start warning too, but for now just make sure llvm-nm exits with an 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211036 91177308-0d34-0410-b5e6-96231b3b80d8
42 lines
1.2 KiB
Plaintext
42 lines
1.2 KiB
Plaintext
RUN: llvm-nm %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-as %p/Inputs/trivial.ll -o=%t1
|
|
RUN: rm -f %t2
|
|
RUN: llvm-ar rcs %t2 %t1
|
|
RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
|
|
|
|
BITCODE: U SomeOtherFunction
|
|
BITCODE-NEXT: T main
|
|
BITCODE-NEXT: U puts
|
|
|
|
|
|
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 -s %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 just check
|
|
that we don't produce an error.
|
|
RUN: llvm-nm %p/Inputs/corrupt-archive.a
|