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

Tanya Lattner
Sun, 30 Mar 2008 22:45:05 -0000

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

-Tanya


> 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