Ian Lance Taylor <iant@xxxxxxxxxx> 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. Well - the question is then whether the xgcc command uses the AS specified assembler (/usr/local/i686-linux-gnu/bin/i686-linux-gnu-as) - or the default assembler on the system (GNU assembler version 2.20.51.0.2 (x86_64-redhat-linux) using BFD version version 2.20.51.0.2-5.11.el6 20091009). Is there a way to make sure, that the one in /usr/local/i686-linux-gnu/bin/i686-linux-gnu-as will be used? I have tried to build for x86_64 instead, but in this case the make fails with: stage1/xgcc -Bstage1/ -B/usr/x86_64-redhat-linux/bin/ -DIN_GCC -O2 -g -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -DHAVE_CONFIG_H -DGENERATOR_FILE -o genflags \ genflags.o rtl.o read-rtl.o bitmap.o ggc-none.o gensupport.o print-rtl.o errors.o ../libiberty/libiberty.a /usr/bin/ld: i386 architecture of input file `../libiberty/libiberty.a(hashtab.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../libiberty/libiberty.a(safe-ctype.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../libiberty/libiberty.a(xmalloc.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../libiberty/libiberty.a(xstrdup.o)' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `../libiberty/libiberty.a(xexit.o)' is incompatible with i386:x86-64 output Regards /Brian