diff -u gcc-snapshot-20120314/debian/changelog gcc-snapshot-20120314/debian/changelog --- gcc-snapshot-20120314/debian/changelog +++ gcc-snapshot-20120314/debian/changelog @@ -1,3 +1,10 @@ +gcc-snapshot (20120314-0ubuntu2) precise; urgency=low + + * Pursuant to the cross-distro consensus on the armhf linker path, + update arm-dynamic-linker.diff with Michael Hope's improved patch. + + -- Adam Conrad Fri, 13 Apr 2012 11:40:50 -0600 + gcc-snapshot (20120314-0ubuntu1) precise; urgency=low * Update to SVN 20120314 from the trunk. diff -u gcc-snapshot-20120314/debian/patches/arm-dynamic-linker.diff gcc-snapshot-20120314/debian/patches/arm-dynamic-linker.diff --- gcc-snapshot-20120314/debian/patches/arm-dynamic-linker.diff +++ gcc-snapshot-20120314/debian/patches/arm-dynamic-linker.diff @@ -2,25 +2,20 @@ -# DP: /lib/arm-linux-gnueabihf/ld-linux.so.3. +# DP: /lib/ld-linux-armhf.so.3. + +diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h +index 80bd825..8c9d2e7 100644 +--- a/src/gcc/config/arm/linux-eabi.h ++++ b/src/gcc/config/arm/linux-eabi.h +@@ -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. */ ---- a/src/gcc/config/arm/linux-elf.h -+++ b/src/gcc/config/arm/linux-elf.h -@@ -59,14 +59,18 @@ - - #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define LINUX_DYNAMIC_LINKER_SF "/lib/ld-linux.so.3" -+#define LINUX_DYNAMIC_LINKER_HF "/lib/arm-linux-gnueabihf/ld-linux.so.3" - - #define LINUX_TARGET_LINK_SPEC "%{h*} \ - %{static:-Bstatic} \ - %{shared:-shared} \ - %{symbolic:-Bsymbolic} \ - %{rdynamic:-export-dynamic} \ -- -dynamic-linker " GNU_USER_DYNAMIC_LINKER " \ -+ %{msoft-float:-dynamic-linker " LINUX_DYNAMIC_LINKER_SF "} \ -+ %{mfloat-abi=soft*:-dynamic-linker " LINUX_DYNAMIC_LINKER_SF "} \ -+ %{mhard-float:-dynamic-linker " LINUX_DYNAMIC_LINKER_HF "} \ -+ %{mfloat-abi=hard:-dynamic-linker " LINUX_DYNAMIC_LINKER_HF "} \ - -X \ - %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ - SUBTARGET_EXTRA_LINK_SPEC