Wookey,
At first thought we might need libgcc cross lib for armel. I'll
check binutils patch whenever i have some spare time.
Regards,
Hector
2007/3/3, Wookey <[EMAIL PROTECTED]>:
I spent a bit of time around FOSDEM trying to build an armel toolchain
from current sources and Lennerts patches.
It's not working and I'm a bit perplexed. Clues welcome.
What I did:
Used the updated dpkg and dpkg-cross as has been discussed in other
mails, to
a) build and install cross binutils (v 2.17-3) - no probs.
<patched binutils>
TARGET=armel fakeroot debian/rules binary-cross
dpkg -i binutils-arm-linux-gnueabi_2.17-3_i386.deb
b) install cross linux-kernel-headers_2.6.18-6 glibc6 glibc6-dev (with
dpkg-cross/apt-cross) from Lennert's ADS repository.
This required a bit of hand-tending, because apt-cross 'download, cross and
install'
and dpkg-cross 'build and install in one go' gave me whinges (I haven't
investigated quite why).
so the manual version is:
wget <armel package tzdata, libc6, libc6-dev>
dpkg-cross -aarmel -b linux-kernel-headers_2.6.18-6_all.deb
dpkg-cross -aarmel -b libc6_2.5-0exp3_armel.deb
dpkg-cross -aarmel -b libc6-dev_2.5-0exp3_armel.deb
dpkg-cross -aarmel -b -A tzdata_2006p-1_all.deb
dpkg -i linux-kernel-headers-armel-cross_2.6.18-6_all.deb
dpkg -i tzdata-armel-cross_2006p-1_all.deb
dpkg -i libc6-armel-cross_2.5-0exp3_all.deb
dpkg -i libc6-dev-armel-cross_2.5-0exp3_all.deb
c) build gcc (gcc-4.1-4.1.1ds2) with:
(current source already has armel patches in, but I did modify them to fix up
some
stuff in rules2 where armeb/armel was used a a CPU name, as mentioned in a
previous mail)
echo armel > debian/target
DEB_CROSS_INDEPENDENT=yes dpkg-buildpackage -us -uc -B -rfakeroot
which goes OK building a load of stuff until it tries to link with glibc, when
we get:
/usr/arm-linux-gnueabi/lib/libc.so.6: file not recognized: File format not
recognized
What's that about? Is that actual binutils not working right?
here is the end of the gcc build log in case it helps.
....
/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/xgcc
-B/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/ -B/usr/arm-linux-gnueabi/bin/
-B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem
/usr/arm-linux-gnueabi/sys-include -O2 -O2 -O2 -DIN_GCC -DCROSS_COMPILE -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../libcpp/include
-DSHARED -c ../../src/gcc/config/arm/bpabi.c -o libgcc/./bpabi_s.o
/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/xgcc
-B/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/ -B/usr/arm-linux-gnueabi/bin/
-B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem
/usr/arm-linux-gnueabi/sys-include -O2 -O2 -O2 -DIN_GCC -DCROSS_COMPILE -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../libcpp/include
-DSHARED -c ../../src/gcc/config/arm/unaligned-funcs.c -o
libgcc/./unaligned-funcs_s.o
/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/xgcc
-B/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/ -B/usr/arm-linux-gnueabi/bin/
-B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem
/usr/arm-linux-gnueabi/sys-include -O2 -O2 -O2 -DIN_GCC -DCROSS_COMPILE -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../libcpp/include
-DSHARED -fexceptions -c ../../src/gcc/config/arm/unwind-arm.c -o
libgcc/./unwind-arm_s.o
/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/xgcc
-B/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/ -B/usr/arm-linux-gnueabi/bin/
-B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem
/usr/arm-linux-gnueabi/sys-include -O2 -O2 -O2 -DIN_GCC -DCROSS_COMPILE -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../libcpp/include
-DSHARED -xassembler-with-cpp -c ../../src/gcc/config/arm/libunwind.S -o
libgcc/./libunwind_s.o
/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/xgcc
-B/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/ -B/usr/arm-linux-gnueabi/bin/
-B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem
/usr/arm-linux-gnueabi/sys-include -O2 -O2 -O2 -DIN_GCC -DCROSS_COMPILE -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../libcpp/include
-DSHARED -fexceptions -c ../../src/gcc/config/arm/pr-support.c -o
libgcc/./pr-support_s.o
/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/xgcc
-B/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/ -B/usr/arm-linux-gnueabi/bin/
-B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem
/usr/arm-linux-gnueabi/sys-include -O2 -O2 -O2 -DIN_GCC -DCROSS_COMPILE -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../libcpp/include
-DSHARED -fexceptions -c ../../src/gcc/unwind-c.c -o libgcc/./unwind-c_s.o
{ arm-linux-gnueabi-nm -pg libgcc/./_udivsi3_s.o libgcc/./_divsi3_s.o
libgcc/./_umodsi3_s.o libgcc/./_modsi3_s.o libgcc/./_bb_init_func_s.o
libgcc/./_call_via_rX_s.o libgcc/./_interwork_call_via_rX_s.o
libgcc/./_lshrdi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_ashldi3_s.o
libgcc/./_negdf2_s.o libgcc/./_addsubdf3_s.o libgcc/./_muldivdf3_s.o
libgcc/./_cmpdf2_s.o libgcc/./_unorddf2_s.o libgcc/./_fixdfsi_s.o
libgcc/./_fixunsdfsi_s.o libgcc/./_truncdfsf2_s.o libgcc/./_negsf2_s.o
libgcc/./_addsubsf3_s.o libgcc/./_muldivsf3_s.o libgcc/./_cmpsf2_s.o
libgcc/./_unordsf2_s.o libgcc/./_fixsfsi_s.o libgcc/./_fixunssfsi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatdisf_s.o libgcc/./_aeabi_lcmp_s.o
libgcc/./_aeabi_ulcmp_s.o libgcc/./_aeabi_ldivmod_s.o
libgcc/./_aeabi_uldivmod_s.o libgcc/./_dvmd_lnx_s.o libgcc/./_muldi3_s.o
libgcc/./_negdi2_s.o libgcc/./_cmpdi2_s.o libgcc/./_ucmpdi2_s.o
libgcc/./_clear_cache_s.o libgcc/./_enable_execute_stack_s.o
libgcc/./_trampoline_s.o libgcc/./__main_s.o libgcc/./_absvsi2_s.o
libgcc/./_absvdi2_s.o libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o
libgcc/./_subvsi3_s.o libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o
libgcc/./_mulvdi3_s.o libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o
libgcc/./_ctors_s.o libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o
libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o libgcc/./_ctzdi2_s.o
libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o libgcc/./_popcountdi2_s.o
libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o libgcc/./_powisf2_s.o
libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o libgcc/./_powitf2_s.o
libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o libgcc/./_mulxc3_s.o
libgcc/./_multc3_s.o libgcc/./_divsc3_s.o libgcc/./_divdc3_s.o
libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_fixdfdi_s.o
libgcc/./_fixunsdfdi_s.o libgcc/./_fixxfdi_s.o libgcc/./_fixunsxfdi_s.o
libgcc/./_floatdixf_s.o libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o
libgcc/./_floatditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./bpabi_s.o libgcc/./unaligned-funcs_s.o
libgcc/./unwind-arm_s.o libgcc/./libunwind_s.o libgcc/./pr-support_s.o
libgcc/./unwind-c_s.o; echo %%; \
cat ../../src/gcc/libgcc-std.ver
../../src/gcc/config/libgcc-glibc.ver ../../src/gcc/config/libgcc-glibc.ver
../../src/gcc/config/arm/libgcc-bpabi.ver \
| sed -e '/^[ ]*#/d' \
-e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \
| /usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/xgcc
-B/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/ -B/usr/arm-linux-gnueabi/bin/
-B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem
/usr/arm-linux-gnueabi/sys-include -O2 -O2 -O2 -DIN_GCC -DCROSS_COMPILE -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../libcpp/include
-E -xassembler-with-cpp -; \
} | gawk -f ../../src/gcc/mkmap-symver.awk > libgcc/./tmp-libgcc.map
mv 'libgcc/./tmp-libgcc.map' libgcc/./libgcc.map
/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/xgcc
-B/usr/src/armel/gcc-4.1-4.1.1ds2/build/./gcc/ -B/usr/arm-linux-gnueabi/bin/
-B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem
/usr/arm-linux-gnueabi/sys-include -O2 -O2 -O2 -DIN_GCC -DCROSS_COMPILE -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -shared -nodefaultlibs
-Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc/./libgcc.map -Wl,-O1 -o
./libgcc_s.so.1.tmp libgcc/./_udivsi3_s.o libgcc/./_divsi3_s.o
libgcc/./_umodsi3_s.o libgcc/./_modsi3_s.o libgcc/./_bb_init_func_s.o
libgcc/./_call_via_rX_s.o libgcc/./_interwork_call_via_rX_s.o
libgcc/./_lshrdi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_ashldi3_s.o
libgcc/./_negdf2_s.o libgcc/./_addsubdf3_s.o libgcc/./_muldivdf3_s.o
libgcc/./_cmpdf2_s.o libgcc/./_unorddf2_s.o libgcc/./_fixdfsi_s.o
libgcc/./_fixunsdfsi_s.o libgcc/./_truncdfsf2_s.o libgcc/./_negsf2_s.o
libgcc/./_addsubsf3_s.o libgcc/./_muldivsf3_s.o libgcc/./_cmpsf2_s.o
libgcc/./_unordsf2_s.o libgcc/./_fixsfsi_s.o libgcc/./_fixunssfsi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatdisf_s.o libgcc/./_aeabi_lcmp_s.o
libgcc/./_aeabi_ulcmp_s.o libgcc/./_aeabi_ldivmod_s.o
libgcc/./_aeabi_uldivmod_s.o libgcc/./_dvmd_lnx_s.o libgcc/./_muldi3_s.o
libgcc/./_negdi2_s.o libgcc/./_cmpdi2_s.o libgcc/./_ucmpdi2_s.o
libgcc/./_clear_cache_s.o libgcc/./_enable_execute_stack_s.o
libgcc/./_trampoline_s.o libgcc/./__main_s.o libgcc/./_absvsi2_s.o
libgcc/./_absvdi2_s.o libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o
libgcc/./_subvsi3_s.o libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o
libgcc/./_mulvdi3_s.o libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o
libgcc/./_ctors_s.o libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunsxfsi_s.o libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o
libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_fixtfdi_s.o
libgcc/./_fixunstfdi_s.o
libgcc/./_floatditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o
libgcc/./_udiv_w_sdiv_s.o libgcc/./_udivmoddi4_s.o libgcc/./bpabi_s.o libgcc/./unaligned-funcs_s.o
libgcc/./unwind-arm_s.o libgcc/./libunwind_s.o libgcc/./pr-support_s.o libgcc/./unwind-c_s.o -lc && rm
-f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else
true; fi && mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
/usr/arm-linux-gnueabi/lib/libc.so.6: file not recognized: File format not
recognized
collect2: ld returned 1 exit status
make[5]: *** [libgcc_s.so] Error 1
make[5]: Leaving directory /usr/src/armel/gcc-4.1-4.1.1ds2/build/gcc'
make[4]: *** [stmp-multilib] Error 2
make[4]: Leaving directory /usr/src/armel/gcc-4.1-4.1.1ds2/build/gcc'
make[3]: *** [all-gcc] Error 2
make[3]: Leaving directory /usr/src/armel/gcc-4.1-4.1.1ds2/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory /usr/src/armel/gcc-4.1-4.1.1ds2/build'
s=cat status; rm -f status; test $s -eq 0
make[1]: *** [stamps/05-build-stamp] Error 1
make[1]: Leaving directory /usr/src/armel/gcc-4.1-4.1.1ds2'
make: *** [stamps/05-build-stamp] Error 2
Wookey
--
Principle hats: Balloonz - Toby Churchill - Aleph One - Debian
http://wookware.org/
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.