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] |
Dan Kegel wrote: > > Hey folks, > we're having a problem building gcc-3.0.2 for sh4 on an x86 system. > It looks like the build process for gcc is using 'as' without > a prefix, so it's getting the system 'as', which can't understand > the output of sh4 gcc (naturally). This is completely right, each cross-compiler has its 'ar', 'as', 'ld', 'nm', 'ranlib' etc. in its own '$prefix/$target/bin', but the '$prefix' is normally common for all the cross-tools and the '$prefix/bin' has the tools used by the human user with the names '$target-<tool>', for instance 'sh-elf-gcc' ... The rules say that binutils and GCC for a target must be configured to use the same $prefix and $target names. If not, 'make install' puts them to the wrong '$prefix/$target/bin' for GCC to find them... Just check this from your GCC-manual, the section "Installation / Cross-Compiler". When you used prebuilt binutils, libs and headers for the target, you should have preinstalled them under your chosen '$prefix/$target'. > We used strace on the problem line, and verified that xgcc was > searching the path for 'as'. If the 'as' for the target is not in the needed '$prefix/$target/bin', (or in any directory given by './xgcc -print-search-dirs') the 'as' in the system PATH will be used... > What are we doing wrong here? > > /home/dank/sh4-gcc/gcc-build/gcc/xgcc > > -B/home/dank/sh4-gcc/gcc-build/gcc/ > > -B/opt/hardhat/devkit/sh/sh4_le/sh4-linux/bin/ <---- ! > > -B/opt/hardhat/devkit/sh/sh4_le/sh4-linux/lib/ <---- ! > > -isystem /opt/hardhat/devkit/sh/sh4_le/sh4-linux/include <---- ! The last three rows show where the binaries, libraries and headers for the 'sh4-linux' target are sought. So your chosen $prefix for GCC is the: /opt/hardhat/devkit/sh/sh4_le and the chosen $target is the: sh4-linux So your binutils for the 'sh4-linux' target should be in the shown '/opt/hardhat/devkit/sh/sh4_le/sh4-linux/bin/' with their base names. If they aren't there, that is the big problem... Cheers, Kai ------ 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] |