[LLVMdev] Compiling llvm-gcc on amd64 with 32 bits: assembler still carps

Joachim Durchholz jo at durchholz.org
Sun Mar 30 07:40:30 PDT 2008


Hi all,

I managed to navigate around all those issues with environment variables
and such. llvm itself now builds and checks just fine, but I can't get
llvm-gcc to compile.

Trying to 'make' from .../gcc gives me:

./xgcc -B./ -B/home/jo/i686-pc-linux-gnu/bin/
-isystem /home/jo/i686-pc-linux-gnu/include
-isystem /home/jo/i686-pc-linux-gnu/sys-include
-L/home/jo/llvm-gcc-wrk/gcc/../ld -O2  -DIN_GCC    -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -I. -I.
-I/home/jo/llvm-gcc-src/gcc -I/home/jo/llvm-gcc-src/gcc/.
-I/home/jo/llvm-gcc-src/gcc/../include
-I/home/jo/llvm-gcc-src/gcc/../libcpp/include
-I/home/jo/llvm-gcc-src/gcc/../libdecnumber -I../libdecnumber  -g0
-finhibit-size-directive -fno-inline-functions -fno-exceptions
-fno-zero-initialized-in-bss -fno-toplevel-reorder
-fno-omit-frame-pointer \
          -c /home/jo/llvm-gcc-src/gcc/crtstuff.c -DCRT_BEGIN \
          -o crtbegin.o
/tmp/ccuWW3r0.s: Assembler messages:
/tmp/ccuWW3r0.s:27: Error: suffix or operands invalid for `push'
/tmp/ccuWW3r0.s:37: Error: suffix or operands invalid for `call'
/tmp/ccuWW3r0.s:55: Error: suffix or operands invalid for `push'
/tmp/ccuWW3r0.s:65: Error: suffix or operands invalid for `call'
make: *** [crtbegin.o] Error 1


./xgcc -dumpmachine gives
i686-pc-linux-gnu
so this is OK.

The reported lines are:
     27         pushl   %ebp
     37         call    *%edx
     55         pushl   %ebp
     65         call    *%eax

What's wrong?

Regards,
Jo

P.S.: I'm running with a freshly compiled and PATH-installed llvm
package with a clean 'make check', and use
export LLVM_GCC_SRC=$HOME/llvm-gcc-src
export LLVM_GCC_WRK=$HOME/llvm-gcc-wrk
export LLVM_CONFIGURE=
export LLVM_CONFIGURE="$LLVM_CONFIGURE --prefix=$HOME"
export LLVM_CONFIGURE="$LLVM_CONFIGURE --enable-optimized"
export LLVM_CONFIGURE="$LLVM_CONFIGURE --build=i686-pc-linux-gnu"
export LLVM_CONFIGURE="$LLVM_CONFIGURE --host=i686-pc-linux-gnu"
export LLVM_CONFIGURE="$LLVM_CONFIGURE --target=i686-pc-linux-gnu"
export CC=gcc-4.2
export CXX=g++-4.2
cd $LLVM_GCC_WRK
$LLVM_GCC_SRC/configure $LLVM_CONFIGURE
make -j3




More information about the llvm-dev mailing list