diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2013-12-26 13:24:06 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2013-12-26 13:24:06 -0600 |
commit | 349f642f056d059b72dbfa3cba3763964b15d876 (patch) | |
tree | a3f309e659b0a3754499e71ff558aee3c2ecb10f /misc/buildroot/toolchain/binutils | |
parent | 528a08e265854a95976a5d77e91bdb934482a278 (diff) | |
download | nuttx-349f642f056d059b72dbfa3cba3763964b15d876.tar.gz nuttx-349f642f056d059b72dbfa3cba3763964b15d876.tar.bz2 nuttx-349f642f056d059b72dbfa3cba3763964b15d876.zip |
Add GCc 4.8.2 support for buildroot
Diffstat (limited to 'misc/buildroot/toolchain/binutils')
5 files changed, 120 insertions, 3 deletions
diff --git a/misc/buildroot/toolchain/binutils/2.24/120-sh-conf.patch b/misc/buildroot/toolchain/binutils/2.24/120-sh-conf.patch new file mode 100644 index 000000000..ea3d1b606 --- /dev/null +++ b/misc/buildroot/toolchain/binutils/2.24/120-sh-conf.patch @@ -0,0 +1,29 @@ +r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines + +Likewise, binutils has no idea about any of these new targets either, so we +fix that up too.. now we're able to actually build a real toolchain for +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more +inept targets than that one, really. Go look, I promise). + +--- a/configure ++++ b/configure +@@ -1495,7 +1495,7 @@ + mips*-*-*) + noconfigdirs="$noconfigdirs gprof" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${target}" in + sh*-*-elf) + ;; +--- a/configure.ac ++++ b/configure.ac +@@ -712,7 +712,7 @@ + mips*-*-*) + noconfigdirs="$noconfigdirs gprof" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${target}" in + sh*-*-elf) + ;; diff --git a/misc/buildroot/toolchain/binutils/2.24/300-001_ld_makefile_patch.patch b/misc/buildroot/toolchain/binutils/2.24/300-001_ld_makefile_patch.patch new file mode 100644 index 000000000..5cb0f614d --- /dev/null +++ b/misc/buildroot/toolchain/binutils/2.24/300-001_ld_makefile_patch.patch @@ -0,0 +1,24 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am +--- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 +@@ -18,7 +18,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in +--- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 +@@ -287,7 +287,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/misc/buildroot/toolchain/binutils/2.24/300-012_check_ldrunpath_length.patch b/misc/buildroot/toolchain/binutils/2.24/300-012_check_ldrunpath_length.patch new file mode 100644 index 000000000..df783109b --- /dev/null +++ b/misc/buildroot/toolchain/binutils/2.24/300-012_check_ldrunpath_length.patch @@ -0,0 +1,21 @@ +diff -Nura binutils-2.21.orig/ld/emultempl/elf32.em binutils-2.21/ld/emultempl/elf32.em +--- binutils-2.21.orig/ld/emultempl/elf32.em 2010-10-29 09:10:36.000000000 -0300 ++++ binutils-2.21/ld/emultempl/elf32.em 2010-12-10 09:26:56.746102724 -0300 +@@ -1270,6 +1270,8 @@ + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1497,6 +1499,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + + for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/misc/buildroot/toolchain/binutils/2.24/500-sysroot.patch b/misc/buildroot/toolchain/binutils/2.24/500-sysroot.patch new file mode 100644 index 000000000..e49c79533 --- /dev/null +++ b/misc/buildroot/toolchain/binutils/2.24/500-sysroot.patch @@ -0,0 +1,37 @@ +Signed-off-by: Sven Rebhan <odinshorse@googlemail.com> + +Always try to prepend the sysroot prefix to absolute filenames first. + +http://bugs.gentoo.org/275666 +http://sourceware.org/bugzilla/show_bug.cgi?id=10340 + +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -308,18 +308,25 @@ + directory first. */ + if (! entry->flags.maybe_archive) + { +- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) ++ /* For absolute pathnames, try to always open the file in the ++ sysroot first. If this fails, try to open the file at the ++ given location. */ ++ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); ++ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) ++ && ld_sysroot) + { + char *name = concat (ld_sysroot, entry->filename, + (const char *) NULL); + if (ldfile_try_open_bfd (name, entry)) + { + entry->filename = name; ++ entry->flags.sysrooted = TRUE; + return TRUE; + } + free (name); + } +- else if (ldfile_try_open_bfd (entry->filename, entry)) ++ ++ if (ldfile_try_open_bfd (entry->filename, entry)) + return TRUE; + + if (IS_ABSOLUTE_PATH (entry->filename)) diff --git a/misc/buildroot/toolchain/binutils/Config.in b/misc/buildroot/toolchain/binutils/Config.in index 5aa674133..c3dfa133c 100644 --- a/misc/buildroot/toolchain/binutils/Config.in +++ b/misc/buildroot/toolchain/binutils/Config.in @@ -4,10 +4,10 @@ comment "Binutils Options" choice prompt "Binutils Version" - default BR2_BINUTILS_VERSION_2_19_1 if BR2_cortex_a5 || BR2_cortex_a8 || BR2_cortex_m3 || BR2_cortex_m0 - default BR2_BINUTILS_VERSION_2_19 if !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a8 && !BR2_cortex_m3 && !BR2_cortex_m0 && !BR2_m9s12x + default BR2_BINUTILS_VERSION_2_19_1 if BR2_GCC_CORTEX + default BR2_BINUTILS_VERSION_2_19 if !BR2_avr32 && !BR2_GCC_CORTEX && !BR2_m9s12x default BR2_BINUTILS_VERSION_2_18 if BR2_m9s12x - default BR2_BINUTILS_VERSION_2_17 if !BR2_cortex_a5 && !BR2_cortex_a8 && !BR2_cortex_m3 && !BR2_cortex_m0 && !BR2_m9s12x + default BR2_BINUTILS_VERSION_2_17 if !BR2_GCC_CORTEX && !BR2_m9s12x help Select the version of binutils you wish to use. @@ -34,6 +34,11 @@ choice config BR2_BINUTILS_VERSION_2_22 depends !BR2_avr32 && !BR2_nios2 && !BR2_m9s12x bool "binutils 2.22" + + config BR2_BINUTILS_VERSION_2_24 + depends !BR2_avr32 && !BR2_nios2 && !BR2_m9s12x + bool "binutils 2.24" + endchoice config BR2_BINUTILS_VERSION @@ -44,6 +49,7 @@ config BR2_BINUTILS_VERSION default "2.19.1" if BR2_BINUTILS_VERSION_2_19_1 default "2.21.1" if BR2_BINUTILS_VERSION_2_21_1 default "2.22" if BR2_BINUTILS_VERSION_2_22 + default "2.24" if BR2_BINUTILS_VERSION_2_24 config BR2_EXTRA_BINUTILS_CONFIG_OPTIONS string "Additional binutils options" |