From 07bb6026cea496a885d217cc5f505ca3896d78b8 Mon Sep 17 00:00:00 2001 From: hugo Date: Thu, 4 Mar 2010 22:49:40 +0000 Subject: [PATCH] Test ARM avec eglibc (en cours) --- functions | 4 ++-- packages-list | 4 +++- stage0/cis-binutils | 1 - stage0/cis-eglibc | 10 +++++++--- stage0/cis-gcc-pass1 | 10 ++-------- stage0/cis-gcc-pass2 | 6 +----- stage0/cis-pre-install | 2 +- stage0/install-1 | 33 ++++++++++----------------------- stage0/packages-update | 12 +++--------- sysinfos | 2 +- 10 files changed, 30 insertions(+), 54 deletions(-) diff --git a/functions b/functions index d3a4c2d..79a57e1 100644 --- a/functions +++ b/functions @@ -34,8 +34,8 @@ fi case "${HVL_TARGET}" in arm*) - CLFS_BUILDFLAGS="-mabi=apcs-gnu" - CLFS_TARGET="${HVL_TARGET}-unknown-linux-gnueabi" + CLFS_BUILDFLAGS="-mabi=aapcs-linux -mfloat-abi=soft" + CLFS_TARGET="arm-linux-gnueabi" CLFS_ARCH=$(echo ${CLFS_TARGET} | sed -e 's/-.*//' -e 's/arm.*/arm/g') CLFS_ENDIAN=$(echo ${CLFS_ARCH} | sed -e 's/armeb/BIG/' -e 's/arm/LITTLE/') if [ "${CLFS_ENDIAN}" = "LITTLE" ]; then diff --git a/packages-list b/packages-list index dec6cd8..a06a87e 100644 --- a/packages-list +++ b/packages-list @@ -68,7 +68,9 @@ E2FSPROGS="e2fsprogs-1.41.9" EASYTAG="easytag-2.1" ED="ed-1.4" EGGDBUS="eggdbus-0.6" -EGLIBC="eglibc-2.10.1-20090825-r8873" +###EGLIBC="eglibc-2.10.1-20090825-r8873" +EGLIBC="eglibc-2.10.1-20100304-r9381" +EGLIBC_PORTS="eglibc-ports-2.10.1-20100304-r9381" UCLIBC="uClibc-0.9.30.1" EMACS="emacs-23.1" ESOUND="esound-0.2.37" diff --git a/stage0/cis-binutils b/stage0/cis-binutils index b86de64..ab33892 100755 --- a/stage0/cis-binutils +++ b/stage0/cis-binutils @@ -13,7 +13,6 @@ case "${HVL_TARGET}" in "x86_64") # This adds 64 bit support to Binutils. TARGET_CONFIGURE_OPTS="--enable-64-bit-bfd" - ########## --with-lib-path=/tools/lib ;; esac diff --git a/stage0/cis-eglibc b/stage0/cis-eglibc index 5c7f872..acec63c 100755 --- a/stage0/cis-eglibc +++ b/stage0/cis-eglibc @@ -7,19 +7,23 @@ source ../functions source ../packages-list # Manually apply patch -apply_patch ${1}-rpath.patch ${1} +####apply_patch eglibc-2.10.1-fixes-4.patch ${1} case "${HVL_TARGET}" in "x86") + # Manually apply patch + apply_patch ${1}-rpath.patch ${1} + TMP_CFLAGS="-march=$(cut -d- -f1 <<< ${CLFS_TARGET}) -mtune=generic -g -O2" ;; esac cd ${LFS_TMP}/${1} +decompress_package ${EGLIBC_PORTS} $(pwd) 1> /dev/null + # Disable linking to libgcc_eh: -cp -v Makeconfig{,.orig} -sed -e 's/-lgcc_eh//g' Makeconfig.orig > Makeconfig +sed -e 's/-lgcc_eh//g' -i Makeconfig cd ${LFS_TMP}/${1}-build diff --git a/stage0/cis-gcc-pass1 b/stage0/cis-gcc-pass1 index da0102e..4e665f8 100755 --- a/stage0/cis-gcc-pass1 +++ b/stage0/cis-gcc-pass1 @@ -10,7 +10,7 @@ source ../packages-list apply_patch ${1}-branch_update-1.patch ${1} case "${HVL_TARGET}" in - "x86*") + *) TARGET_CONFIGURE_OPTS="--with-ppl=/cross-tools \ --with-cloog=/cross-tools \ --with-local-prefix=/tools \ @@ -18,6 +18,7 @@ case "${HVL_TARGET}" in ;; esac + case "${HVL_TARGET}" in "x86") apply_patch ${1}-specs-1.patch ${1} @@ -78,11 +79,4 @@ AR=ar LDFLAGS="-Wl,-rpath,/cross-tools/lib" \ ${HVMAKE} all-gcc all-target-libgcc ${HVMAKE} install-gcc install-target-libgcc -case "${HVL_TARGET}" in - arm*) - # Workaround for uClibc - echo "#include \"/cross-tools/lib/gcc/arm926t-unknown-linux-gnueabi/4.4.2/include-fixed/limits.h\"" > /tools/include/limits.h - ;; -esac - exit $? diff --git a/stage0/cis-gcc-pass2 b/stage0/cis-gcc-pass2 index 22923c3..4ec8626 100755 --- a/stage0/cis-gcc-pass2 +++ b/stage0/cis-gcc-pass2 @@ -10,15 +10,11 @@ source ../packages-list apply_patch ${1}-branch_update-1.patch ${1} case "${HVL_TARGET}" in - "x86*") + *) TARGET_CONFIGURE_OPTS="--with-ppl=/cross-tools \ --with-cloog=/cross-tools \ --disable-multilib" ;; - arm*) - # Removing workaround for uClibc - echo "" > /tools/include/limits.h - ;; esac case "${HVL_TARGET}" in diff --git a/stage0/cis-pre-install b/stage0/cis-pre-install index 1fa9261..5183a23 100755 --- a/stage0/cis-pre-install +++ b/stage0/cis-pre-install @@ -31,7 +31,7 @@ if ! grep "lfs" /etc/passwd 1> /dev/null 2>&1; then fi # Creating basic directories -for subdir in tmp var boot tools cross-tools; do +for subdir in tmp var tools cross-tools; do dir=${LFS}/${subdir} if [ ! -d ${dir} ]; then install -dv ${dir} diff --git a/stage0/install-1 b/stage0/install-1 index b9bf735..af1cd15 100755 --- a/stage0/install-1 +++ b/stage0/install-1 @@ -30,32 +30,19 @@ CPPFLAGS=-fexceptions \ LDFLAGS="-Wl,-rpath,/cross-tools/lib" \ ipkg_ac ${MPFR} "--enable-shared --with-gmp=/cross-tools" -case "${HVL_TARGET}" in - x86*) - LDFLAGS="-Wl,-rpath,/cross-tools/lib" \ - ipkg_ac ${PPL} "--enable-shared \ - --enable-interfaces=c,cxx \ - --disable-optimization \ - --with-libgmp-prefix=/cross-tools \ - --with-libgmpxx-prefix=/cross-tools" - LDFLAGS="-Wl,-rpath,/cross-tools/lib" \ - ipkg_cust ${CLOOG_PPL} cis-cloog-ppl "--enable-shared --with-bits=gmp \ - --with-gmp=/cross-tools --with-ppl=/cross-tools" - ;; -esac +LDFLAGS="-Wl,-rpath,/cross-tools/lib" \ + ipkg_ac ${PPL} "--enable-shared \ + --enable-interfaces=c,cxx \ + --disable-optimization \ + --with-libgmp-prefix=/cross-tools \ + --with-libgmpxx-prefix=/cross-tools" +LDFLAGS="-Wl,-rpath,/cross-tools/lib" \ + ipkg_cust ${CLOOG_PPL} cis-cloog-ppl "--enable-shared --with-bits=gmp \ + --with-gmp=/cross-tools --with-ppl=/cross-tools" ipkg_cust ${BINUTILS} cis-binutils ipkg ${GCC_CORE} cis-gcc-pass1 "${GCC_CORE}-pass1" - -case "${HVL_TARGET}" in - x86*) - ipkg_cust ${EGLIBC} cis-eglibc - ;; - arm*) - ipkg_cust ${UCLIBC} cis-uclibc - ;; -esac - +ipkg_cust ${EGLIBC} cis-eglibc ipkg ${GCC_CORE} cis-gcc-pass2 "${GCC_CORE}-pass2" exit $? diff --git a/stage0/packages-update b/stage0/packages-update index 9e73a49..a9a33d6 100755 --- a/stage0/packages-update +++ b/stage0/packages-update @@ -28,14 +28,8 @@ fpkg -s "$(get_pkg_ver ${PPL})" ${PPL} \ fpkg ${CLOOG_PPL} "ftp://gcc.gnu.org/pub/gcc/infrastructure" fpkg_gnu ${BINUTILS} fpkg_gnu ${GCC_CORE} "gcc/${GCC_CORE}" - -case "${HVL_TARGET}" in - x86*) - fpkg ${EGLIBC} "http://cross-lfs.org/files/packages/svn" - ;; - arm*) - fpkg ${UCLIBC} "http://www.uclibc.org/downloads" - ;; -esac +#fpkg ${EGLIBC} "http://cross-lfs.org/files/packages/svn" +fpkg_hv ${EGLIBC} +fpkg_hv ${EGLIBC_PORTS} exit $? diff --git a/sysinfos b/sysinfos index f422789..94b7ed5 100644 --- a/sysinfos +++ b/sysinfos @@ -15,7 +15,7 @@ INST_TYPE="server" REGUSER="hugo" # Destination path where to install new Linux-HV system -LFS="/mnt/hvlinux-arm" +LFS="/opt/toolchains/arm926ejs/clfs" # Destination partition where to install new Linux-HV system LFS_PARTITION="/dev/sda8" -- 2.20.1