[LLVMdev] llvm/test: suffix or operands invalid for `push'
Joachim Durchholz
jo at durchholz.org
Thu Feb 28 01:55:20 PST 2008
Am Mittwoch, den 27.02.2008, 14:31 -0800 schrieb Dale Johannesen:
> On Feb 27, 2008, at 2:12 PM, Joachim Durchholz wrote:
> > All error messages refer to one of the following four
> > instructions:
> > pushl %ebp
> > pushl %esi
> > popl %ebp
> > popl %esi
> > It's always the same error, "suffix or operands invalid for
> > `push'" (resp `pop').
>
> Those are valid instructions in every x86-32 assembler I'm aware of.
> Perhaps it needs a switch to put it in 32-bit mode?
Yes, I have been able to confirm that's what's happening behind the
scene. The switch would be --32, however after that, ld will try to link
the 64-bit versions of libc and the C runtime.
I was able to trigger the problem during ./configure, by using llvm-gcc.
With configure, it was fixable for the whole toolchain by saying
--target=i686, so there is hope.
Unfortunately, make check doesn't seem to use the setting
from ./configure; this is what I see in site.exp, regardless of any CC=
or CFLAGS= settings on make check:
set gccpath "gcc"
set gxxpath "g++"
Should I edit site.exp to fix that, or is there a better way?
Regards,
Jo
More information about the llvm-dev
mailing list