mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
b4d7f82f75
For instructions like call foo and jmp foo patch changes relocation produced from R_X86_64_PC32 to R_X86_64_PLT32. Relocation can be used as a marker for 32-bit PC-relative branches. Linker will reduce PLT32 relocation to PC32 if function is defined locally. Differential revision: https://reviews.llvm.org/D43383 llvm-svn: 325569
27 lines
393 B
ArmAsm
27 lines
393 B
ArmAsm
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu < %s | llvm-readobj -r | FileCheck %s
|
|
|
|
// CHECK: Relocations [
|
|
// CHECK-NEXT: Section ({{.*}}) .rela.text {
|
|
// CHECK-NEXT: 0x1D R_X86_64_PLT32 f2 0xFFFFFFFFFFFFFFFC
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
|
|
.weak f
|
|
.weak g
|
|
f:
|
|
nop
|
|
g:
|
|
nop
|
|
|
|
.quad g - f
|
|
|
|
|
|
.weak f2
|
|
f2:
|
|
nop
|
|
g2:
|
|
nop
|
|
.quad g2 - f2
|
|
.quad f2 - g2
|
|
call f2
|