mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-21 00:32:23 +00:00
6eb3e87df0
Before this patch, when you objdump an LLVM-compiled file, objdump tried to decode data-in-code sections as if they were code. This patch adds the missing Mapping Symbols, as defined by "ELF for the ARM Architecture" (ARM IHI 0044D). Patch based on work by Greg Fitzgerald. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169609 91177308-0d34-0410-b5e6-96231b3b80d8
36 lines
976 B
ArmAsm
36 lines
976 B
ArmAsm
@ RUN: llvm-mc -triple=arm-linux-gnueabi -filetype=obj < %s | llvm-objdump -t - | FileCheck %s
|
|
|
|
.text
|
|
add r0, r0, r0
|
|
|
|
@ .wibble should *not* inherit .text's mapping symbol. It's a completely different section.
|
|
.section .wibble
|
|
add r0, r0, r0
|
|
|
|
@ A section should be able to start with a $t
|
|
.section .starts_thumb
|
|
.thumb
|
|
adds r0, r0, r0
|
|
|
|
@ A setion should be able to start with a $d
|
|
.section .starts_data
|
|
.word 42
|
|
|
|
@ Changing back to .text should not emit a redundant $a
|
|
.text
|
|
.arm
|
|
add r0, r0, r0
|
|
|
|
@ With all those constraints, we want:
|
|
@ + .text to have $a at 0 and no others
|
|
@ + .wibble to have $a at 0
|
|
@ + .starts_thumb to have $t at 0
|
|
@ + .starts_data to have $d at 0
|
|
|
|
@ CHECK: 00000000 .text 00000000 $a
|
|
@ CHECK-NEXT: 00000000 .wibble 00000000 $a
|
|
@ CHECK-NEXT: 00000000 .starts_data 00000000 $d
|
|
@ CHECK-NEXT: 00000000 .starts_thumb 00000000 $t
|
|
@ CHECK-NOT: ${{[adt]}}
|
|
|