[LLVMdev] llvm/test: suffix or operands invalid for `push'

Dale Johannesen dalej at apple.com
Fri Feb 29 10:09:33 PST 2008


I do not know the configury stuff well enough to answer this, can  
someone else help?

On Feb 28, 2008, at 1:55 AM, Joachim Durchholz wrote:

> 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?




More information about the llvm-dev mailing list