assembler assention failure

amodra@one.net.au amodra@one.net.au
Mon Apr 30 18:20:00 GMT 2001


On Mon, Apr 30, 2001 at 12:17:42PM -0700, Per Bothner wrote:
> 
> The offending line 19119 is:
> 	pushl	4+_CD_gnu_kawa_slib_java-classes@GOTOFF(%ebx)
> 
> I don't know enough about the i386 abi and assembler to know
> whether this is valid or not.

It's not valid to have "expr@GOTOFF" where "expr" resolves to
something other than "symbol + offset".  Here you've got two
symbols, so "classes" would have to resolve to an absolute
constant.  Furthermore, with the current gas implementation,
"classes" would need to be defined before the reference.

I'll remove the assert from i386_displacement and replace it
with a fatal error message, as it's clearly not some sort of
internal gas error but user input that is causing the problem.

Alan



More information about the Gcc-bugs mailing list