mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
e60f4d3bda
Since linker GOT relaxation isn't valid for 16-bit GOT access, we should disable GOT relaxation with data prefix. gas/ PR gas/r23854 * config/tc-i386.c (output_disp): Disable GOT relaxation with data prefix. * testsuite/gas/i386/mixed-mode-reloc32.d: Updated. ld/ PR gas/r23854 * testsuite/ld-i386/i386.exp: Run pr23854. * testsuite/ld-x86-64/x86-64.exp: Likewwise. * testsuite/ld-i386/pr23854.d: New file. * testsuite/ld-i386/pr23854.s: Likewwise. * testsuite/ld-i386/pr23854.d: Likewwise. * testsuite/ld-x86-64/pr23854.d: Likewwise. * testsuite/ld-x86-64/pr23854.s: Likewwise.
34 lines
652 B
ArmAsm
34 lines
652 B
ArmAsm
.data
|
|
.type bar, @object
|
|
bar:
|
|
.byte 1
|
|
.size bar, .-bar
|
|
.globl foo
|
|
.type foo, @object
|
|
foo:
|
|
.byte 1
|
|
.size foo, .-foo
|
|
.text
|
|
.globl _start
|
|
.type _start, @function
|
|
_start:
|
|
adcw bar@GOT(%ecx), %ax
|
|
addw bar@GOT(%ecx), %bx
|
|
andw bar@GOT(%ecx), %cx
|
|
cmpw bar@GOT(%ecx), %dx
|
|
orw bar@GOT(%ecx), %di
|
|
sbbw bar@GOT(%ecx), %si
|
|
subw bar@GOT(%ecx), %bp
|
|
xorw bar@GOT(%ecx), %sp
|
|
testw %cx, bar@GOT(%ecx)
|
|
adcw foo@GOT(%ecx), %ax
|
|
addw foo@GOT(%ecx), %bx
|
|
andw foo@GOT(%ecx), %cx
|
|
cmpw foo@GOT(%ecx), %dx
|
|
orw foo@GOT(%ecx), %di
|
|
sbbw foo@GOT(%ecx), %si
|
|
subw foo@GOT(%ecx), %bp
|
|
xorw foo@GOT(%ecx), %sp
|
|
testw %cx, foo@GOT(%ecx)
|
|
.size _start, .-_start
|