llvm-6502/test/MC/ARM/multi-section-mapping.s
Tim Northover 6eb3e87df0 Added Mapping Symbols for ARM ELF
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
2012-12-07 16:50:23 +00:00

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]}}