This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: IA-32 gas _GLOBAL_OFFSET_TABLE_ handling bugs
On Wed, Jul 31, 2002 at 06:31:15PM -0700, Roland McGrath wrote:
> Actually, the case generated by GCC that bit me does not use `.' at all.
> It looks like this:
>
> movl $.L30, %eax
> .L30:
> addl $_GLOBAL_OFFSET_TABLE_, %eax
Eep. We really have dug a pit for ourselves with this syntax. Does
this work on other assemblers? Can gcc be fixed to not emit the
above?
This is really taking "do what I mean rather than what I say" to new
heights. Presumably, the magic _GLOBAL_OFFSET_TABLE_ transformations
should only happen on "add" or "lea" type instructions, so that
mov $_GLOBAL_OFFSET_TABLE_, %eax
does the right thing.
--
Alan Modra
IBM OzLabs - Linux Technology Centre