[PATCH] i386: Allow GOT32 relocations against ABS symbols

Jan Beulich jbeulich@suse.com
Tue Feb 8 08:37:28 GMT 2022


On 08.02.2022 01:03, H.J. Lu via Binutils wrote:
> GOT32 relocations are allowed since absolute value + addend is stored in
> the GOT slot.

Before permitting this and with you specifically mentioning addends
here, I think it needs to be clarified what ...

> --- /dev/null
> +++ b/ld/testsuite/ld-i386/pr28870.s
> @@ -0,0 +1,6 @@
> +	.text
> +	.globl _start
> +_start:
> +	addl	foo@GOT(%ebx), %eax
> +	cmpl	$0, foo@GOT(%ebx)
> +foo = 2

... missing (here) variants thereof actually mean (and whether the use
of addends actually works as intended):

	mov	$v@got+3, %eax				# bogus, meaningless operand
	mov	$(v+3)@got, %eax			# wrong (gets treated same as above)

Comments are my own, preliminary judgement.

Jan



More information about the Binutils mailing list