Cygwin hosted Linux toolchain -- Howto test run

Mumit Khan khan@xraylith.wisc.edu
Mon Aug 9 12:42:00 GMT 1999


=?iso-8859-1?Q?"=D8ystein_O_Johansen"?= <OJOHANS@statoil.com> writes:
> 
> Then I downloaded the sources for binutils and gcc. I used the tar.gz
> instead of bz2, cause I have some trouble with bunzip2, don't know why,
> but it shouldn't matter. binutils-2.9.5.0.4 and gcc-2.95. Extracted to
> /usr/src/BUILD/.

I'll put a note in to that effect.

> Made prefix=/usr/local/cross-tools and target=i686-pc-linux-gnu. Patched
> the gcc-2.95 source
> 
> ===Build===
> $ cd /usr/src/BUILD/binutils-2.9.5.0.4
> $ CONFIG_SHELL=bash /usr/local/src/binutils-2.9.5.0.4/configure \
>     --prefix=$prefix --target=$target --with-gnu-libc -v
> 
> Note: I had to add the --with-gnu-libc flag here!

This shouldn't be needed, but I'll double check.

> $ mkdir gcc
> $ cd gcc
> $ ln -s $prefix/bin/i686-pc-linux-gnu-as.exe as.exe
> 
> At this this point I started to hesitate. Was I supposed to go up
> /usr/src/BUILD/gcc-2.95 before running configure? I decided to do that,
> (I don't remember why I did, but it seemd logical at that moment), so
> 
> $ cd ..

Correct.

I'll clarify this in the howto.

> $ CONFIG_SHELL=bash /usr/local/src/gcc-2.95/configure \
>     --enable-languages=c --prefix=$prefix \
>     --target=$target --enable-shared -v
> 
> Note: I added -v at the end. Just from habit. (Hope this isn't a big
>  consequence?)

No consequences. I always use -v.

> Compiles nice and beatiful until it starts building the target libraries
> (libiberty, libstdc++, libobjc, libg2c, etc). It's depending on the
> include files from the linux source. As it happens, I did have the file
> linux-2.0.36.tar.gz on my computer, extracted the includes, and linked
> them to /usr/local/cross-tools/i686-pc-linux-gnu/include/. Then the
> target libraries was built succesfully (?).

It's probably easier just to get the include files from a linux box
as I outlined. This way you get the linux headers as well.

> I think there is a problem when linking programs.
> 
> $ i686-pc-linux-gnu.gcc -c foo.c
> 
> works fine, but
> 
> $ i686-pc-linux-gnu-gcc -O2 -o foo-linux foo.c

This could be a bug, I have no way of telling how to debug this. I don't 
see on my machine, and in fact, you've already used this gcc to compile
its own runtime support library (libgcc.a).

> runs out of memory, in the linking process. :-(
> Please help on this issue. Does it use the right ld.exe?
> Do I have to recompile binutils? or?

You already did, so I don't see how that will help. I'd guess it's something
to do with the specific glibc2 version you're using.

What happens if you configure/build binutils without --with-gnu-libc?

Regards,
Mumit

_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.


More information about the crossgcc mailing list