Kevin Enderby | 4fc2edb | 2014-06-23 20:27:53 +0000 | [diff] [blame^] | 1 | RUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-nm - \ |
Matt Beaumont-Gay | 99fc2e1 | 2012-08-02 21:52:49 +0000 | [diff] [blame] | 2 | RUN: | FileCheck %s -check-prefix COFF |
Kevin Enderby | 4fc2edb | 2014-06-23 20:27:53 +0000 | [diff] [blame^] | 3 | RUN: yaml2obj %p/Inputs/COFF/x86-64.yaml | llvm-nm - \ |
Rafael Espindola | 3721257 | 2013-04-26 17:54:46 +0000 | [diff] [blame] | 4 | RUN: | FileCheck %s -check-prefix COFF |
Matt Beaumont-Gay | 1c1a2b8 | 2011-10-31 23:56:52 +0000 | [diff] [blame] | 5 | RUN: llvm-nm %p/Inputs/trivial-object-test.elf-i386 \ |
Michael J. Spencer | 2d67ed8 | 2011-01-20 06:39:15 +0000 | [diff] [blame] | 6 | RUN: | FileCheck %s -check-prefix ELF |
Matt Beaumont-Gay | 1c1a2b8 | 2011-10-31 23:56:52 +0000 | [diff] [blame] | 7 | RUN: llvm-nm %p/Inputs/trivial-object-test.elf-x86-64 \ |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 8 | RUN: | FileCheck %s -check-prefix ELF64 |
Rafael Espindola | f42c58d | 2014-02-04 23:53:15 +0000 | [diff] [blame] | 9 | RUN: llvm-nm %p/Inputs/weak.elf-x86-64 \ |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 10 | RUN: | FileCheck %s -check-prefix WEAK-ELF64 |
Rafael Espindola | 02eac9a | 2014-02-05 04:36:47 +0000 | [diff] [blame] | 11 | RUN: llvm-nm %p/Inputs/absolute.elf-x86-64 \ |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 12 | RUN: | FileCheck %s -check-prefix ABSOLUTE-ELF64 |
Danil Malyshev | cbe72fc | 2011-11-29 17:40:10 +0000 | [diff] [blame] | 13 | RUN: llvm-nm %p/Inputs/trivial-object-test.macho-i386 \ |
| 14 | RUN: | FileCheck %s -check-prefix macho |
| 15 | RUN: llvm-nm %p/Inputs/trivial-object-test.macho-x86-64 \ |
| 16 | RUN: | FileCheck %s -check-prefix macho64 |
Kevin Enderby | 1e1b992 | 2014-06-19 22:49:21 +0000 | [diff] [blame] | 17 | RUN: llvm-nm %p/Inputs/macho-text-data-bss.macho-x86_64 \ |
| 18 | RUN: | FileCheck %s -check-prefix macho-tdb |
Rafael Espindola | fb66ef0 | 2014-02-04 23:18:52 +0000 | [diff] [blame] | 19 | RUN: llvm-nm %p/Inputs/common.coff-i386 \ |
| 20 | RUN: | FileCheck %s -check-prefix COFF-COMMON |
Rafael Espindola | b4865d6 | 2014-04-03 00:19:35 +0000 | [diff] [blame] | 21 | RUN: llvm-nm %p/Inputs/relocatable-with-section-address.elf-x86-64 \ |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 22 | RUN: | FileCheck %s -check-prefix ELF-SEC-ADDR64 |
Rafael Espindola | 5091f93 | 2014-04-03 02:20:43 +0000 | [diff] [blame] | 23 | RUN: llvm-nm %p/Inputs/thumb-symbols.elf.arm \ |
| 24 | RUN: | FileCheck %s -check-prefix ELF-THUMB |
Kevin Enderby | 4fc2edb | 2014-06-23 20:27:53 +0000 | [diff] [blame^] | 25 | RUN: mkdir -p %t |
| 26 | RUN: cd %t |
| 27 | RUN: cp %p/Inputs/trivial-object-test.macho-i386 a.out |
| 28 | RUN: llvm-nm | FileCheck %s -check-prefix A-OUT |
Rafael Espindola | 5091f93 | 2014-04-03 02:20:43 +0000 | [diff] [blame] | 29 | |
Michael J. Spencer | 2d67ed8 | 2011-01-20 06:39:15 +0000 | [diff] [blame] | 30 | |
| 31 | COFF: 00000000 d .data |
| 32 | COFF: 00000000 t .text |
| 33 | COFF: 00000000 d L{{_?}}.str |
| 34 | COFF: U {{_?}}SomeOtherFunction |
| 35 | COFF: 00000000 T {{_?}}main |
| 36 | COFF: U {{_?}}puts |
| 37 | |
Rafael Espindola | fb66ef0 | 2014-02-04 23:18:52 +0000 | [diff] [blame] | 38 | COFF-COMMON: 00000000 b .bss |
| 39 | COFF-COMMON-NEXT: 00000000 d .data |
| 40 | COFF-COMMON-NEXT: 00000000 d .drectve |
| 41 | COFF-COMMON-NEXT: 00000000 n .file |
| 42 | COFF-COMMON-NEXT: 00000000 r .rdata$zzz |
| 43 | COFF-COMMON-NEXT: 00000000 t .text |
| 44 | COFF-COMMON-NEXT: C _a |
| 45 | |
| 46 | |
Rafael Espindola | 0d6b347 | 2013-07-22 19:24:34 +0000 | [diff] [blame] | 47 | ELF-NOT: U |
Michael J. Spencer | 2d67ed8 | 2011-01-20 06:39:15 +0000 | [diff] [blame] | 48 | ELF: U SomeOtherFunction |
| 49 | ELF: 00000000 T main |
| 50 | ELF: U puts |
Danil Malyshev | cbe72fc | 2011-11-29 17:40:10 +0000 | [diff] [blame] | 51 | |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 52 | ELF64: U SomeOtherFunction |
| 53 | ELF64: 0000000000000000 T main |
| 54 | ELF64: U puts |
Danil Malyshev | cbe72fc | 2011-11-29 17:40:10 +0000 | [diff] [blame] | 55 | |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 56 | WEAK-ELF64: w f1 |
| 57 | WEAK-ELF64: 0000000000000000 W f2 |
| 58 | WEAK-ELF64: v x1 |
| 59 | WEAK-ELF64: 0000000000000000 V x2 |
| 60 | |
| 61 | ABSOLUTE-ELF64: 0000000000000123 a a1 |
| 62 | ABSOLUTE-ELF64: 0000000000000123 A a2 |
Rafael Espindola | 02eac9a | 2014-02-05 04:36:47 +0000 | [diff] [blame] | 63 | |
Kevin Enderby | 1b985af | 2014-05-20 23:04:47 +0000 | [diff] [blame] | 64 | macho: U _SomeOtherFunction |
Rafael Espindola | a135632 | 2013-11-02 05:03:24 +0000 | [diff] [blame] | 65 | macho: 00000000 T _main |
Kevin Enderby | 1b985af | 2014-05-20 23:04:47 +0000 | [diff] [blame] | 66 | macho: U _puts |
Danil Malyshev | cbe72fc | 2011-11-29 17:40:10 +0000 | [diff] [blame] | 67 | |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 68 | macho64: 0000000000000028 s L_.str |
Kevin Enderby | 1b985af | 2014-05-20 23:04:47 +0000 | [diff] [blame] | 69 | macho64: U _SomeOtherFunction |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 70 | macho64: 0000000000000000 T _main |
Kevin Enderby | 1b985af | 2014-05-20 23:04:47 +0000 | [diff] [blame] | 71 | macho64: U _puts |
Rafael Espindola | b4865d6 | 2014-04-03 00:19:35 +0000 | [diff] [blame] | 72 | |
Kevin Enderby | 1e1b992 | 2014-06-19 22:49:21 +0000 | [diff] [blame] | 73 | macho-tdb: 0000000000000030 s EH_frame0 |
| 74 | macho-tdb: 0000000000000070 b _b |
| 75 | macho-tdb: 000000000000000c D _d |
| 76 | macho-tdb: 0000000000000000 T _t |
| 77 | macho-tdb: 0000000000000048 S _t.eh |
Rafael Espindola | b4865d6 | 2014-04-03 00:19:35 +0000 | [diff] [blame] | 78 | |
| 79 | Test that nm uses addresses even with ELF .o files. |
Kevin Enderby | 6abc2e5 | 2014-05-09 23:57:49 +0000 | [diff] [blame] | 80 | ELF-SEC-ADDR64: 0000000000000058 D a |
| 81 | ELF-SEC-ADDR64-NEXT: 000000000000005c D b |
| 82 | ELF-SEC-ADDR64-NEXT: 0000000000000040 T f |
| 83 | ELF-SEC-ADDR64-NEXT: 0000000000000050 T g |
| 84 | ELF-SEC-ADDR64-NEXT: 0000000000000060 D p |
Rafael Espindola | 5091f93 | 2014-04-03 02:20:43 +0000 | [diff] [blame] | 85 | |
| 86 | |
| 87 | Test that we drop the thumb bit only from function addresses. |
| 88 | ELF-THUMB: 00000000 t f |
| 89 | ELF-THUMB: 00000003 t g |
Kevin Enderby | 4fc2edb | 2014-06-23 20:27:53 +0000 | [diff] [blame^] | 90 | |
| 91 | A-OUT: U _SomeOtherFunction |
| 92 | A-OUT: 00000000 T _main |
| 93 | A-OUT: U _puts |