Problem compiling for other platform

Ian Lance Taylor iant@google.com
Wed Aug 10 16:00:00 GMT 2011


Brian Ipsen <brian.ipsen@ryesgade47c.dk> writes:

>> >> /tmp/ccrc3fSw.s: Assembler messages:
>> >> /tmp/ccrc3fSw.s:37: Error: suffix or operands invalid for `push'
>> >> /tmp/ccrc3fSw.s:50: Error: suffix or operands invalid for `call'
>> >> /tmp/ccrc3fSw.s:76: Error: suffix or operands invalid for `push'
>> >> /tmp/ccrc3fSw.s:82: Error: suffix or operands invalid for `pop'
>> >> /tmp/ccrc3fSw.s:101: Error: suffix or operands invalid for `call'
>> >> /tmp/ccrc3fSw.s:104: Error: suffix or operands invalid for `pop'
>> >
>> >You are using a compiler generating 32-bit code with an assembler that
>> defaults to expecting 64-bit code.  You need to use an assembler which
>> defaults to 32-bit mode, or tell your compiler to pass -32 to the assembler.
>
> Update - I modfied the Makefile, so that the right assembler will be called.. Things looks a bit different now, when building, the build fails with:
>
> /usr/local/i686-linux-gnu/bin/i686-linux-gnu-gcc -c -DIN_GCC    -O2 -g -march=i686 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes   -DHAVE_CONFIG_H    -I. -Icp -I../../gcc -I../../gcc/cp -I../../gcc/config -I../../gcc/../include ../../gcc/cp/decl.c -o cp/decl.o
> ../../gcc/cp/decl.c: In function 'push_binding_level':
> ../../gcc/cp/decl.c:510: error: lvalue required as left operand of assignment
>
> Any hints ?

You need to edit the gcc source code so that it will compile with a
newer version of gcc.  Take a look at that line.  It's probably a macro.
Compare it to the same lines in more recent versions of gcc.

Why are you trying to build such an old version of gcc?

Ian



More information about the Gcc-help mailing list