trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: March 2012

Re: [trinity-devel] mlt - assembler error have_mmx.S: Assembler messages: Error: operand type mismatch for `push'

From: /dev/ammo42 <mickeytintincolle@...>
Date: Sat, 24 Mar 2012 08:35:23 +0100
On Sat, 24 Mar 2012 01:29:13 -0500
"David C. Rankin" <drankinatty@...> wrote:

> Guys,
> 
>   Strange build failure with libraries/mlt. It fails with an
> assembler error that I know nothing about:
> 
> cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector
> --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wall -fPIC -DPIC   -O4
> -pipe -fomit-frame-pointer -ffast-math -DUSE_MMX -g
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -pthread -Wall -fPIC
> -DPIC   -O4 -pipe -fomit-frame-pointer -ffast-math -DUSE_MMX -g
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -pthread -Wall -fPIC
> -DPIC   -O4 -pipe -fomit-frame-pointer -ffast-math -DUSE_MMX -g
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -pthread `pkg-config
> gtk+-2.0 --cflags` `pkg-config gdk-pixbuf-2.0 --cflags` `pkg-config
> pangoft2 --cflags` -I../..   -c -o producer_pango.o producer_pango.c
> cc -o have_mmx.o -c have_mmx.S have_mmx.S: Assembler messages:
> have_mmx.S:20: Error: operand type mismatch for `push'
> have_mmx.S:24: Error: invalid instruction suffix for `pushf'
> have_mmx.S:25: Error: invalid instruction suffix for `pop'
> have_mmx.S:28: Error: invalid instruction suffix for `push'
> have_mmx.S:29: Error: invalid instruction suffix for `popf'
> have_mmx.S:30: Error: invalid instruction suffix for `pushf'
> have_mmx.S:31: Error: invalid instruction suffix for `pop'
> have_mmx.S:51: Error: invalid instruction suffix for `pop'
> 
>   Does this mean I'm missing a library that it needs. I can't ready
> the assembler code for nothing, so I hope so. What's the trick?
From http://www.x86-64.org/documentation/assembly.html :
push/pop with 32-bit registers are illegal in amd64. You need to disable
compilation of this file as it is x86 only assembly.
>