diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2012-12-16 20:55:19 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2012-12-16 20:55:27 +0100 |
commit | c947cf9b89b9286891aa0b3233f89824d532a0d7 (patch) | |
tree | da991a6a744a20503543bac223eaf273197e2d8e /patches | |
parent | 84be5d9fe1d99c44300b4413a5ed9811c3d0d341 (diff) | |
download | OSELAS.Toolchain-c947cf9b89b9286891aa0b3233f89824d532a0d7.tar.gz OSELAS.Toolchain-c947cf9b89b9286891aa0b3233f89824d532a0d7.tar.xz |
gcc-4.7.2: add patch to fix specs for arm-1136jfs-linux-gnueabihf
Without this patch gcc reports /lib/ld-linux.so.3 as dynamic linker.
Also add a series file for gcc-linaro-4.7-2012.11, as this patch is already
there.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'patches')
-rw-r--r-- | patches/gcc-4.7.2/0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch | 74 | ||||
-rw-r--r-- | patches/gcc-4.7.2/series | 4 | ||||
l--------- | patches/gcc-linaro-4.7-2012.11 | 1 | ||||
-rw-r--r-- | patches/gcc-linaro-4.7-2012.11/series | 18 |
4 files changed, 95 insertions, 2 deletions
diff --git a/patches/gcc-4.7.2/0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch b/patches/gcc-4.7.2/0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch new file mode 100644 index 0000000..9557be4 --- /dev/null +++ b/patches/gcc-4.7.2/0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch @@ -0,0 +1,74 @@ +From: Michael Olbrich <m.olbrich@pengutronix.de> +Date: Sun, 16 Dec 2012 20:05:00 +0100 +Subject: [PATCH] Backport the change to the hard float loader path. Changes + to /lib/ld-linux-armhf.so.3 + +Taken from linaro-gcc. + +2012-05-04 Michael Hope <michael.hope@linaro.org> + + Backport from mainline r186859: + + gcc/ + 2012-04-26 Michael Hope <michael.hope@linaro.org> + Richard Earnshaw <rearnsha@arm.com> + + * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define. + (GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define. + (GLIBC_DYNAMIC_LINKER_DEFAULT): Define. + (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path. + + Backport from mainline r187012: + + gcc/ + 2012-05-01 Richard Earnshaw <rearnsha@arm.com> + + * arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_DEFAULT): Avoid ifdef + comparing enumeration values. Update comments. + +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> +--- + gcc/config/arm/linux-eabi.h | 22 ++++++++++++++++++---- + 1 file changed, 18 insertions(+), 4 deletions(-) + +diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h +index 80bd825..46d3bc6 100644 +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -32,7 +32,8 @@ + while (false) + + /* We default to a soft-float ABI so that binaries can run on all +- target hardware. */ ++ target hardware. If you override this to use the hard-float ABI then ++ change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */ + #undef TARGET_DEFAULT_FLOAT_ABI + #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT + +@@ -59,10 +60,23 @@ + #undef SUBTARGET_EXTRA_LINK_SPEC + #define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION + +-/* Use ld-linux.so.3 so that it will be possible to run "classic" +- GNU/Linux binaries on an EABI system. */ ++/* GNU/Linux on ARM currently supports three dynamic linkers: ++ - ld-linux.so.2 - for the legacy ABI ++ - ld-linux.so.3 - for the EABI-derived soft-float ABI ++ - ld-linux-armhf.so.3 - for the EABI-derived hard-float ABI. ++ All the dynamic linkers live in /lib. ++ We default to soft-float, but this can be overridden by changing both ++ GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ ++ + #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_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT ++ ++#define GLIBC_DYNAMIC_LINKER \ ++ "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \ ++ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ ++ %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" + + /* 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/patches/gcc-4.7.2/series b/patches/gcc-4.7.2/series index b053a79..54b2312 100644 --- a/patches/gcc-4.7.2/series +++ b/patches/gcc-4.7.2/series @@ -16,4 +16,6 @@ 0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch #tag:OpenEmbedded --start-number 500 0500-Fix-Argument-list-too-long-error.patch -# d177996e61f35f8619c8fd1b51981c5c - git-ptx-patches magic +#tag:Linaro --start-number 600 +0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch +# 4987a1a030fd14433ae05b3624255ffa - git-ptx-patches magic diff --git a/patches/gcc-linaro-4.7-2012.11 b/patches/gcc-linaro-4.7-2012.11 deleted file mode 120000 index ae89525..0000000 --- a/patches/gcc-linaro-4.7-2012.11 +++ /dev/null @@ -1 +0,0 @@ -gcc-4.7.2
\ No newline at end of file diff --git a/patches/gcc-linaro-4.7-2012.11/series b/patches/gcc-linaro-4.7-2012.11/series new file mode 100644 index 0000000..2324f2b --- /dev/null +++ b/patches/gcc-linaro-4.7-2012.11/series @@ -0,0 +1,18 @@ +# generated by git-ptx-patches +#tag:base +#tag:OSELAS.toolchain --start-number 100 +../gcc-4.7.2/0100-no-host-includes.patch +../gcc-4.7.2/0101-gcc-i386-use-pure64-CLFS-patch.patch +../gcc-4.7.2/0102-libgcc-reorder-tmake_file-for-arm-uclinux.patch +#tag:uclibc --start-number 200 +../gcc-4.7.2/0200-also-match-uclibc-when-checking-host-os.patch +../gcc-4.7.2/0201-missing-execinfo.h.patch +../gcc-4.7.2/0202-c99-snprintf.patch +../gcc-4.7.2/0203-libmudflap-susv3-legacy.patch +#tag:gentoo --start-number 300 +../gcc-4.7.2/0300-libiberty-pic.patch +../gcc-4.7.2/0301-libstdc-pic.patch +#tag:debian --start-number 400 +../gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch +#tag:OpenEmbedded --start-number 500 +../gcc-4.7.2/0500-Fix-Argument-list-too-long-error.patch |