Cross tool chain based on gcc-3.4.x
Hello,
I try to get a cross compiler based on
gcc-3.4.2
glibc-2.3.2
binutils-2.15
working; without success.
Is anyone using a cross compiler base on gcc-3.4.x for a mips big endian target?
Best regarts
TheNop
Quoted 8 lines · TheNop
Hello,
I try to get a cross compiler based on
gcc-3.4.2
glibc-2.3.2
binutils-2.15
working; without success.
Quoted 5 lines
Is anyone using a cross compiler base on gcc-3.4.x for a mips big endian target?
Best regarts
TheNop
I've got a very recent i686->mips-unknown-linux-gnu cross-toolchain available at:http://dev.gentoo.org/~geoman/mips-glibc-crosstools.tar.bz2 if you are too frustrated with building your own.
It includes gcc-3.4.3, glibc-2.3.4 (20041102), and binutils 2.15.91.0.2.
Steve
Quoted 16 lines · Stephen P. Becker
Quoted 8 lines · TheNop
Hello,
I try to get a cross compiler based on
gcc-3.4.2
glibc-2.3.2
binutils-2.15
working; without success.Quoted 5 lines
Is anyone using a cross compiler base on gcc-3.4.x for a mips big endian target?
Best regarts
TheNop
Quoted 7 lines
I've got a very recent i686->mips-unknown-linux-gnu cross-toolchain available at:http://dev.gentoo.org/~geoman/mips-glibc-crosstools.tar.bz2 if you are too frustrated with building your own.
It includes gcc-3.4.3, glibc-2.3.4 (20041102), and binutils 2.15.91.0.2.
Steve
Hi Steve,
thanx a lot.
This tool chain works perfectly for me. Now I can build 2.6.x kernel.
In the past I tried to build a cross tool chain using crosstools. I don`t get any combination of gcc-3.4.x/glibc-2.x.x working. Only the gcc-3.4.x-glibc-2.3.3 combination I could compile without errors, but I couldn't compile a 2.6.x kernel.
Could you please tell me, how you compile the tool chain?
It would be great, if you can provide me a script or a list of patches you applied for building.
Best regards
TheNop
Quoted 31 lines · TheNop
Quoted 16 lines · Stephen P. Becker
Quoted 8 lines · TheNop
Hello,
I try to get a cross compiler based on
gcc-3.4.2
glibc-2.3.2
binutils-2.15
working; without success.Quoted 5 lines
Is anyone using a cross compiler base on gcc-3.4.x for a mips big endian target?
Best regarts
TheNopQuoted 7 lines
I've got a very recent i686->mips-unknown-linux-gnu cross-toolchain available at:http://dev.gentoo.org/~geoman/mips-glibc-crosstools.tar.bz2 if you are too frustrated with building your own.
It includes gcc-3.4.3, glibc-2.3.4 (20041102), and binutils 2.15.91.0.2.
Steve
Hi Steve,
thanx a lot.
This tool chain works perfectly for me. Now I can build 2.6.x kernel.
In the past I tried to build a cross tool chain using crosstools. I don`t get any combination of gcc-3.4.x/glibc-2.x.x working. Only the gcc-3.4.x-glibc-2.3.3 combination I could compile without errors, but I couldn't compile a 2.6.x kernel.
Quoted 7 lines
Could you please tell me, how you compile the tool chain?
It would be great, if you can provide me a script or a list of patches you applied for building.Best regards
TheNop
Hello,
sorry, typing error:
Only the gcc-3.4.x-glibc-2.3.2 combination I could compile without errors, but I couldn't compile a 2.6.x kernel.
Best regards
TheNop
Quoted 31 lines · TheNop
Quoted 16 lines · Stephen P. Becker
Quoted 8 lines · TheNop
Hello,
I try to get a cross compiler based on
gcc-3.4.2
glibc-2.3.2
binutils-2.15
working; without success.Quoted 5 lines
Is anyone using a cross compiler base on gcc-3.4.x for a mips big endian target?
Best regarts
TheNopQuoted 7 lines
I've got a very recent i686->mips-unknown-linux-gnu cross-toolchain available at:http://dev.gentoo.org/~geoman/mips-glibc-crosstools.tar.bz2 if you are too frustrated with building your own.
It includes gcc-3.4.3, glibc-2.3.4 (20041102), and binutils 2.15.91.0.2.
Steve
Hi Steve,
thanx a lot.
This tool chain works perfectly for me. Now I can build 2.6.x kernel.
In the past I tried to build a cross tool chain using crosstools. I don`t get any combination of gcc-3.4.x/glibc-2.x.x working. Only the gcc-3.4.x-glibc-2.3.3 combination I could compile without errors, but I couldn't compile a 2.6.x kernel.
Quoted 7 lines
Could you please tell me, how you compile the tool chain?
It would be great, if you can provide me a script or a list of patches you applied for building.Best regards
TheNop
Actually, if you just wanted to build kernels, you don't need glibc at all. Just build binutils and then a bootstrap gcc compiler, and you are set. The only reason I messed with a full toolchain at all is so that I can use c++ through distcc.
Steve
Quoted 36 lines · Stephen P. Becker
Quoted 34 lines · TheNop
Quoted 16 lines · Stephen P. Becker
Quoted 8 lines · TheNop
Hello,
I try to get a cross compiler based on
gcc-3.4.2
glibc-2.3.2
binutils-2.15
working; without success.Quoted 5 lines
Is anyone using a cross compiler base on gcc-3.4.x for a mips big endian target?
Best regarts
TheNopQuoted 7 lines
I've got a very recent i686->mips-unknown-linux-gnu cross-toolchain available at:http://dev.gentoo.org/~geoman/mips-glibc-crosstools.tar.bz2 if you are too frustrated with building your own.
It includes gcc-3.4.3, glibc-2.3.4 (20041102), and binutils 2.15.91.0.2.
Steve
Hi Steve,
thanx a lot.
This tool chain works perfectly for me. Now I can build 2.6.x kernel.
In the past I tried to build a cross tool chain using crosstools. I don`t get any combination of gcc-3.4.x/glibc-2.x.x working. Only the gcc-3.4.x-glibc-2.3.3 combination I could compile without errors, but I couldn't compile a 2.6.x kernel.Could you please tell me, how you compile the tool chain?
It would be great, if you can provide me a script or a list of patches you applied for building.
Quoted 10 lines
Quoted 4 lines
Best regards
TheNopActually, if you just wanted to build kernels, you don't need glibc at all. Just build binutils and then a bootstrap gcc compiler, and you are set. The only reason I messed with a full toolchain at all is so that I can use c++ through distcc.
Steve
Hi Steve,
I also want to build a root file system for the target.
I tried to build the tool chain you described above.
I used crossdev on gentoo: "crossdev --arch=mips --vbinutils=2.15.91.0.2 --vheaders=2.4.25 --vgcc=3.4.3 --vglibc=2.3.4.20041102" But it fails.
mips/mips-unknown-linux-gnu/sys-include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -DHAVE_SYSLOG -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -D_LIBC_PROVIDES_SSP_ -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -DL_eprintf -c ../../gcc/libgcc2.c -o libgcc/./_eprintf.o/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc/xgcc -B/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc/ -B/home/crossdev/mips/mips-unknown-linux-gnu/bin/ -B/home/crossdev/mips/mips-unknown-linux-gnu/lib/ -isystem /home/crossdev/mips/mips-unknown-linux-gnu/include -isystem /home/crossdev/mips/mips-unknown-linux-gnu/sys-include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -DHAVE_SYSLOG -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -D_LIBC_PROVIDES_SSP_ -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -DL__gcc_bcmp -c ../../gcc/libgcc2.c -o libgcc/./__gcc_bcmp.o../../gcc/unwind-dw2.c: In function `uw_frame_state_for':../../gcc/unwind-dw2.c:1027: error: structure has no member named sc_regs' ../../gcc/unwind-dw2.c:1027: error: structure has no member named sc_pc' make[2]: *** [libgcc/./unwind-dw2.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc' make[1]: *** [libgcc.a] Error 2
make[1]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc'
make: *** [all-gcc] Error 2
How did you build the tool chain?
What kernel headers did you use?
If I use kernel headers 2.6.8.1 (I realy need 2.6 heraders!) the installation of the headers fails!
It would be great If you can tell me which paramerter I have to use with crossdev to get a working tool chain.
Best regards
TheNop
Quoted 35 lines
Hi Steve,
I also want to build a root file system for the target.
I tried to build the tool chain you described above.
I used crossdev on gentoo: "crossdev --arch=mips --vbinutils=2.15.91.0.2 --vheaders=2.4.25 --vgcc=3.4.3 --vglibc=2.3.4.20041102"
But it fails.mips/mips-unknown-linux-gnu/sys-include -O2 -DIN_GCC -DCROSS_COMPILE
(quoted diff) +0
-4-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -DHAVE_SYSLOG -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -D_LIBC_PROVIDES_SSP_ -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -DL_eprintf -c
../../gcc/libgcc2.c-olibgcc/./_eprintf.o/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc/xgcc(quoted diff) +0
-3-B/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc/ -B/home/crossdev/mips/mips-unknown-linux-gnu/bin/ -B/home/crossdev/mips/mips-unknown-linux-gnu/lib/ -isystem
/home/crossdev/mips/mips-unknown-linux-gnu/include-isystem/home/crossdev/mips/mips-unknown-linux-gnu/sys-include-O2 -DIN_GCC(quoted diff) +0
-5-DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -DHAVE_SYSLOG -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -D_LIBC_PROVIDES_SSP_ -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -DL__gcc_bcmp -c ../../gcc/libgcc2.c -o
libgcc/./__gcc_bcmp.o../../gcc/unwind-dw2.c: In function `uw_frame_state_for':../../gcc/unwind-dw2.c:1027: error: structure has no member namedsc_regs' ../../gcc/unwind-dw2.c:1027: error: structure has no member namedsc_pc' make[2]: *** [libgcc/./unwind-dw2.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc' make[1]: *** [libgcc.a] Error 2
make[1]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc'
make: *** [all-gcc] Error 2
Quoted 8 lines
How did you build the tool chain?
What kernel headers did you use?
If I use kernel headers 2.6.8.1 (I realy need 2.6 heraders!) the installation of the headers fails!It would be great If you can tell me which paramerter I have to use with crossdev to get a working tool chain.
Best regards
TheNop
Well, this really is more of a question for the gentoo-mips mailing list. But anyway, 2.4 headers newer than our 2.4.22-r1 ebuild are broken (I can't remember exactly how at the moment), and we *really* don't support 2.6 headers at all. In fact, building against them breaks glibc on o32 userland. The only reason we have them in portage at all right now is for our n32 userland (which is broken in other ways because of the headers). Eventually we'll have a sanitized 2.6 headers package that should work, but it may not be anytime soon.
Anyway to answer your question, I used crossdev to build a bootstrap C compiler (crossdev -k), then I did the rest by hand. You might also need to get kumba's latest version of the crossdev script from gentoo's viewcvs under gentoo/users/kumba/crossdev/ just to get past the first part.
Why do you *need* 2.6 headers anyhow? You can still run a 2.6 kernel with a userland compiled with 2.4 headers.
Steve
Quoted 49 lines · Stephen P. Becker
Quoted 37 lines
Hi Steve,
I also want to build a root file system for the target. I tried to build the tool chain you described above. I used crossdev on gentoo: "crossdev --arch=mips --vbinutils=2.15.91.0.2 --vheaders=2.4.25 --vgcc=3.4.3 --vglibc=2.3.4.20041102"
But it fails.mips/mips-unknown-linux-gnu/sys-include -O2 -DIN_GCC
(quoted diff) +0
-5-DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -DHAVE_SYSLOG -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -D_LIBC_PROVIDES_SSP_ -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -DL_eprintf -c ../../gcc/libgcc2.c -o
libgcc/./_eprintf.o/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc/xgcc(quoted diff) +0
-3-B/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc/ -B/home/crossdev/mips/mips-unknown-linux-gnu/bin/ -B/home/crossdev/mips/mips-unknown-linux-gnu/lib/ -isystem
/home/crossdev/mips/mips-unknown-linux-gnu/include-isystem/home/crossdev/mips/mips-unknown-linux-gnu/sys-include-O2 -DIN_GCC(quoted diff) +0
-5-DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -DHAVE_SYSLOG -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -D_LIBC_PROVIDES_SSP_ -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -DL__gcc_bcmp -c ../../gcc/libgcc2.c -o
libgcc/./__gcc_bcmp.o../../gcc/unwind-dw2.c: In function `uw_frame_state_for':../../gcc/unwind-dw2.c:1027: error: structure has no member namedsc_regs' ../../gcc/unwind-dw2.c:1027: error: structure has no member namedsc_pc' make[2]: *** [libgcc/./unwind-dw2.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc' make[1]: *** [libgcc.a] Error 2
make[1]: Leaving directory `/var/tmp/portage/crossdevbuild/gcc-3.4.3/buildboothere-mips/gcc'
make: *** [all-gcc] Error 2Quoted 8 lines
How did you build the tool chain?
What kernel headers did you use?
If I use kernel headers 2.6.8.1 (I realy need 2.6 heraders!) the installation of the headers fails!It would be great If you can tell me which paramerter I have to use with crossdev to get a working tool chain.
Best regards
TheNopWell, this really is more of a question for the gentoo-mips mailing list. But anyway, 2.4 headers newer than our 2.4.22-r1 ebuild are broken (I can't remember exactly how at the moment), and we *really* don't support 2.6 headers at all. In fact, building against them breaks glibc on o32 userland. The only reason we have them in portage at all right now is for our n32 userland (which is broken in other ways because of the headers). Eventually we'll have a sanitized 2.6 headers package that should work, but it may not be anytime soon.
Quoted 7 lines
Anyway to answer your question, I used crossdev to build a bootstrap C compiler (crossdev -k), then I did the rest by hand. You might also need to get kumba's latest version of the crossdev script from gentoo's viewcvs under gentoo/users/kumba/crossdev/ just to get past the first part.
Why do you *need* 2.6 headers anyhow? You can still run a 2.6 kernel with a userland compiled with 2.4 headers.
Steve
Hi Steve,
I thought that I have to use 2.6 headers if I want to run a 2.6 kernel. If not, I'm happy with a working tool chain compiled with 2.4 headers :-).
Best regards
TheNop
Hello,
Quoted 1 line · TheNop
Is anyone using a cross compiler base on gcc-3.4.x for a mips big endian target?
Yes. Using buildroot (the tool provided by uclibc guys), I successfully generated tool chains for MIPS Big Endian with both Gcc 3.3.x et Gcc 3.4.x. C and C++ programs, dynamically linked with uclibc work fine. However, with Gcc 3.4.x, my version of the Linux MIPS kernel (a more than one month old CVS checkout, heavily tuned for my platform) doesn't compile.
Thomas
Signature · 4 lines
PETAZZONI Thomas - [email protected] http://thomas.enix.org - Jabber: [email protected] KOS: http://kos.enix.org/ - Lolut: http://lolut.utbm.info Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E 1624 F653 CB30 98D3 F7A7
Quoted 10 lines · Thomas Petazzoni
Hello,
Quoted 1 line · TheNop
Is anyone using a cross compiler base on gcc-3.4.x for a mips big endian target?
Yes. Using buildroot (the tool provided by uclibc guys), I successfully generated tool chains for MIPS Big Endian with both Gcc 3.3.x et Gcc 3.4.x. C and C++ programs, dynamically linked with uclibc work fine. However, with Gcc 3.4.x, my version of the Linux MIPS kernel (a more than one month old CVS checkout, heavily tuned for my platform) doesn't compile.
Thomas
Hi Thomas,
I tried the current cvs version of toolchain provide by www.uclibc.org without success. I will try buildroot tomorrow.
Hopefully I have luck than with crosstools.
Best regards
TheNop