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