Rafael Espindola | ce7f52d | 2013-07-23 10:47:01 +0000 | [diff] [blame] | 1 | RUN: rm -f %t.a |
| 2 | RUN: llvm-ar rcs %t.a %p/Inputs/trivial-object-test.elf-x86-64 %p/Inputs/trivial-object-test2.elf-x86-64 |
Kevin Enderby | 8da4bd6 | 2014-07-08 23:47:31 +0000 | [diff] [blame] | 3 | RUN: llvm-nm -M %t.a | FileCheck %s |
Rafael Espindola | ce7f52d | 2013-07-23 10:47:01 +0000 | [diff] [blame] | 4 | |
| 5 | CHECK: Archive map |
| 6 | CHECK-NEXT: main in trivial-object-test.elf-x86-64 |
| 7 | CHECK-NEXT: foo in trivial-object-test2.elf-x86-64 |
| 8 | CHECK-NEXT: main in trivial-object-test2.elf-x86-64 |
| 9 | CHECK-NOT: bar |
| 10 | |
| 11 | CHECK: trivial-object-test.elf-x86-64: |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 12 | CHECK-NEXT: U SomeOtherFunction |
| 13 | CHECK-NEXT: 0000000000000000 T main |
| 14 | CHECK-NEXT: U puts |
Kevin Enderby | 2664610 | 2014-06-20 21:29:27 +0000 | [diff] [blame] | 15 | |
| 16 | CHECK: trivial-object-test2.elf-x86-64: |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 17 | CHECK-NEXT: 0000000000000000 t bar |
| 18 | CHECK-NEXT: 0000000000000006 T foo |
| 19 | CHECK-NEXT: 0000000000000016 T main |
Rafael Espindola | b6b5f52e | 2013-07-29 12:40:31 +0000 | [diff] [blame] | 20 | |
| 21 | RUN: rm -f %t.a |
| 22 | RUN: llvm-ar rcS %t.a %p/Inputs/trivial-object-test.elf-x86-64 %p/Inputs/trivial-object-test2.elf-x86-64 |
Kevin Enderby | 8da4bd6 | 2014-07-08 23:47:31 +0000 | [diff] [blame] | 23 | RUN: llvm-nm -M %t.a | FileCheck %s --check-prefix=NOMAP |
Rafael Espindola | b6b5f52e | 2013-07-29 12:40:31 +0000 | [diff] [blame] | 24 | |
| 25 | NOMAP-NOT: Archive map |
| 26 | |
| 27 | RUN: llvm-ar s %t.a |
Kevin Enderby | 8da4bd6 | 2014-07-08 23:47:31 +0000 | [diff] [blame] | 28 | RUN: llvm-nm -M %t.a | FileCheck %s |
Rafael Espindola | b6b5f52e | 2013-07-29 12:40:31 +0000 | [diff] [blame] | 29 | |
| 30 | check that the archive does have a corrupt symbol table. |
| 31 | RUN: rm -f %t.a |
| 32 | RUN: cp %p/Inputs/archive-test.a-corrupt-symbol-table %t.a |
Kevin Enderby | 8da4bd6 | 2014-07-08 23:47:31 +0000 | [diff] [blame] | 33 | RUN: llvm-nm -M %t.a | FileCheck %s --check-prefix=CORRUPT |
Rafael Espindola | b6b5f52e | 2013-07-29 12:40:31 +0000 | [diff] [blame] | 34 | |
| 35 | CORRUPT: Archive map |
| 36 | CORRUPT-NEXT: mbin in trivial-object-test.elf-x86-64 |
| 37 | CORRUPT-NEXT: foo in trivial-object-test2.elf-x86-64 |
| 38 | CORRUPT-NEXT: main in trivial-object-test2.elf-x86-64 |
| 39 | |
| 40 | CORRUPT: trivial-object-test.elf-x86-64: |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 41 | CORRUPT-NEXT: U SomeOtherFunction |
| 42 | CORRUPT-NEXT: 0000000000000000 T main |
| 43 | CORRUPT-NEXT: U puts |
Kevin Enderby | 2664610 | 2014-06-20 21:29:27 +0000 | [diff] [blame] | 44 | |
| 45 | CORRUPT: trivial-object-test2.elf-x86-64: |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 46 | CORRUPT-NEXT: 0000000000000000 t bar |
| 47 | CORRUPT-NEXT: 0000000000000006 T foo |
| 48 | CORRUPT-NEXT: 0000000000000016 T main |
Rafael Espindola | b6b5f52e | 2013-07-29 12:40:31 +0000 | [diff] [blame] | 49 | |
| 50 | check that the we *don't* update the symbol table. |
| 51 | RUN: llvm-ar s %t.a |
Kevin Enderby | 8da4bd6 | 2014-07-08 23:47:31 +0000 | [diff] [blame] | 52 | RUN: llvm-nm -M %t.a | FileCheck %s --check-prefix=CORRUPT |
Rafael Espindola | 0c8a352 | 2013-08-28 16:22:16 +0000 | [diff] [blame] | 53 | |
| 54 | repeate the test with llvm-ranlib |
| 55 | |
| 56 | RUN: rm -f %t.a |
| 57 | RUN: llvm-ar rcS %t.a %p/Inputs/trivial-object-test.elf-x86-64 %p/Inputs/trivial-object-test2.elf-x86-64 |
Kevin Enderby | 8da4bd6 | 2014-07-08 23:47:31 +0000 | [diff] [blame] | 58 | RUN: llvm-nm -M %t.a | FileCheck %s --check-prefix=NOMAP |
Rafael Espindola | 0c8a352 | 2013-08-28 16:22:16 +0000 | [diff] [blame] | 59 | |
| 60 | RUN: llvm-ranlib %t.a |
Kevin Enderby | 8da4bd6 | 2014-07-08 23:47:31 +0000 | [diff] [blame] | 61 | RUN: llvm-nm -M %t.a | FileCheck %s |
Kevin Enderby | 8c50dbb | 2014-07-08 22:10:02 +0000 | [diff] [blame] | 62 | |
Kevin Enderby | 8da4bd6 | 2014-07-08 23:47:31 +0000 | [diff] [blame] | 63 | RUN: llvm-nm -M %p/Inputs/macho-archive-x86_64.a | FileCheck %s --check-prefix=BSD-MachO |
Nick Kledzik | f44dbda | 2014-11-12 01:37:45 +0000 | [diff] [blame] | 64 | RUN: llvm-nm -M %p/Inputs/macho-archive-unsorted-x86_64.a | FileCheck %s --check-prefix=BSD-MachO |
Kevin Enderby | 8c50dbb | 2014-07-08 22:10:02 +0000 | [diff] [blame] | 65 | |
| 66 | BSD-MachO: Archive map |
| 67 | BSD-MachO: _bar in bar.o |
| 68 | BSD-MachO: _foo in foo.o |