mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
7f50100cfa
the specified section. This is same functionality as darwin’s nm(1) "-s" flag. There is one FIXME in the code and I’m all ears to anyone that can help me with that. This option takes exactly two strings and should be allowed anywhere on the command line. Such that "llvm-nm -s __TEXT __text foo.o" would work. But that does not as the CommandLine Library does not have a way to make this work as far as I can tell. For now the "-s __TEXT __text" has to be last on the command line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212842 91177308-0d34-0410-b5e6-96231b3b80d8
125 lines
4.0 KiB
Plaintext
125 lines
4.0 KiB
Plaintext
RUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-nm - \
|
|
RUN: | FileCheck %s -check-prefix COFF
|
|
RUN: yaml2obj %p/Inputs/COFF/x86-64.yaml | llvm-nm - \
|
|
RUN: | FileCheck %s -check-prefix COFF
|
|
RUN: llvm-nm %p/Inputs/trivial-object-test.elf-i386 \
|
|
RUN: | FileCheck %s -check-prefix ELF
|
|
RUN: llvm-nm %p/Inputs/trivial-object-test.elf-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix ELF64
|
|
RUN: llvm-nm %p/Inputs/weak.elf-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix WEAK-ELF64
|
|
RUN: llvm-nm %p/Inputs/absolute.elf-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix ABSOLUTE-ELF64
|
|
RUN: llvm-nm %p/Inputs/trivial-object-test.macho-i386 \
|
|
RUN: | FileCheck %s -check-prefix macho
|
|
RUN: llvm-nm -U %p/Inputs/trivial-object-test.macho-i386 \
|
|
RUN: | FileCheck %s -check-prefix macho-U
|
|
RUN: llvm-nm %p/Inputs/trivial-object-test.macho-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix macho64
|
|
RUN: llvm-nm %p/Inputs/macho-text-data-bss.macho-x86_64 \
|
|
RUN: | FileCheck %s -check-prefix macho-tdb
|
|
RUN: llvm-nm -j %p/Inputs/macho-text-data-bss.macho-x86_64 \
|
|
RUN: | FileCheck %s -check-prefix macho-j
|
|
RUN: llvm-nm -r %p/Inputs/macho-text-data-bss.macho-x86_64 \
|
|
RUN: | FileCheck %s -check-prefix macho-r
|
|
RUN: llvm-nm %p/Inputs/macho-text-data-bss.macho-x86_64 -s __DATA __data \
|
|
RUN: | FileCheck %s -check-prefix macho-s
|
|
RUN: llvm-nm %p/Inputs/common.coff-i386 \
|
|
RUN: | FileCheck %s -check-prefix COFF-COMMON
|
|
RUN: llvm-nm %p/Inputs/relocatable-with-section-address.elf-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix ELF-SEC-ADDR64
|
|
RUN: llvm-nm %p/Inputs/thumb-symbols.elf.arm \
|
|
RUN: | FileCheck %s -check-prefix ELF-THUMB
|
|
RUN: mkdir -p %t
|
|
RUN: cd %t
|
|
RUN: cp %p/Inputs/trivial-object-test.macho-i386 a.out
|
|
RUN: llvm-nm | FileCheck %s -check-prefix A-OUT
|
|
REQUIRES: shell
|
|
|
|
|
|
COFF: 00000000 d .data
|
|
COFF: 00000000 t .text
|
|
COFF: 00000000 d L{{_?}}.str
|
|
COFF: U {{_?}}SomeOtherFunction
|
|
COFF: 00000000 T {{_?}}main
|
|
COFF: U {{_?}}puts
|
|
|
|
COFF-COMMON: 00000000 b .bss
|
|
COFF-COMMON-NEXT: 00000000 d .data
|
|
COFF-COMMON-NEXT: 00000000 d .drectve
|
|
COFF-COMMON-NEXT: 00000000 n .file
|
|
COFF-COMMON-NEXT: 00000000 r .rdata$zzz
|
|
COFF-COMMON-NEXT: 00000000 t .text
|
|
COFF-COMMON-NEXT: C _a
|
|
|
|
|
|
ELF-NOT: U
|
|
ELF: U SomeOtherFunction
|
|
ELF: 00000000 T main
|
|
ELF: U puts
|
|
|
|
ELF64: U SomeOtherFunction
|
|
ELF64: 0000000000000000 T main
|
|
ELF64: U puts
|
|
|
|
WEAK-ELF64: w f1
|
|
WEAK-ELF64: 0000000000000000 W f2
|
|
WEAK-ELF64: v x1
|
|
WEAK-ELF64: 0000000000000000 V x2
|
|
|
|
ABSOLUTE-ELF64: 0000000000000123 a a1
|
|
ABSOLUTE-ELF64: 0000000000000123 A a2
|
|
|
|
macho: U _SomeOtherFunction
|
|
macho: 00000000 T _main
|
|
macho: U _puts
|
|
|
|
macho-U-NOT: U _SomeOtherFunction
|
|
macho-U: 00000000 T _main
|
|
macho-U-NOT: U _puts
|
|
|
|
macho64: 0000000000000028 s L_.str
|
|
macho64: U _SomeOtherFunction
|
|
macho64: 0000000000000000 T _main
|
|
macho64: U _puts
|
|
|
|
macho-tdb: 0000000000000030 s EH_frame0
|
|
macho-tdb: 0000000000000070 b _b
|
|
macho-tdb: 000000000000000c D _d
|
|
macho-tdb: 0000000000000000 T _t
|
|
macho-tdb: 0000000000000048 S _t.eh
|
|
|
|
macho-j: EH_frame0
|
|
macho-j: _b
|
|
macho-j: _d
|
|
macho-j: _t
|
|
macho-j: _t.eh
|
|
|
|
macho-r: 0000000000000048 S _t.eh
|
|
macho-r-NEXT: 0000000000000000 T _t
|
|
macho-r-NEXT: 000000000000000c D _d
|
|
macho-r-NEXT: 0000000000000070 b _b
|
|
macho-r-NEXT: 0000000000000030 s EH_frame0
|
|
|
|
macho-s: 000000000000000c D _d
|
|
macho-s-NOT: 0000000000000048 S _t.eh
|
|
macho-s-NOT: 0000000000000000 T _t
|
|
macho-s-NOT: 0000000000000070 b _b
|
|
macho-s-NOT: 0000000000000030 s EH_frame0
|
|
|
|
Test that nm uses addresses even with ELF .o files.
|
|
ELF-SEC-ADDR64: 0000000000000058 D a
|
|
ELF-SEC-ADDR64-NEXT: 000000000000005c D b
|
|
ELF-SEC-ADDR64-NEXT: 0000000000000040 T f
|
|
ELF-SEC-ADDR64-NEXT: 0000000000000050 T g
|
|
ELF-SEC-ADDR64-NEXT: 0000000000000060 D p
|
|
|
|
|
|
Test that we drop the thumb bit only from function addresses.
|
|
ELF-THUMB: 00000000 t f
|
|
ELF-THUMB: 00000003 t g
|
|
|
|
A-OUT: U _SomeOtherFunction
|
|
A-OUT: 00000000 T _main
|
|
A-OUT: U _puts
|