$(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)
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)
$(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
$(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
+++ /dev/null
-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. */
--- /dev/null
+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. */