diff --git a/packages/toolchain/devel/binutils/patches/binutils-2.20.51.0.9-multi_os_directory.diff b/packages/toolchain/devel/binutils/patches/binutils-2.20.51.0.12-multi_os_directory.diff similarity index 63% rename from packages/toolchain/devel/binutils/patches/binutils-2.20.51.0.9-multi_os_directory.diff rename to packages/toolchain/devel/binutils/patches/binutils-2.20.51.0.12-multi_os_directory.diff index c9a428c9ab..5b19cb001d 100644 --- a/packages/toolchain/devel/binutils/patches/binutils-2.20.51.0.9-multi_os_directory.diff +++ b/packages/toolchain/devel/binutils/patches/binutils-2.20.51.0.12-multi_os_directory.diff @@ -1,7 +1,7 @@ -diff -Naur binutils-2.20.51.0.9-old/bfd/configure binutils-2.20.51.0.9-new/bfd/configure ---- binutils-2.20.51.0.9-old/bfd/configure 2010-05-27 11:22:20.000000000 -0700 -+++ binutils-2.20.51.0.9-new/bfd/configure 2010-05-27 16:15:59.000000000 -0700 -@@ -10320,7 +10320,7 @@ +diff -Naur binutils-2.20.51.0.12-old/bfd/configure binutils-2.20.51.0.12-new/bfd/configure +--- binutils-2.20.51.0.12-old/bfd/configure 2010-10-23 06:03:43.000000000 -0700 ++++ binutils-2.20.51.0.12-new/bfd/configure 2010-10-23 06:04:57.000000000 -0700 +@@ -10326,7 +10326,7 @@ # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= @@ -10,10 +10,10 @@ diff -Naur binutils-2.20.51.0.9-old/bfd/configure binutils-2.20.51.0.9-new/bfd/c for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" -diff -Naur binutils-2.20.51.0.9-old/binutils/configure binutils-2.20.51.0.9-new/binutils/configure ---- binutils-2.20.51.0.9-old/binutils/configure 2010-05-27 11:22:22.000000000 -0700 -+++ binutils-2.20.51.0.9-new/binutils/configure 2010-05-27 16:15:59.000000000 -0700 -@@ -10114,7 +10114,7 @@ +diff -Naur binutils-2.20.51.0.12-old/binutils/configure binutils-2.20.51.0.12-new/binutils/configure +--- binutils-2.20.51.0.12-old/binutils/configure 2010-10-23 06:03:42.000000000 -0700 ++++ binutils-2.20.51.0.12-new/binutils/configure 2010-10-23 06:04:57.000000000 -0700 +@@ -10120,7 +10120,7 @@ # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= @@ -22,10 +22,10 @@ diff -Naur binutils-2.20.51.0.9-old/binutils/configure binutils-2.20.51.0.9-new/ for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" -diff -Naur binutils-2.20.51.0.9-old/gas/configure binutils-2.20.51.0.9-new/gas/configure ---- binutils-2.20.51.0.9-old/gas/configure 2010-04-13 06:26:42.000000000 -0700 -+++ binutils-2.20.51.0.9-new/gas/configure 2010-05-27 16:15:59.000000000 -0700 -@@ -10101,7 +10101,7 @@ +diff -Naur binutils-2.20.51.0.12-old/gas/configure binutils-2.20.51.0.12-new/gas/configure +--- binutils-2.20.51.0.12-old/gas/configure 2010-10-23 06:03:43.000000000 -0700 ++++ binutils-2.20.51.0.12-new/gas/configure 2010-10-23 06:04:57.000000000 -0700 +@@ -10109,7 +10109,7 @@ # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= @@ -34,9 +34,9 @@ diff -Naur binutils-2.20.51.0.9-old/gas/configure binutils-2.20.51.0.9-new/gas/c for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" -diff -Naur binutils-2.20.51.0.9-old/gprof/configure binutils-2.20.51.0.9-new/gprof/configure ---- binutils-2.20.51.0.9-old/gprof/configure 2010-04-13 06:26:45.000000000 -0700 -+++ binutils-2.20.51.0.9-new/gprof/configure 2010-05-27 16:15:59.000000000 -0700 +diff -Naur binutils-2.20.51.0.12-old/gprof/configure binutils-2.20.51.0.12-new/gprof/configure +--- binutils-2.20.51.0.12-old/gprof/configure 2010-10-23 06:03:43.000000000 -0700 ++++ binutils-2.20.51.0.12-new/gprof/configure 2010-10-23 06:04:57.000000000 -0700 @@ -10039,7 +10039,7 @@ # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. @@ -46,10 +46,10 @@ diff -Naur binutils-2.20.51.0.9-old/gprof/configure binutils-2.20.51.0.9-new/gpr for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" -diff -Naur binutils-2.20.51.0.9-old/ld/configure binutils-2.20.51.0.9-new/ld/configure ---- binutils-2.20.51.0.9-old/ld/configure 2010-05-27 11:22:31.000000000 -0700 -+++ binutils-2.20.51.0.9-new/ld/configure 2010-05-27 16:15:59.000000000 -0700 -@@ -10528,7 +10528,7 @@ +diff -Naur binutils-2.20.51.0.12-old/ld/configure binutils-2.20.51.0.12-new/ld/configure +--- binutils-2.20.51.0.12-old/ld/configure 2010-10-23 06:03:43.000000000 -0700 ++++ binutils-2.20.51.0.12-new/ld/configure 2010-10-23 06:04:57.000000000 -0700 +@@ -10536,7 +10536,7 @@ # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= @@ -58,10 +58,10 @@ diff -Naur binutils-2.20.51.0.9-old/ld/configure binutils-2.20.51.0.9-new/ld/con for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" -diff -Naur binutils-2.20.51.0.9-old/libiberty/Makefile.in binutils-2.20.51.0.9-new/libiberty/Makefile.in ---- binutils-2.20.51.0.9-old/libiberty/Makefile.in 2010-05-27 11:22:33.000000000 -0700 -+++ binutils-2.20.51.0.9-new/libiberty/Makefile.in 2010-05-27 16:15:59.000000000 -0700 -@@ -327,7 +327,7 @@ +diff -Naur binutils-2.20.51.0.12-old/libiberty/Makefile.in binutils-2.20.51.0.12-new/libiberty/Makefile.in +--- binutils-2.20.51.0.12-old/libiberty/Makefile.in 2010-10-23 06:03:42.000000000 -0700 ++++ binutils-2.20.51.0.12-new/libiberty/Makefile.in 2010-10-23 06:04:57.000000000 -0700 +@@ -340,7 +340,7 @@ # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the # default multilib, so we have to take CFLAGS into account as well, # since it will be passed the multilib flags. @@ -70,9 +70,9 @@ diff -Naur binutils-2.20.51.0.9-old/libiberty/Makefile.in binutils-2.20.51.0.9-n install_to_libdir: all ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR) $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n -diff -Naur binutils-2.20.51.0.9-old/libtool.m4 binutils-2.20.51.0.9-new/libtool.m4 ---- binutils-2.20.51.0.9-old/libtool.m4 2010-01-15 09:05:56.000000000 -0800 -+++ binutils-2.20.51.0.9-new/libtool.m4 2010-05-27 16:15:59.000000000 -0700 +diff -Naur binutils-2.20.51.0.12-old/libtool.m4 binutils-2.20.51.0.12-new/libtool.m4 +--- binutils-2.20.51.0.12-old/libtool.m4 2010-10-23 06:03:43.000000000 -0700 ++++ binutils-2.20.51.0.12-new/libtool.m4 2010-10-23 06:04:57.000000000 -0700 @@ -2043,7 +2043,7 @@ # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. @@ -82,10 +82,10 @@ diff -Naur binutils-2.20.51.0.9-old/libtool.m4 binutils-2.20.51.0.9-new/libtool. for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" -diff -Naur binutils-2.20.51.0.9-old/opcodes/configure binutils-2.20.51.0.9-new/opcodes/configure ---- binutils-2.20.51.0.9-old/opcodes/configure 2010-04-13 06:26:47.000000000 -0700 -+++ binutils-2.20.51.0.9-new/opcodes/configure 2010-05-27 16:15:59.000000000 -0700 -@@ -10050,7 +10050,7 @@ +diff -Naur binutils-2.20.51.0.12-old/opcodes/configure binutils-2.20.51.0.12-new/opcodes/configure +--- binutils-2.20.51.0.12-old/opcodes/configure 2010-10-23 06:03:43.000000000 -0700 ++++ binutils-2.20.51.0.12-new/opcodes/configure 2010-10-23 06:04:57.000000000 -0700 +@@ -10056,7 +10056,7 @@ # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= diff --git a/packages/toolchain/devel/binutils/patches/binutils-2.20.51.0.12-visibility.diff b/packages/toolchain/devel/binutils/patches/binutils-2.20.51.0.12-visibility.diff new file mode 100644 index 0000000000..58067c1e86 --- /dev/null +++ b/packages/toolchain/devel/binutils/patches/binutils-2.20.51.0.12-visibility.diff @@ -0,0 +1,71 @@ +diff -Naur binutils-2.20.51.0.12-old/gold/plugin.cc binutils-2.20.51.0.12-new/gold/plugin.cc +--- binutils-2.20.51.0.12-old/gold/plugin.cc 2010-10-22 06:41:04.000000000 -0700 ++++ binutils-2.20.51.0.12-new/gold/plugin.cc 2010-10-23 06:03:56.000000000 -0700 +@@ -668,28 +668,50 @@ + break; + } + +- switch (isym->visibility) +- { +- case LDPV_PROTECTED: +- vis = elfcpp::STV_PROTECTED; +- break; +- case LDPV_INTERNAL: +- vis = elfcpp::STV_INTERNAL; +- break; +- case LDPV_HIDDEN: +- vis = elfcpp::STV_HIDDEN; +- break; +- case LDPV_DEFAULT: +- default: +- vis = elfcpp::STV_DEFAULT; +- break; +- } +- + if (isym->comdat_key != NULL + && isym->comdat_key[0] != '\0' + && !this->include_comdat_group(isym->comdat_key, layout)) + shndx = elfcpp::SHN_UNDEF; + ++ if (shndx == elfcpp::SHN_UNDEF) ++ { ++ switch (isym->visibility) ++ { ++ case LDPV_PROTECTED: ++ vis = elfcpp::STV_DEFAULT; ++ break; ++ case LDPV_INTERNAL: ++ vis = elfcpp::STV_DEFAULT; ++ break; ++ case LDPV_HIDDEN: ++ vis = elfcpp::STV_DEFAULT; ++ break; ++ case LDPV_DEFAULT: ++ default: ++ vis = elfcpp::STV_DEFAULT; ++ break; ++ } ++ } ++ else ++ { ++ switch (isym->visibility) ++ { ++ case LDPV_PROTECTED: ++ vis = elfcpp::STV_PROTECTED; ++ break; ++ case LDPV_INTERNAL: ++ vis = elfcpp::STV_INTERNAL; ++ break; ++ case LDPV_HIDDEN: ++ vis = elfcpp::STV_HIDDEN; ++ break; ++ case LDPV_DEFAULT: ++ default: ++ vis = elfcpp::STV_DEFAULT; ++ break; ++ } ++ } ++ + osym.put_st_name(0); + osym.put_st_value(0); + osym.put_st_size(static_cast(isym->size)); diff --git a/packages/toolchain/devel/binutils/url b/packages/toolchain/devel/binutils/url index 8060a5db57..2f4e801283 100644 --- a/packages/toolchain/devel/binutils/url +++ b/packages/toolchain/devel/binutils/url @@ -1 +1 @@ -ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-2.20.51.0.11.tar.bz2 \ No newline at end of file +ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-2.20.51.0.12.tar.bz2 \ No newline at end of file