User:Jbilyk
ARM port progress
Process so far:
Binutils:
binutils-2.21.1a.tar.bz2 with the following patch: http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-devtools/binutils/binutils/clone-shadow.patch apk add alpine-sdk zlib-dev ./configure --target=arm-linux --prefix=/usr/local/armtoolchain make make install
stage1:
unpack 3.0.4 kernel sources modify makefile: SUBARCH = arm apk add ncurses-dev make menuconfig (ARM Ltd. Versatile family) apk add gmp-dev mpfr-dev libmpc-dev download & unpack gcc-4.6.1 sources ./configure --target=arm-linux --prefix=/usr/local/armtoolchain --with-headers=/usr/local/src/linux-3.0.4/include --enable-languages=c --disable-threads --disable-shared make all-gcc make install-gcc
stage2:
unpack uclibc0.9.32 sources KERNEL_HEADERS=/usr/local/src/linux-3.0.4/include CC=arm-linux-gcc PATH=${PATH}:/usr/local/armtoolchain/bin cd ~ git clone git://git.alpinelinux.org/aports cp -a ~/aports/main/lib0.9.32/*.patch /usr/local/src/uClibc-0.9.32/ cd /usr/local/src/uClibc-0.9.32 for i in `ls *.patch`; do patch -p1 -i $i; done sed -i -e "s/^ABI_VERSION.*/ABI_VERSION := 0.9.32/" -e "s/-Wold-style-declaration//g" Rules.mak wget http://git.alpinelinux.org/cgit/aports/tree/main/libc0.9.32/uclibcconfig.arm -O /usr/local/src/uClibc-0.9.32/.config make silentoldconfig make all CROSS=arm-linux-
That last make command didn't go over so well:
buildarm-edge:/usr/local/src/uClibc-0.9.32$ make all CROSS=arm-linux- CC ldso/ldso/ldso.oS In file included from ./ldso/include/dl-string.h:11:0, from ./ldso/include/ldso.h:42, from ldso/ldso/ldso.c:33: ./ldso/ldso/arm/dl-sysdep.h: In function 'elf_machine_load_address': ./ldso/ldso/arm/dl-sysdep.h:119:37: warning: taking address of expression of type 'void' [enabled by default] In file included from ldso/ldso/ldso.c:42:0: ldso/ldso/dl-tls.c: In function 'init_tls': ldso/ldso/dl-tls.c:1028:1: error: '__ARM_NR_set_tls' undeclared (first use in this function) ldso/ldso/dl-tls.c:1028:1: note: each undeclared identifier is reported only once for each function it appears in In file included from ldso/ldso/ldso.c:46:0: ldso/ldso/arm/elfinterp.c: In function '_dl_linux_resolver': ldso/ldso/arm/elfinterp.c:72:11: warning: assignment makes integer from pointer without a cast [enabled by default] ldso/ldso/arm/elfinterp.c: In function '_dl_do_reloc': ldso/ldso/arm/elfinterp.c:205:15: warning: assignment makes integer from pointer without a cast [enabled by default] ldso/ldso/arm/elfinterp.c:191:19: warning: unused variable 'def' [-Wunused-variable] ldso/ldso/ldso.c: In function '_dl_get_ready_to_run': ldso/ldso/ldso.c:1011:1: error: '__ARM_NR_set_tls' undeclared (first use in this function) make: *** [ldso/ldso/ldso.oS] Error 1
buildarm-edge:/usr/local/src/uClibc-0.9.32$ diff ./.config /home/jbilyk/aports/main/libc0.9.32/uclibcconfig.arm --- ./.config +++ /home/jbilyk/aports/main/libc0.9.32/uclibcconfig.arm @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Version: 0.9.32 -# Thu Sep 22 02:11:57 2011 +# Version: 0.9.32-rc3 +# Fri Mar 18 13:13:20 2011 # # TARGET_alpha is not set TARGET_arm=y @@ -71,7 +71,7 @@ DO_C99_MATH=y DO_XSI_MATH=y UCLIBC_HAS_FENV=y -KERNEL_HEADERS="/usr/local/src/linux-3.0.4/include" +KERNEL_HEADERS="/usr/include" HAVE_DOT_CONFIG=y # @@ -231,7 +231,7 @@ RUNTIME_PREFIX="/" DEVEL_PREFIX="/usr" MULTILIB_DIR="lib" -# HARDWIRED_ABSPATH is not set +# HARDWIRED_ABSPATH is not set=y # # Security options @@ -252,7 +252,7 @@ # # uClibc development/debugging options # -CROSS_COMPILER_PREFIX="/usr/local/src/armtoolchain" +CROSS_COMPILER_PREFIX="" UCLIBC_EXTRA_CFLAGS="" # DODEBUG is not set DOSTRIP=y
Possible: http://www.mail-archive.com/uclibc@uclibc.org/msg00677.html
TODO (once the build is working):
- Rebuild gcc w/ all languages (not just C)
- Start build aports