[Bug target/65644] Assembler errors on Solaris 10 x86-64: `(%eXX)' is not a valid 64 bit base/index expression

ro at CeBiTec dot Uni-Bielefeld.DE gcc-bugzilla@gcc.gnu.org
Tue Apr 7 14:33:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65644

--- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #7 from Daniel Richard G. <skunk at iskunk dot org> ---
> Reopening due to lack of resolution.
>
> If system patches should resolve the issue, then I am open to trying any that
> are appropriate; if they work, then they can be noted in the documentation. But
> it is also possible that this is a limitation of this particular version of
> Solaris that cannot be patched, and thus will need a workaround in GCC.

Looking closer, you are *not* using the Solaris assembler (/usr/ccs/bin/as):

    {standard input}: Assembler messages:
    {standard input}:233: Error: `(%esi)' is not a valid 64 bit base/index
expression
    {standard input}:250: Error: `(%edx)' is not a valid 64 bit base/index
expression
    {standard input}:1150: Error: `(%edx)' is not a valid 64 bit base/index
expression

as cannot read from standard input, and doesn't contain the messages you
cite, while gas does.

To reproduce this, you need to provide much more information:

* How exactly was gcc configured?

* Please provide the output of

  gcc -v -m64 -O -c gcc-asm-bug.c

  for your testcase?

It might that the assembler used at configure and compile time differs,
e.g. you configured gcc to use as, but somehow it finds gas instead at
compile time.

    Rainer



More information about the Gcc-bugs mailing list