CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
Toolchain update for 3.0
authorJose V Beneyto <sepen@crux.nu>
Wed, 14 Aug 2013 09:38:11 +0000 (09:38 +0000)
committerJose V Beneyto <sepen@crux.nu>
Wed, 14 Aug 2013 09:38:11 +0000 (09:38 +0000)
- Kernel headers 3.5.4
- Binutils 2.23.1
- GCC 4.7.3
- Glibc 2.16.0

- Added option --enable-obsolete-rpc (FS#43)

Makefile
vars.mk
work/gcc-4.7.2-gnueabihf.patch [deleted file]
work/gcc-4.7.3-gnueabihf.patch [new file with mode: 0644]
work/libmpfr-3.1.1-p2.patch.gz [deleted file]

index 177b39c57ba75b7e1a0f3dc4d2d4939911293b8f..d1f7a6ba97b23e819ddc8802c5191ab887e4b439 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -71,10 +71,8 @@ libgmp-distclean: libgmp-clean
 $(WORK)/mpfr-$(LIBMPFR_VERSION).tar.bz2:
        wget -P $(WORK) -c http://ftp.gnu.org/gnu/mpfr/mpfr-$(LIBMPFR_VERSION).tar.bz2
 
-$(WORK)/mpfr-$(LIBMPFR_VERSION): $(WORK)/mpfr-$(LIBMPFR_VERSION).tar.bz2 $(WORK)/libmpfr-3.1.1-p2.patch.gz
+$(WORK)/mpfr-$(LIBMPFR_VERSION): $(WORK)/mpfr-$(LIBMPFR_VERSION).tar.bz2
        tar -C $(WORK) -xvjf $(WORK)/mpfr-$(LIBMPFR_VERSION).tar.bz2
-       cd $(WORK)/mpfr-$(LIBMPFR_VERSION) && \
-               gunzip -c $(WORK)/libmpfr-$(LIBMPFR_VERSION)-p2.patch.gz | patch -p1
        touch $(WORK)/mpfr-$(LIBMPFR_VERSION)
 
 $(WORK)/build-libmpfr: $(WORK)/mpfr-$(LIBMPFR_VERSION)
@@ -133,7 +131,7 @@ $(WORK)/binutils-$(BINUTILS_VERSION).tar.bz2:
        wget -P $(WORK) -c ftp://ftp.gnu.org/gnu/binutils/binutils-$(BINUTILS_VERSION).tar.bz2
 
 $(WORK)/binutils-$(BINUTILS_VERSION): $(WORK)/binutils-$(BINUTILS_VERSION).tar.bz2
-       tar -C $(WORK) -xvjf $(WORK)/binutils-$(BINUTILS_VERSION).tar.bz2
+       tar -C $(WORK) -xvf $(WORK)/binutils-$(BINUTILS_VERSION).tar.bz2
        sed -i '/^SUBDIRS/s/doc//' $(WORK)/binutils-$(BINUTILS_VERSION)/*/Makefile.in
        touch $(WORK)/binutils-$(BINUTILS_VERSION)
 
@@ -165,7 +163,7 @@ binutils-distclean: binutils-clean
 $(WORK)/gcc-$(GCC_VERSION).tar.bz2:
        wget -P $(WORK) -c ftp://sources.redhat.com/pub/gcc/releases/gcc-$(GCC_VERSION)/gcc-$(GCC_VERSION).tar.bz2
 
-$(WORK)/gcc-$(GCC_VERSION): $(WORK)/gcc-$(GCC_VERSION).tar.bz2
+$(WORK)/gcc-$(GCC_VERSION): $(WORK)/gcc-$(GCC_VERSION).tar.bz2 $(WORK)/gcc-$(GCC_VERSION)-gnueabihf.patch
        tar -C $(WORK) -xvjf $(WORK)/gcc-$(GCC_VERSION).tar.bz2
        cd $(WORK)/gcc-$(GCC_VERSION) && \
                patch -p1 -i $(WORK)/gcc-$(GCC_VERSION)-gnueabihf.patch
@@ -232,7 +230,7 @@ $(CLFS)/usr/lib/libc.so: $(WORK)/build-glibc $(WORK)/glibc-$(GLIBC_VERSION)
                $(WORK)/glibc-$(GLIBC_VERSION)/configure --prefix=/usr \
                --libexecdir=/usr/lib/glibc --host=$(TARGET) --build=$(HOST) \
                --disable-profile --enable-add-ons --with-tls --enable-kernel=2.6.0 \
-               --with-__thread --with-binutils=$(CROSSTOOLS)/bin --with-fp=yes \
+               --with-__thread --with-binutils=$(CROSSTOOLS)/bin --with-fp=yes --enable-obsolete-rpc \
                --with-headers=$(CLFS)/usr/include --cache-file=config.cache && \
                make && make install || exit 1
        touch $(CLFS)/usr/lib/libc.so
diff --git a/vars.mk b/vars.mk
index 6033092414897726430d1eb62b91142265af988d..939d8c809a64a4cfda8caf25c446d1e7af88303a 100644 (file)
--- a/vars.mk
+++ b/vars.mk
@@ -11,11 +11,11 @@ CROSSTOOLS = $(TOPDIR)/crosstools
 WORK = $(TOPDIR)/work
 
 KERNEL_HEADERS_VERSION = 3.5.4
-LIBGMP_VERSION = 5.0.5
-LIBMPFR_VERSION = 3.1.1
+LIBGMP_VERSION = 5.1.2
+LIBMPFR_VERSION = 3.1.2
 LIBMPC_VERSION = 1.0.1
-BINUTILS_VERSION = 2.22
-GCC_VERSION = 4.7.2
+BINUTILS_VERSION = 2.23.1
+GCC_VERSION = 4.7.3
 GLIBC_VERSION = 2.16.0
 
 ABI = aapcs-linux
diff --git a/work/gcc-4.7.2-gnueabihf.patch b/work/gcc-4.7.2-gnueabihf.patch
deleted file mode 100644 (file)
index fd74b0e..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-diff -pruN gcc-4.7.2.orig/gcc/ada/gcc-interface/Makefile.in gcc-4.7.2/gcc/ada/gcc-interface/Makefile.in
---- gcc-4.7.2.orig/gcc/ada/gcc-interface/Makefile.in   2012-08-06 14:34:27.000000000 +0000
-+++ gcc-4.7.2/gcc/ada/gcc-interface/Makefile.in        2012-11-06 14:25:52.708613671 +0000
-@@ -1867,7 +1867,7 @@ ifeq ($(strip $(filter-out powerpc% linu
-   LIBRARY_VERSION := $(LIB_VERSION)
- endif
--ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),)
-+ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(arch) $(osys)-$(word 4,$(targ)))),)
-   LIBGNAT_TARGET_PAIRS = \
-   a-intnam.ads<a-intnam-linux.ads \
-   s-inmaop.adb<s-inmaop-posix.adb \
-diff -pruN gcc-4.7.2.orig/gcc/config.gcc gcc-4.7.2/gcc/config.gcc
---- gcc-4.7.2.orig/gcc/config.gcc      2012-09-12 09:03:54.000000000 +0000
-+++ gcc-4.7.2/gcc/config.gcc   2012-11-06 14:28:12.212618421 +0000
-@@ -850,12 +850,12 @@ arm*-*-linux*)                   # ARM GNU/Linux with EL
-       esac
-       tmake_file="${tmake_file} arm/t-arm"
-       case ${target} in
--      arm*-*-linux-*eabi)
-+      arm*-*-linux-*eabi*)
-           tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
-           tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
-           # Define multilib configuration for arm-linux-androideabi.
-           case ${target} in
--          *-androideabi)
-+          *-androideabi*)
-               tmake_file="$tmake_file arm/t-linux-androideabi"
-               ;;
-           esac
-@@ -877,7 +877,7 @@ arm*-*-uclinux*)           # ARM ucLinux
-       tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
-       tmake_file="arm/t-arm arm/t-arm-elf"
-       case ${target} in
--      arm*-*-uclinux*eabi)
-+      arm*-*-uclinux*eabi*)
-           tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
-           tmake_file="$tmake_file arm/t-bpabi"
-           # The BPABI long long divmod functions return a 128-bit value in
-diff -pruN gcc-4.7.2.orig/gcc/testsuite/lib/target-supports.exp gcc-4.7.2/gcc/testsuite/lib/target-supports.exp
---- gcc-4.7.2.orig/gcc/testsuite/lib/target-supports.exp       2012-08-10 13:21:31.000000000 +0000
-+++ gcc-4.7.2/gcc/testsuite/lib/target-supports.exp    2012-11-06 14:34:38.076631560 +0000
-@@ -509,7 +509,7 @@ proc check_profiling_available { test_wh
-       # Some targets don't have any implementation of __bb_init_func or are
-       # missing other needed machinery.
-       if {    [istarget am3*-*-linux*]
--           || [istarget arm*-*-eabi*]
-+           || [istarget arm*-*-*eabi*]
-            || [istarget arm*-*-elf]
-            || [istarget arm*-*-symbianelf*]
-            || [istarget avr-*-*]
-@@ -528,7 +528,7 @@ proc check_profiling_available { test_wh
-            || [istarget mn10300-*-elf*]
-            || [istarget moxie-*-elf*]
-            || [istarget picochip-*-*]
--           || [istarget powerpc-*-eabi*]
-+           || [istarget powerpc-*-eabi]
-            || [istarget powerpc-*-elf]
-            || [istarget rx-*-*]       
-            || [istarget tic6x-*-elf]
-@@ -3860,7 +3860,7 @@ proc check_effective_target_sync_int_lon
-            || [istarget i?86-*-*]
-            || [istarget x86_64-*-*]
-            || [istarget alpha*-*-*] 
--           || [istarget arm*-*-linux-gnueabi] 
-+           || [istarget arm*-*-linux-*eabi*] 
-            || [istarget bfin*-*linux*]
-            || [istarget hppa*-*linux*]
-            || [istarget s390*-*-*] 
-@@ -3890,7 +3890,7 @@ proc check_effective_target_sync_char_sh
-            || [istarget i?86-*-*]
-            || [istarget x86_64-*-*]
-            || [istarget alpha*-*-*] 
--           || [istarget arm*-*-linux-gnueabi] 
-+           || [istarget arm*-*-linux-*eabi*] 
-            || [istarget hppa*-*linux*]
-            || [istarget s390*-*-*] 
-            || [istarget powerpc*-*-*]
-diff -pruN gcc-4.7.2.orig/libgcc/config.host gcc-4.7.2/libgcc/config.host
---- gcc-4.7.2.orig/libgcc/config.host  2012-09-05 12:19:47.000000000 +0000
-+++ gcc-4.7.2/libgcc/config.host       2012-11-06 14:29:57.164621996 +0000
-@@ -327,7 +327,7 @@ arm*-*-netbsdelf*)
- arm*-*-linux*)                        # ARM GNU/Linux with ELF
-       tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
-       case ${host} in
--      arm*-*-linux-*eabi)
-+      arm*-*-linux-*eabi*)
-         tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
-         tm_file="$tm_file arm/bpabi-lib.h"
-         unwind_header=config/arm/unwind-arm.h
-@@ -341,7 +341,7 @@ arm*-*-linux*)                     # ARM GNU/Linux with EL
- arm*-*-uclinux*)              # ARM ucLinux
-       tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
-       case ${host} in
--      arm*-*-uclinux*eabi)
-+      arm*-*-uclinux*eabi*)
-         tmake_file="${tmake_file} arm/t-bpabi"
-         tm_file="$tm_file arm/bpabi-lib.h"
-         unwind_header=config/arm/unwind-arm.h
-diff -pruN gcc-4.7.2.orig/libjava/configure gcc-4.7.2/libjava/configure
---- gcc-4.7.2.orig/libjava/configure   2012-09-20 07:23:55.000000000 +0000
-+++ gcc-4.7.2/libjava/configure        2012-11-06 14:30:44.400623603 +0000
-@@ -20542,7 +20542,7 @@ case "${host}" in
-     # on Darwin -single_module speeds up loading of the dynamic libraries.
-     extra_ldflags_libjava=-Wl,-single_module
-     ;;
--arm*linux*eabi)
-+arm*linux*eabi*)
-     # Some of the ARM unwinder code is actually in libstdc++.  We
-     # could in principle replicate it in libgcj, but it's better to
-     # have a dependency on libstdc++.
-diff -pruN gcc-4.7.2.orig/libjava/configure.ac gcc-4.7.2/libjava/configure.ac
---- gcc-4.7.2.orig/libjava/configure.ac        2012-05-21 18:14:01.000000000 +0000
-+++ gcc-4.7.2/libjava/configure.ac     2012-11-06 14:31:02.548624223 +0000
-@@ -931,7 +931,7 @@ case "${host}" in
-     # on Darwin -single_module speeds up loading of the dynamic libraries.
-     extra_ldflags_libjava=-Wl,-single_module
-     ;;
--arm*linux*eabi)
-+arm*linux*eabi*)
-     # Some of the ARM unwinder code is actually in libstdc++.  We
-     # could in principle replicate it in libgcj, but it's better to
-     # have a dependency on libstdc++.
-diff -pruN gcc-4.7.2.orig/libstdc++-v3/configure.host gcc-4.7.2/libstdc++-v3/configure.host
---- gcc-4.7.2.orig/libstdc++-v3/configure.host 2012-02-10 18:10:12.000000000 +0000
-+++ gcc-4.7.2/libstdc++-v3/configure.host      2012-11-06 14:32:00.692626201 +0000
-@@ -340,7 +340,7 @@ case "${host}" in
-         fi
-     esac
-     case "${host}" in
--      arm*-*-linux-*eabi)
-+      arm*-*-linux-*eabi*)
-       port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
-       ;;
-     esac
-diff -pruN gcc-4.7.2.orig/gcc/config/arm/linux-eabi.h gcc-4.7.2/gcc/config/arm/linux-eabi.h
---- gcc-4.7.2.orig/gcc/config/arm/linux-eabi.h 2012-11-26 14:44:44.335493878 +0000
-+++ gcc-4.7.2/gcc/config/arm/linux-eabi.h      2012-11-26 14:55:06.599515067 +0000
-@@ -62,7 +62,11 @@
- /* Use ld-linux.so.3 so that it will be possible to run "classic"
-    GNU/Linux binaries on an EABI system.  */
- #undef  GLIBC_DYNAMIC_LINKER
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
-+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
-+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
-+#define GLIBC_DYNAMIC_LINKER \
-+   "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
-+    %{!mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "}"
-
- /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
-    use the GNU/Linux version, not the generic BPABI version.  */
diff --git a/work/gcc-4.7.3-gnueabihf.patch b/work/gcc-4.7.3-gnueabihf.patch
new file mode 100644 (file)
index 0000000..fb843a2
--- /dev/null
@@ -0,0 +1,28 @@
+diff -pruN gcc-4.7.3.orig/gcc/ada/gcc-interface/Makefile.in gcc-4.7.3/gcc/ada/gcc-interface/Makefile.in
+--- gcc-4.7.3.orig/gcc/ada/gcc-interface/Makefile.in    2013-08-09 16:53:45.190805185 +0200
++++ gcc-4.7.3/gcc/ada/gcc-interface/Makefile.in 2013-08-09 17:02:38.730865077 +0200
+@@ -1866,7 +1866,7 @@ ifeq ($(strip $(filter-out powerpc% linu
+   LIBRARY_VERSION := $(LIB_VERSION)
+ endif
+
+-ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring eabi,$(word 4,$(targ))),,$(word 4,$(targ)))),)
++ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring eabi%,$(word 4,$(targ))),,$(word 4,$(targ)))),)
+   LIBGNAT_TARGET_PAIRS = \
+   a-intnam.ads<a-intnam-linux.ads \
+   s-inmaop.adb<s-inmaop-posix.adb \
+diff -pruN gcc-4.7.2.orig/gcc/config/arm/linux-eabi.h gcc-4.7.2/gcc/config/arm/linux-eabi.h
+--- gcc-4.7.2.orig/gcc/config/arm/linux-eabi.h 2012-11-26 14:44:44.335493878 +0000
++++ gcc-4.7.2/gcc/config/arm/linux-eabi.h      2012-11-26 14:55:06.599515067 +0000
+@@ -62,7 +62,11 @@
+ /* Use ld-linux.so.3 so that it will be possible to run "classic"
+    GNU/Linux binaries on an EABI system.  */
+ #undef  GLIBC_DYNAMIC_LINKER
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
++#define GLIBC_DYNAMIC_LINKER \
++   "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
++    %{!mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "}"
+
+ /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
+    use the GNU/Linux version, not the generic BPABI version.  */
diff --git a/work/libmpfr-3.1.1-p2.patch.gz b/work/libmpfr-3.1.1-p2.patch.gz
deleted file mode 100644 (file)
index 4fe891e..0000000
Binary files a/work/libmpfr-3.1.1-p2.patch.gz and /dev/null differ