This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

more troubles with SuSE 9.2


Actually, I'm not sure that this probem is specific to SuSE 9.2, it is just where I am encountering it.

I am running on i386, trying to build a cross-compiler for ia64. Consistently, whenever the script
gets around to trying to (cross) compile some ia64 assembler code, that step fails with an "as: -x unrecognized
option" error. For example, I encounter the following:


make[1]: Entering directory `/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/libiberty'
make[2]: Entering directory `/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/libiberty/testsuite'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/libiberty/testsuite'
make[1]: Leaving directory `/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/libiberty'
make[1]: Entering directory `/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/intl'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/intl'
make[1]: Entering directory `/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/gcc'
/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/gcc/xgcc -B/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/gcc/ -B/opt/crosstool/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/ia64-unknown-linux-gnu/bin/ -B/opt/crosstool/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/ia64-unknown-linux-gnu/lib/ -isystem /opt/crosstool/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/ia64-unknown-linux-gnu/include -isystem /opt/crosstool/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/ia64-unknown-linux-gnu/sys-include -nostdinc -I. -c -o crtbegin.o -x assembler-with-cpp \
/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/gcc-3.4.1/gcc/config/ia64/crtbegin.asm
as: unrecognized option `-x'
make[1]: *** [crtbegin.o] Error 1
make[1]: Leaving directory `/home/raybry/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-gcc-core/gcc'
make: *** [all-gcc] Error 2


Now the problem really is that xgcc is finding and invoking /usr/bin/as, which is the i386 assembler, which
doesn't understand the -x option. (Indeed, if I replace /usr/bin/as with a symbolic link to the ia64 assembler,
this step completes, but then the build fails the next time we need to invoke the host assembler again).


This seems like a pretty fundamental problem in the cross compiler domain. I mean, if you can't even
get the right assembler invoked, you are pretty much hosed.


So my questions are:

(1) Is this a problem for other Linux systems other than SuSE 9.2?
(2) Can anyone think of a better workaround (the other one I've come up with is to preprocess the files
by hand, and then invoke the ia64 assembler directly instead of invoking xgcc, but that is prone to
problems as well [getting the right include files found can be difficult....]).


Best Regards,

Ray

Ray Bryant <raybry@sgi.com>


------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]