mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
d5d60f7168
In a relocation target can take 3 basic forms * A r_value in scattered relocations. * A symbol in external relocations. * A section is non-external relocations. Have the dump reflect that. With this change we go from CHECK-NEXT: Extern: 0 CHECK-NEXT: Type: X86_64_RELOC_SUBTRACTOR (5) CHECK-NEXT: Symbol: 0x2 CHECK-NEXT: Scattered: 0 To just // CHECK-NEXT: Type: X86_64_RELOC_SUBTRACTOR (5) // CHECK-NEXT: Section: __data (2) Since the relocation is with a section, we print the seciton name and don't need to say that it is not scattered or external. Someone motivated can add further special cases for things like ARM64_RELOC_ADDEND and ARM_RELOC_PAIR. llvm-svn: 240073
41 lines
1.2 KiB
ArmAsm
41 lines
1.2 KiB
ArmAsm
@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumbv7-apple-darwin10 -filetype=obj -o - < %s | llvm-readobj -r --expand-relocs | FileCheck %s
|
|
.thumb
|
|
.thumb_func foo
|
|
foo:
|
|
movw r0, :lower16:(bar + 16)
|
|
movt r0, :upper16:(bar + 16)
|
|
bx r0
|
|
|
|
@ CHECK: Relocations [
|
|
@ CHECK-NEXT: Section __text {
|
|
@ CHECK-NEXT: Relocation {
|
|
@ CHECK-NEXT: Offset: 0x4
|
|
@ CHECK-NEXT: PCRel: 0
|
|
@ CHECK-NEXT: Length: 3
|
|
@ CHECK-NEXT: Type: ARM_RELOC_HALF (8)
|
|
@ CHECK-NEXT: Symbol: bar
|
|
@ CHECK-NEXT: }
|
|
@ CHECK-NEXT: Relocation {
|
|
@ CHECK-NEXT: Offset: 0x10
|
|
@ CHECK-NEXT: PCRel: 0
|
|
@ CHECK-NEXT: Length: 3
|
|
@ CHECK-NEXT: Type: ARM_RELOC_PAIR (1)
|
|
@ CHECK-NEXT: Section: -
|
|
@ CHECK-NEXT: }
|
|
@ CHECK-NEXT: Relocation {
|
|
@ CHECK-NEXT: Offset: 0x0
|
|
@ CHECK-NEXT: PCRel: 0
|
|
@ CHECK-NEXT: Length: 2
|
|
@ CHECK-NEXT: Type: ARM_RELOC_HALF (8)
|
|
@ CHECK-NEXT: Symbol: bar
|
|
@ CHECK-NEXT: }
|
|
@ CHECK-NEXT: Relocation {
|
|
@ CHECK-NEXT: Offset: 0x0
|
|
@ CHECK-NEXT: PCRel: 0
|
|
@ CHECK-NEXT: Length: 2
|
|
@ CHECK-NEXT: Type: ARM_RELOC_PAIR (1)
|
|
@ CHECK-NEXT: Section: -
|
|
@ CHECK-NEXT: }
|
|
@ CHECK-NEXT: }
|
|
@ CHECK-NEXT: ]
|