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

Tanya Lattner tonic at nondot.org
Sun Mar 30 15:45:05 PDT 2008

On Mar 30, 2008, at 12:39 PM, Joachim Durchholz wrote:

> Am Sonntag, den 30.03.2008, 10:28 -0700 schrieb Tanya Lattner:
>> On Mar 30, 2008, at 10:07 AM, Joachim Durchholz wrote:
>>> Look at how $LLVM_CONFIGURE is built, the final value is
>>> --prefix=/home/jo --enable-optimized --build=i686-pc-linux-gnu
>>> --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu"
>> This looks likes its missing some stuff. Make sure the configure line
>> is exactly as what is in README.LLVM.
> OK, I now have
> LLVM_VERSION_INFO=kurier-bootstrap /home/jo/llvm-gcc-src/configure
> --prefix=/home/jo --enable-optimized --build=i686-pc-linux-gnu
> --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu
> --enable-llvm=/home/jo --enable-languages=c,c++

Where have you built llvm? The enable-llvm dir should point to where  
you built llvm.

> The --enable-llvm directory is the same as --prefix, I hope that's  
> right
> (the actual binaries are in the 'bin' subdirectory).
> I don't think --enable-checking should be necessary, I had
> llvm ./configure'd with --enable-optimized (I hope that's the same as
> specifying ENABLE_OPTIMIZED=1 during the 'make' run for LLVM proper).

You have to build both a release build of LLVM and llvm-gcc or both  
debug. You can't mix. So if you did --enable-checking that Debug. SVN  
by default is debug. A release of LLVM is release by default. I think  
--enable-optimized and ENABLE_OPTIMIZED=1 are the same, so you should  
be ok.

> Trying with OPTIMIZE_OPTION=-O2 didn't help.
> Anything else I may have overlooked?

I'm guessing its your --enable-llvm setting.

Hope that helps..


> Regards,
> Jo
> P.S.: Rerunning the failing command with -v gave me
> GNU C version 4.2.1 (Based on Apple Inc. build 5555) (LLVM build)
> (i686-pc-linux-gnu)
>        compiled by GNU C version 4.2.1 (Ubuntu 4.2.1-5ubuntu4).
> so it seems to call the right compiler, but I still get
> /home/jo/llvm-gcc-wrk/./gcc/as --traditional-format -V -Qy -o
> crtbegin.o crtstuff.s
> GNU assembler version 2.18 (x86_64-linux-gnu) using BFD version (GNU
> Binutils for Ubuntu) 2.18
> crtstuff.s: Assembler messages:
> crtstuff.s:15: Error: suffix or operands invalid for `push'
> crtstuff.s:29: Error: suffix or operands invalid for `call'
> crtstuff.s:36: Error: suffix or operands invalid for `pop'
> crtstuff.s:39: Error: suffix or operands invalid for `pop'
> crtstuff.s:47: Error: suffix or operands invalid for `push'
> crtstuff.s:60: Error: suffix or operands invalid for `call'
> crtstuff.s:63: Error: suffix or operands invalid for `pop'
> (As noted in one of my previous mails, .../gcc/as is just a  
> shellscript
> calling the installed as, which happens to be GNU as.)
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the llvm-dev mailing list