This is the mail archive of the crossgcc@sourceware.org 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]

Re: GCC-4.0.2 on Cygwin


I don't know enough about the Motorola 68000 targets to tell you whether the CSN (they're usually triplets) you're using is right. I had the same problems building for an s390 derivative before I'd defined the complete *triplet* fully in all the configury/libtool places. _Usually_, the script works expect a three-part CSN, and I saw quite a few places downline where behavior with less than a three-part CSN would be undefined. The third part of the triplet is supposed to mean an OS; and I haven't the slightest idea if the build system for m68k supports an OS-less target. Maybe it does. Maybe it doesn't.

The other thing you might try is combining your gcc & binutils trees and configure them all at once. I usually build trees of symlinks into the same root. The same 'configure' script builds complete makefiles for the build of both gcc & binutils in the proper order (binutils first), and just "knows" to use the just-built binutils to build the compiler.

What's worked for me is to build the symlink tree pointing at their respective CVS local repositories:

 cd $x
 mkdir combined-tree
 cd combined-tree
 ln -s $gcc_source/gcc/* .
 ln -s $binutils_source/* . >/dev/null 2>&1
 rm include;mkdir include;cd include
 ln -s $gcc_source/gcc/include/* .
 ln -s $binutils_source/include/* . >/dev/null 2>&1

Then ...
cd $y/buildspace
$x/combined-tree/configure --target=<n> --prefix=<p> <and so on to your taste>


This has worked for me since gcc-3.x/binutils-2.9 (once I got my new triplet straight, that is :-) ). I'd try it before you start hacking build scripts ... --with-sysroot= was also a godsend for any cross. Once you start hacking build scripts, you'll end up going down some really bizarre paths. Been there, done that.

And the other thing ... maybe Dan's crosstool script handles your target, maybe it doesn't. It might be worth a shot.

Good luck,
--Jim--

Brian Rose wrote:

Jim Tison wrote:

Bleh ... this will teach me to post at midnight!

--build is where you're running the configury/build process. That's self-evident and defaults to the sane value.

--host is where you want the language processor to *run*. If you don't specify it, it will equal --build.

--target is the architecture for which you want the language processor to *emit* code.

When --host == --build != --target, you'll build a normal cross compiler.
When --host != --build != --target, you'll have a Canadian Cross.



So when I build binutils, I do it with the following commands... (from a build directory)

$ ../../binutils-2.16.1/configure --target=m68k-elf --prefix=$HOME/rtems/tools
$ make && make install


So I look in the $HOME/rtems/tools directory and I see a bin and a m68k-elf directory. In bin I see the m68k-elf-* tools which have the correct target. But GCC seems to be looking in the m68k-elf/bin directory, where I have ar, as, etc which have the i686-pc-cygwin target. Having an i686-pc-cygwin target program in the m68k-elf directory doesn't make sense. Can somebody shed light on this?

Anyway, GCC is supposed to look in the prefix/bin directory for the tools. GCC should also prepend the target to the filename to get the complete path name of prefix/bin/target-tool, correct? If so, then something is broken because those files are present.

In any event, I can modify my build script to explicitly call the correct assembler and linker. I would like to solve this, because I don't think that this should be nessecary.

../../gcc-4.0.2/configure --target=m68k-elf --prefix=$HOME/rtems/tools --with-as=$HOME/rtems/tools/bin/m68k-elf-as.exe --with-ld=$HOME/rtems/tools/bin/m68k-elf-ld.exe




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