From 4810404f22d7cf8849dc32da68dd33a156cac407 Mon Sep 17 00:00:00 2001 From: Nitin A Kamble Date: Wed, 6 Jul 2011 17:26:38 -0700 Subject: binutils: upgrade from 2.21 to 2.21.1 Signed-off-by: Nitin A Kamble --- .../binutils/binutils-2.21/110-arm-eabi-conf.patch | 24 - .../binutils-2.21/binutils-2.19.1-ld-sysroot.patch | 39 - .../binutils/binutils-2.21/binutils-poison.patch | 247 - .../binutils/binutils-2.21/binutils-pr12366.patch | 428 - .../binutils-uclibc-100-uclibc-conf.patch | 36 - ...binutils-uclibc-300-001_ld_makefile_patch.patch | 51 - ...binutils-uclibc-300-006_better_file_error.patch | 44 - ...ils-uclibc-300-012_check_ldrunpath_length.patch | 49 - .../binutils-uclibc-gas-needs-libm.patch | 39 - .../binutils-x86_64_i386_biarch.patch | 27 - .../binutils-2.21/libiberty_path_fix.patch | 22 - .../binutils-2.21/libtool-2.4-update.patch | 18721 ------------------ .../binutils/binutils-2.21/libtool-rpath-fix.patch | 38 - .../binutils/binutils-cross-canadian_2.21.1.bb | 3 + .../binutils/binutils-cross-canadian_2.21.bb | 3 - .../binutils/binutils-cross_2.21.1.bb | 2 + .../binutils/binutils-cross_2.21.bb | 2 - .../binutils/binutils-crosssdk_2.21.1.bb | 12 + .../binutils/binutils-crosssdk_2.21.bb | 12 - .../binutils/binutils/110-arm-eabi-conf.patch | 24 + .../binutils/binutils-2.19.1-ld-sysroot.patch | 39 + .../binutils/binutils/binutils-poison.patch | 247 + .../binutils/binutils/binutils-pr12366.patch | 428 + .../binutils/binutils-uclibc-100-uclibc-conf.patch | 36 + ...binutils-uclibc-300-001_ld_makefile_patch.patch | 51 + ...binutils-uclibc-300-006_better_file_error.patch | 44 + ...ils-uclibc-300-012_check_ldrunpath_length.patch | 49 + .../binutils/binutils-uclibc-gas-needs-libm.patch | 39 + .../binutils/binutils-x86_64_i386_biarch.patch | 27 + .../binutils/binutils/libiberty_path_fix.patch | 22 + .../binutils/binutils/libtool-2.4-update.patch | 18732 +++++++++++++++++++ .../binutils/binutils/libtool-rpath-fix.patch | 38 + meta/recipes-devtools/binutils/binutils_2.21.1.bb | 37 + meta/recipes-devtools/binutils/binutils_2.21.bb | 38 - 34 files changed, 19830 insertions(+), 19820 deletions(-) delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/binutils-pr12366.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/binutils-x86_64_i386_biarch.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/libiberty_path_fix.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/libtool-2.4-update.patch delete mode 100644 meta/recipes-devtools/binutils/binutils-2.21/libtool-rpath-fix.patch create mode 100644 meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.1.bb delete mode 100644 meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.bb create mode 100644 meta/recipes-devtools/binutils/binutils-cross_2.21.1.bb delete mode 100644 meta/recipes-devtools/binutils/binutils-cross_2.21.bb create mode 100644 meta/recipes-devtools/binutils/binutils-crosssdk_2.21.1.bb delete mode 100644 meta/recipes-devtools/binutils/binutils-crosssdk_2.21.bb create mode 100644 meta/recipes-devtools/binutils/binutils/110-arm-eabi-conf.patch create mode 100644 meta/recipes-devtools/binutils/binutils/binutils-2.19.1-ld-sysroot.patch create mode 100644 meta/recipes-devtools/binutils/binutils/binutils-poison.patch create mode 100644 meta/recipes-devtools/binutils/binutils/binutils-pr12366.patch create mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-100-uclibc-conf.patch create mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-001_ld_makefile_patch.patch create mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-006_better_file_error.patch create mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-012_check_ldrunpath_length.patch create mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-gas-needs-libm.patch create mode 100644 meta/recipes-devtools/binutils/binutils/binutils-x86_64_i386_biarch.patch create mode 100644 meta/recipes-devtools/binutils/binutils/libiberty_path_fix.patch create mode 100644 meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch create mode 100644 meta/recipes-devtools/binutils/binutils/libtool-rpath-fix.patch create mode 100644 meta/recipes-devtools/binutils/binutils_2.21.1.bb delete mode 100644 meta/recipes-devtools/binutils/binutils_2.21.bb diff --git a/meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch b/meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch deleted file mode 100644 index dc496137d0..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -Upstream-Status: Pending - ---- /tmp/configure.ac 2008-06-22 14:14:59.000000000 +0200 -+++ binutils-2.18.50.0.7/configure.ac 2008-06-22 14:15:30.000000000 +0200 -@@ -561,7 +561,7 @@ - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibceabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in ---- /tmp/configure 2008-06-22 14:17:11.000000000 +0200 -+++ binutils-2.18.50.0.7/configure 2008-06-22 14:17:56.000000000 +0200 -@@ -2307,7 +2307,7 @@ - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibceabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch deleted file mode 100644 index 1a640eac39..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch +++ /dev/null @@ -1,39 +0,0 @@ -Upstream-Status: Pending - -http://sourceware.org/bugzilla/show_bug.cgi?id=10340 - -Signed-off-by: Sven Rebhan - -Always try to prepend the sysroot prefix to absolute filenames first. - -Index: binutils-2.21/ld/ldfile.c -=================================================================== ---- binutils-2.21.orig/ld/ldfile.c -+++ binutils-2.21/ld/ldfile.c -@@ -372,18 +372,24 @@ ldfile_open_file_search (const char *arc - directory first. */ - if (! entry->is_archive) - { -- if (entry->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->sysrooted = is_sysrooted_pathname(entry->filename, FALSE); -+ if (IS_ABSOLUTE_PATH (entry->filename) && ld_sysroot && ! entry->sysrooted) - { - char *name = concat (ld_sysroot, entry->filename, - (const char *) NULL); - if (ldfile_try_open_bfd (name, entry)) - { - entry->filename = name; -+ entry->sysrooted = TRUE; - return TRUE; - } - free (name); - } -- else if (ldfile_try_open_bfd (entry->filename, entry)) -+ -+ if (ldfile_try_open_bfd (entry->filename, entry)) - { - entry->sysrooted = IS_ABSOLUTE_PATH (entry->filename) - && is_sysrooted_pathname (entry->filename, TRUE); diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch deleted file mode 100644 index 759aa88c59..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch +++ /dev/null @@ -1,247 +0,0 @@ -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.in (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman - -diff -urN binutils-2.21.orig//ld/config.in binutils-2.21/ld/config.in ---- binutils-2.21.orig//ld/config.in 2010-11-05 03:34:27.000000000 -0700 -+++ binutils-2.21/ld/config.in 2011-01-19 10:48:15.147301022 -0800 -@@ -4,6 +4,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff -urN binutils-2.21.orig//ld/configure binutils-2.21/ld/configure ---- binutils-2.21.orig//ld/configure 2011-01-19 10:46:46.997571921 -0800 -+++ binutils-2.21/ld/configure 2011-01-19 11:03:50.577832729 -0800 -@@ -768,6 +768,7 @@ - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_werror -@@ -1418,6 +1419,8 @@ - (and sometimes confusing) to the casual installer - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -4203,7 +4206,18 @@ - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff -urN binutils-2.21.orig//ld/configure.in binutils-2.21/ld/configure.in ---- binutils-2.21.orig//ld/configure.in 2010-11-23 05:50:32.000000000 -0800 -+++ binutils-2.21/ld/configure.in 2011-01-19 10:50:57.378398946 -0800 -@@ -69,6 +69,16 @@ - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff -urN binutils-2.21.orig//ld/ldfile.c binutils-2.21/ld/ldfile.c ---- binutils-2.21.orig//ld/ldfile.c 2011-01-19 10:46:47.157553281 -0800 -+++ binutils-2.21/ld/ldfile.c 2011-01-19 10:58:30.035468447 -0800 -@@ -124,6 +124,23 @@ - { - new_dirs->name = xstrdup (name); - new_dirs->sysrooted = is_sysrooted_pathname (name, FALSE); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - } - -diff -urN binutils-2.21.orig//ld/ld.h binutils-2.21/ld/ld.h ---- binutils-2.21.orig//ld/ld.h 2009-11-26 05:45:25.000000000 -0800 -+++ binutils-2.21/ld/ld.h 2011-01-19 10:52:54.814716478 -0800 -@@ -198,6 +198,14 @@ - input files. */ - bfd_boolean accept_unknown_input_arch; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff -urN binutils-2.21.orig//ld/ldmain.c binutils-2.21/ld/ldmain.c ---- binutils-2.21.orig//ld/ldmain.c 2010-11-05 00:20:07.000000000 -0700 -+++ binutils-2.21/ld/ldmain.c 2011-01-19 10:59:18.579767697 -0800 -@@ -259,6 +259,8 @@ - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; - command_line.disable_target_specific_optimizations = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff -urN binutils-2.21.orig//ld/ld.texinfo binutils-2.21/ld/ld.texinfo ---- binutils-2.21.orig//ld/ld.texinfo 2010-10-28 04:40:26.000000000 -0700 -+++ binutils-2.21/ld/ld.texinfo 2011-01-19 10:56:04.452567113 -0800 -@@ -2133,6 +2133,18 @@ - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff -urN binutils-2.21.orig//ld/lexsup.c binutils-2.21/ld/lexsup.c ---- binutils-2.21.orig//ld/lexsup.c 2010-10-27 23:45:33.000000000 -0700 -+++ binutils-2.21/ld/lexsup.c 2011-01-19 11:02:07.799898432 -0800 -@@ -175,6 +175,8 @@ - OPTION_PLUGIN_OPT, - #endif /* ENABLE_PLUGINS */ - OPTION_DEFAULT_SCRIPT, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES - }; - - /* The long options. This structure is used for both the option -@@ -603,6 +605,14 @@ - TWO_DASHES }, - { {"wrap", required_argument, NULL, OPTION_WRAP}, - '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -1518,6 +1528,14 @@ - einfo (_("%P%X: --hash-size needs a numeric argument\n")); - } - break; -+ -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; -+ break; - } - } - diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-pr12366.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-pr12366.patch deleted file mode 100644 index c11a802941..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-pr12366.patch +++ /dev/null @@ -1,428 +0,0 @@ -This is backport from 2.21 branch - -Upstream-Status: Backport - -Signed-off-by: Khem Raj - - -commit 946593d19f203b02efd45b5102dd2787d9418e24 -Author: H.J. Lu -Date: Wed May 25 17:41:32 2011 +0000 - - Handle STT_GNU_IFUNC symols when building shared library. - - bfd/ - - 2012-05-25 H.J. Lu - - Backport from mainline - 2012-01-06 H.J. Lu - - PR ld/12366 - PR ld/12371 - * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly - handle symbols marked with regular reference, but not non-GOT - reference when building shared library. - - * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle - local and global STT_GNU_IFUNC symols when building shared - library. - * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise. - - ld/testsuite/ - - 2012-05-25 H.J. Lu - - Backport from mainline - 2012-01-06 H.J. Lu - - PR ld/12366 - PR ld/12371 - * ld-ifunc/ifunc-10-i386.s: Add more tests. - * ld-ifunc/ifunc-10-x86-64.s: Likewise. - * ld-ifunc/ifunc-11-i386.s: Likewise. - * ld-ifunc/ifunc-11-x86-64.s: Likewise. - - * ld-ifunc/ifunc-12-i386.d: New. - * ld-ifunc/ifunc-12-i386.s: Likewise. - * ld-ifunc/ifunc-12-x86-64.d: Likewise. - * ld-ifunc/ifunc-12-x86-64.s: Likewise. - * ld-ifunc/ifunc-13-i386.d: Likewise. - * ld-ifunc/ifunc-13-x86-64.d: Likewise. - * ld-ifunc/ifunc-13a-i386.s: Likewise. - * ld-ifunc/ifunc-13a-x86-64.s: Likewise. - * ld-ifunc/ifunc-13b-i386.s: Likewise. - * ld-ifunc/ifunc-13b-x86-64.s: Likewise. - -Index: binutils-2.21/bfd/elf-ifunc.c -=================================================================== ---- binutils-2.21.orig/bfd/elf-ifunc.c 2010-07-13 09:59:10.000000000 -0700 -+++ binutils-2.21/bfd/elf-ifunc.c 2011-06-21 16:33:40.751884107 -0700 -@@ -190,10 +190,29 @@ - /* Support garbage collection against STT_GNU_IFUNC symbols. */ - if (h->plt.refcount <= 0 && h->got.refcount <= 0) - { -- h->got = htab->init_got_offset; -- h->plt = htab->init_plt_offset; -- *head = NULL; -- return TRUE; -+ /* When building shared library, we need to handle the case -+ where it is marked with regular reference, but not non-GOT -+ reference. It may happen if we didn't see STT_GNU_IFUNC -+ symbol at the time when checking relocations. */ -+ bfd_size_type count = 0; -+ -+ if (info->shared -+ && !h->non_got_ref -+ && h->ref_regular) -+ { -+ for (p = *head; p != NULL; p = p->next) -+ count += p->count; -+ if (count != 0) -+ h->non_got_ref = 1; -+ } -+ -+ if (count == 0) -+ { -+ h->got = htab->init_got_offset; -+ h->plt = htab->init_plt_offset; -+ *head = NULL; -+ return TRUE; -+ } - } - - /* Return and discard space for dynamic relocations against it if -Index: binutils-2.21/bfd/elf32-i386.c -=================================================================== ---- binutils-2.21.orig/bfd/elf32-i386.c 2010-10-21 05:29:02.000000000 -0700 -+++ binutils-2.21/bfd/elf32-i386.c 2011-06-21 16:33:40.761884138 -0700 -@@ -1807,23 +1807,10 @@ - r_symndx = ELF32_R_SYM (rel->r_info); - if (r_symndx >= symtab_hdr->sh_info) - { -- struct elf_i386_link_hash_entry *eh; -- struct elf_dyn_relocs **pp; -- struct elf_dyn_relocs *p; -- - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; -- eh = (struct elf_i386_link_hash_entry *) h; -- -- for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next) -- if (p->sec == sec) -- { -- /* Everything must go for SEC. */ -- *pp = p->next; -- break; -- } - } - else - { -@@ -1843,6 +1830,22 @@ - } - } - -+ if (h) -+ { -+ struct elf_i386_link_hash_entry *eh; -+ struct elf_dyn_relocs **pp; -+ struct elf_dyn_relocs *p; -+ -+ eh = (struct elf_i386_link_hash_entry *) h; -+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next) -+ if (p->sec == sec) -+ { -+ /* Everything must go for SEC. */ -+ *pp = p->next; -+ break; -+ } -+ } -+ - r_type = ELF32_R_TYPE (rel->r_info); - if (! elf_i386_tls_transition (info, abfd, sec, NULL, - symtab_hdr, sym_hashes, -@@ -1883,7 +1886,8 @@ - - case R_386_32: - case R_386_PC32: -- if (info->shared) -+ if (info->shared -+ && (h == NULL || h->type != STT_GNU_IFUNC)) - break; - /* Fall through */ - -Index: binutils-2.21/bfd/elf64-x86-64.c -=================================================================== ---- binutils-2.21.orig/bfd/elf64-x86-64.c 2010-10-21 05:29:02.000000000 -0700 -+++ binutils-2.21/bfd/elf64-x86-64.c 2011-06-21 16:33:40.761884138 -0700 -@@ -1645,23 +1645,10 @@ - r_symndx = ELF64_R_SYM (rel->r_info); - if (r_symndx >= symtab_hdr->sh_info) - { -- struct elf64_x86_64_link_hash_entry *eh; -- struct elf_dyn_relocs **pp; -- struct elf_dyn_relocs *p; -- - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; -- eh = (struct elf64_x86_64_link_hash_entry *) h; -- -- for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next) -- if (p->sec == sec) -- { -- /* Everything must go for SEC. */ -- *pp = p->next; -- break; -- } - } - else - { -@@ -1682,7 +1669,24 @@ - } - } - -- r_type = ELF64_R_TYPE (rel->r_info); -+ if (h) -+ { -+ struct elf64_x86_64_link_hash_entry *eh; -+ struct elf_dyn_relocs **pp; -+ struct elf_dyn_relocs *p; -+ -+ eh = (struct elf64_x86_64_link_hash_entry *) h; -+ -+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next) -+ if (p->sec == sec) -+ { -+ /* Everything must go for SEC. */ -+ *pp = p->next; -+ break; -+ } -+ } -+ -+ r_type = ELF32_R_TYPE (rel->r_info); - if (! elf64_x86_64_tls_transition (info, abfd, sec, NULL, - symtab_hdr, sym_hashes, - &r_type, GOT_UNKNOWN, -@@ -1733,7 +1737,8 @@ - case R_X86_64_PC16: - case R_X86_64_PC32: - case R_X86_64_PC64: -- if (info->shared) -+ if (info->shared -+ && (h == NULL || h->type != STT_GNU_IFUNC)) - break; - /* Fall thru */ - -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-10-i386.s -=================================================================== ---- binutils-2.21.orig/ld/testsuite/ld-ifunc/ifunc-10-i386.s 2010-07-13 09:59:14.000000000 -0700 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-10-i386.s 2011-06-21 16:36:36.832142380 -0700 -@@ -6,6 +6,8 @@ - movl ifunc@GOTOFF(%ecx), %eax - call ifunc@PLT - call ifunc -+ movl xxx@GOT(%ecx), %eax -+ movl xxx, %eax - ret - - .section .text.bar,"ax",@progbits -@@ -18,3 +20,7 @@ - .type ifunc, @gnu_indirect_function - ifunc: - ret -+ -+ .section .data.foo,"aw",@progbits -+xxx: -+ .long ifunc -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s -=================================================================== ---- binutils-2.21.orig/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s 2010-07-13 09:59:14.000000000 -0700 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s 2011-06-21 16:36:36.822142371 -0700 -@@ -6,6 +6,7 @@ - movl ifunc(%rip), %eax - call ifunc@PLT - call ifunc -+ movl xxx(%rip), %eax - ret - - .section .text.bar,"ax",@progbits -@@ -18,3 +19,7 @@ - .type ifunc, @gnu_indirect_function - ifunc: - ret -+ -+ .section .data.foo,"aw",@progbits -+xxx: -+ .quad ifunc -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-11-i386.s -=================================================================== ---- binutils-2.21.orig/ld/testsuite/ld-ifunc/ifunc-11-i386.s 2010-07-13 09:59:14.000000000 -0700 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-11-i386.s 2011-06-21 16:36:36.832142380 -0700 -@@ -3,9 +3,11 @@ - foo: - .global foo - movl ifunc@GOT(%ecx), %eax -- movl ifunc@GOTOFF(%ecx), %eax -+ movl ifunc@GOTOFF(%ecx), %eax - call ifunc@PLT - call ifunc -+ movl xxx@GOT(%ecx), %eax -+ movl xxx, %eax - ret - - .section .text.bar,"ax",@progbits -@@ -16,6 +18,10 @@ - - .section .text.ifunc,"ax",@progbits - .type ifunc, @gnu_indirect_function -- .global ifunc -+ .global ifunc - ifunc: - ret -+ -+ .section .data.foo,"aw",@progbits -+xxx: -+ .long ifunc -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-11-x86-64.s -=================================================================== ---- binutils-2.21.orig/ld/testsuite/ld-ifunc/ifunc-11-x86-64.s 2010-07-13 09:59:14.000000000 -0700 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-11-x86-64.s 2011-06-21 16:36:36.822142371 -0700 -@@ -6,6 +6,7 @@ - movl ifunc(%rip), %eax - call ifunc@PLT - call ifunc -+ movl xxx(%rip), %eax - ret - - .section .text.bar,"ax",@progbits -@@ -19,3 +20,7 @@ - .global ifunc - ifunc: - ret -+ -+ .section .data.foo,"aw",@progbits -+xxx: -+ .quad ifunc -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-12-i386.d -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-12-i386.d 2011-06-21 16:33:40.761884138 -0700 -@@ -0,0 +1,6 @@ -+#ld: -shared -m elf_i386 -e bar --gc-sections -+#as: --32 -+#readelf: -r --wide -+#target: x86_64-*-* i?86-*-* -+ -+There are no relocations in this file. -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-12-x86-64.d -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-12-x86-64.d 2011-06-21 16:33:40.761884138 -0700 -@@ -0,0 +1,6 @@ -+#ld: -shared -m elf_x86_64 -e bar --gc-sections -+#as: --64 -+#readelf: -r --wide -+#target: x86_64-*-* -+ -+There are no relocations in this file. -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13-i386.d -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13-i386.d 2011-06-21 16:33:40.761884138 -0700 -@@ -0,0 +1,19 @@ -+#source: ifunc-13a-i386.s -+#source: ifunc-13b-i386.s -+#ld: -shared -m elf_i386 -z nocombreloc -+#as: --32 -+#readelf: -r --wide -+#target: x86_64-*-* i?86-*-* -+ -+Relocation section '.rel.got' at .* -+[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -+#... -+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc -+#... -+Relocation section '.rel.ifunc' at .* -+[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_32[ ]+ifunc\(\)[ ]+ifunc -+#... -+Relocation section '.rel.plt' at .* -+[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d 2011-06-21 16:33:40.761884138 -0700 -@@ -0,0 +1,18 @@ -+#source: ifunc-13a-x86-64.s -+#source: ifunc-13b-x86-64.s -+#ld: -shared -m elf_x86_64 -z nocombreloc -+#as: --64 -+#readelf: -r --wide -+#target: x86_64-*-* -+ -+Relocation section '.rela.got' at .* -+[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc \+ 0 -+#... -+Relocation section '.rela.ifunc' at .* -+[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_64[ ]+ifunc\(\)[ ]+ifunc \+ 0 -+#... -+Relocation section '.rela.plt' at .* -+[ ]+Offset[ ]+Info[ ]+Type[ ]+.* -+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0 -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13a-i386.s -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13a-i386.s 2011-06-21 16:36:36.822142371 -0700 -@@ -0,0 +1,10 @@ -+ .text -+ .type foo, @function -+ .global -+foo: -+ movl xxx@GOT(%ebx), %eax -+ ret -+ -+ .data -+xxx: -+ .long ifunc -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13a-x86-64.s -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13a-x86-64.s 2011-06-21 16:36:36.822142371 -0700 -@@ -0,0 +1,10 @@ -+ .text -+ .type foo, @function -+ .global -+foo: -+ movl xxx(%rip), %eax -+ ret -+ -+ .data -+xxx: -+ .quad ifunc -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13b-i386.s -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13b-i386.s 2011-06-21 16:33:40.761884138 -0700 -@@ -0,0 +1,5 @@ -+ .text -+ .type ifunc, @gnu_indirect_function -+ .globl ifunc -+ifunc: -+ ret -Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13b-x86-64.s -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13b-x86-64.s 2011-06-21 16:33:40.761884138 -0700 -@@ -0,0 +1,5 @@ -+ .text -+ .type ifunc, @gnu_indirect_function -+ .globl ifunc -+ifunc: -+ ret diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch deleted file mode 100644 index 3f627c691e..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch +++ /dev/null @@ -1,36 +0,0 @@ -Upstream-Status: Pending - ---- binutils-2.18.orig/configure -+++ binutils-2.18/configure -@@ -2206,7 +2206,7 @@ - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -2504,7 +2504,7 @@ - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[3456789]86-*-vsta) ;; # don't add gprof back in - i[3456789]86-*-go32*) ;; # don't add gprof back in ---- binutils-2.18.orig/gprof/configure -+++ binutils-2.18/gprof/configure -@@ -4124,6 +4124,11 @@ - lt_cv_deplibs_check_method=pass_all - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch deleted file mode 100644 index 07312d70bf..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -e -## 001_ld_makefile_patch.dpatch -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Description: correct where ld scripts are installed -## DP: Author: Chris Chimelis -## DP: Upstream status: N/A -## DP: Date: ?? - -if [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch}" - -case "$1" in - -patch) patch $patch_opts -p1 < $0;; - -unpatch) patch $patch_opts -p1 -R < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1;; -esac - -exit 0 -Upstream-Status: Inappropriate [debian patch] - -@DPATCH@ ---- binutils-2.16.91.0.1/ld/Makefile.am -+++ binutils-2.16.91.0.1/ld/Makefile.am -@@ -20,7 +20,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@ ---- binutils-2.16.91.0.1/ld/Makefile.in -+++ binutils-2.16.91.0.1/ld/Makefile.in -@@ -268,7 +268,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/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch deleted file mode 100644 index 35835b3986..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -e -## 006_better_file_error.dpatch by David Kimdon -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Specify which filename is causing an error if the filename is a -## DP: directory. (#45832) - -if [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch}" - -case "$1" in - -patch) patch $patch_opts -p1 < $0;; - -unpatch) patch $patch_opts -p1 -R < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1;; -esac - -exit 0 -Upstream-Status: Inappropriate [debian patch] - -@DPATCH@ -diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c ---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100 -+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100 -@@ -150,6 +150,13 @@ - { - bfd *nbfd; - const bfd_target *target_vec; -+ struct stat s; -+ -+ if (stat (filename, &s) == 0) -+ if (S_ISDIR(s.st_mode)) { -+ bfd_set_error (bfd_error_file_not_recognized); -+ return NULL; -+ } - - nbfd = _bfd_new_bfd (); - if (nbfd == NULL) diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch deleted file mode 100644 index 3944f2e0b8..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -e -## 012_check_ldrunpath_length.dpatch by Chris Chimelis -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for -## DP: cases where -rpath isn't specified. (#151024) - -if [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch}" - -case "$1" in - -patch) patch $patch_opts -p1 < $0;; - -unpatch) patch $patch_opts -p1 -R < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1;; -esac - -exit 0 -Upstream-Status: Inappropriate [debian patch] - -@DPATCH@ -Index: src/ld/emultempl/elf32.em -=================================================================== ---- src.orig/ld/emultempl/elf32.em 2009-09-23 06:54:28.000000000 -0700 -+++ src/ld/emultempl/elf32.em 2009-10-06 10:58:16.883414592 -0700 -@@ -1237,6 +1237,8 @@ fragment <link_next) - { diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch deleted file mode 100644 index 58315798d6..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch +++ /dev/null @@ -1,39 +0,0 @@ -Source: Khem Raj -Disposition: submit upstream. -Upstream-Status: Pending - -Description: - -We do not need to have the libtool patch anymore for binutils after -libtool has been updated upstream it include support for it. However -for building gas natively on uclibc systems we have to link it with --lm so that it picks up missing symbols. - -/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_from_double': -floatformat.c:(.text+0x1ec): undefined reference to `frexp' -floatformat.c:(.text+0x2f8): undefined reference to `ldexp' -/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_to_double': -floatformat.c:(.text+0x38a): undefined reference to `ldexp' -floatformat.c:(.text+0x3d2): undefined reference to `ldexp' -floatformat.c:(.text+0x43e): undefined reference to `ldexp' floatformat.c:(.text+0x4e2): undefined reference to `ldexp' -collect2: ld returned 1 exit status -make[4]: *** [as-new] Error 1 - -Index: binutils-2.17.50/gas/configure.tgt -=================================================================== ---- binutils-2.17.50.orig/gas/configure.tgt -+++ binutils-2.17.50/gas/configure.tgt -@@ -408,6 +408,12 @@ case ${generic_target} in - *-*-netware) fmt=elf em=netware ;; - esac - -+case ${generic_target} in -+ arm-*-*uclibc*) -+ need_libm=yes -+ ;; -+esac -+ - case ${cpu_type} in - alpha | arm | i386 | ia64 | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k) - bfd_gas=yes - diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-x86_64_i386_biarch.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-x86_64_i386_biarch.patch deleted file mode 100644 index 16c775c550..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-x86_64_i386_biarch.patch +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -e -## 127_x86_64_i386_biarch.dpatch -## -## DP: Description: Add (/usr)/lib32 to the search paths on x86_64. -## DP: Author: Aurelien Jarno -## DP: Upstream status: Debian specific -# -# Hacked to apply with quilt -# Adapted to binutils 2.18.50.0.7 -Upstream-Status: Inappropriate [embedded specific] - ---- binutils/ld/emulparams/elf_i386.sh -+++ binutils/ld/emulparams/elf_i386.sh -@@ -12,3 +12,13 @@ - SEPARATE_GOTPLT=12 - SHARABLE_SECTIONS=yes - IREL_IN_PLT= -+ -+# Linux modify the default library search path to first include -+# a 32-bit specific directory. -+case "$target" in -+ x86_64*-linux* | i[3-7]86*-linux* | x86_64*-kfreebsd*-gnu | i[3-7]86*-kfreebsd*-gnu) -+ case "$EMULATION_NAME" in -+ *i386*) LIBPATH_SUFFIX=32 ;; -+ esac -+ ;; -+esac diff --git a/meta/recipes-devtools/binutils/binutils-2.21/libiberty_path_fix.patch b/meta/recipes-devtools/binutils/binutils-2.21/libiberty_path_fix.patch deleted file mode 100644 index 3772dfbed7..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/libiberty_path_fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -don't let the distro compiler point to the wrong installation location - -Thanks to RP for helping find the source code causing the issue. - -2010/08/13 -Nitin A Kamble -Index: binutils-2.20.1/libiberty/Makefile.in -=================================================================== ---- binutils-2.20.1.orig/libiberty/Makefile.in -+++ binutils-2.20.1/libiberty/Makefile.in -@@ -327,7 +327,8 @@ install: install_to_$(INSTALL_DEST) inst - # 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. --MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` -+#MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` -+MULTIOSDIR = "" - install_to_libdir: all - ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR) - $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n diff --git a/meta/recipes-devtools/binutils/binutils-2.21/libtool-2.4-update.patch b/meta/recipes-devtools/binutils/binutils-2.21/libtool-2.4-update.patch deleted file mode 100644 index 1f49db0d3b..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.21/libtool-2.4-update.patch +++ /dev/null @@ -1,18721 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -Index: binutils-2.21/libtool.m4 -=================================================================== ---- binutils-2.21.orig/libtool.m4 2010-01-09 13:11:31.000000000 -0800 -+++ binutils-2.21/libtool.m4 2011-01-07 10:49:16.396101000 -0800 -@@ -1,7 +1,8 @@ - # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- - # - # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, --# 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -+# Inc. - # Written by Gordon Matzigkeit, 1996 - # - # This file is free software; the Free Software Foundation gives -@@ -10,7 +11,8 @@ - - m4_define([_LT_COPYING], [dnl - # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, --# 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -+# Inc. - # Written by Gordon Matzigkeit, 1996 - # - # This file is part of GNU Libtool. -@@ -37,7 +39,7 @@ - # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - ]) - --# serial 56 LT_INIT -+# serial 57 LT_INIT - - - # LT_PREREQ(VERSION) -@@ -92,7 +94,8 @@ - LIBTOOL_DEPS="$ltmain" - - # Always use our own libtool. --LIBTOOL='$(SHELL) $(top_builddir)/libtool' -+LIBTOOL='$(SHELL) $(top_builddir)' -+LIBTOOL="$LIBTOOL/${host_alias}-libtool" - AC_SUBST(LIBTOOL)dnl - - _LT_SETUP -@@ -166,10 +169,13 @@ - dnl - m4_require([_LT_FILEUTILS_DEFAULTS])dnl - m4_require([_LT_CHECK_SHELL_FEATURES])dnl -+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl - m4_require([_LT_CMD_RELOAD])dnl - m4_require([_LT_CHECK_MAGIC_METHOD])dnl -+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl - m4_require([_LT_CMD_OLD_ARCHIVE])dnl - m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -+m4_require([_LT_WITH_SYSROOT])dnl - - _LT_CONFIG_LIBTOOL_INIT([ - # See if we are running on zsh, and set the options which allow our -@@ -199,7 +205,7 @@ - esac - - # Global variables: --ofile=libtool -+ofile=${host_alias}-libtool - can_build_shared=yes - - # All known linkers require a `.a' archive for static linking (except MSVC, -@@ -632,7 +638,7 @@ - m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) - configured by $[0], generated by m4_PACKAGE_STRING. - --Copyright (C) 2009 Free Software Foundation, Inc. -+Copyright (C) 2010 Free Software Foundation, Inc. - This config.lt script is free software; the Free Software Foundation - gives unlimited permision to copy, distribute and modify it." - -@@ -746,15 +752,12 @@ - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? -- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ -- || (rm -f "$cfgfile"; exit 1) -+ sed '$q' "$ltmain" >> "$cfgfile" \ -+ || (rm -f "$cfgfile"; exit 1) - -- _LT_PROG_XSI_SHELLFNS -+ _LT_PROG_REPLACE_SHELLFNS - -- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ -- || (rm -f "$cfgfile"; exit 1) -- -- mv -f "$cfgfile" "$ofile" || -+ mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - ], -@@ -980,6 +983,8 @@ - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD -+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD -+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF - int main() { return 0;} - _LT_EOF -@@ -1069,30 +1074,41 @@ - fi - ]) - --# _LT_SYS_MODULE_PATH_AIX --# ----------------------- -+# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -+# ---------------------------------- - # Links a minimal program and checks the executable - # for the system default hardcoded library path. In most cases, - # this is /usr/lib:/lib, but when the MPI compilers are used - # the location of the communication and MPI libs are included too. - # If we don't find anything, use the default library path according - # to the aix ld manual. -+# Store the results from the different compilers for each TAGNAME. -+# Allow to override them for all tags through lt_cv_aix_libpath. - m4_defun([_LT_SYS_MODULE_PATH_AIX], - [m4_require([_LT_DECL_SED])dnl --AC_LINK_IFELSE(AC_LANG_PROGRAM,[ --lt_aix_libpath_sed=' -- /Import File Strings/,/^$/ { -- /^0/ { -- s/^0 *\(.*\)$/\1/ -- p -- } -- }' --aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` --# Check for a 64-bit object if we didn't find anything. --if test -z "$aix_libpath"; then -- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` --fi],[]) --if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -+if test "${lt_cv_aix_libpath+set}" = set; then -+ aix_libpath=$lt_cv_aix_libpath -+else -+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], -+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ -+ lt_aix_libpath_sed='[ -+ /Import File Strings/,/^$/ { -+ /^0/ { -+ s/^0 *\([^ ]*\) *$/\1/ -+ p -+ } -+ }]' -+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -+ # Check for a 64-bit object if we didn't find anything. -+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then -+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -+ fi],[]) -+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then -+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" -+ fi -+ ]) -+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -+fi - ])# _LT_SYS_MODULE_PATH_AIX - - -@@ -1117,7 +1133,7 @@ - - AC_MSG_CHECKING([how to print strings]) - # Test print first, because it will be a builtin if present. --if test "X`print -r -- -n 2>/dev/null`" = X-n && \ -+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' - elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then -@@ -1161,6 +1177,39 @@ - ])# _LT_PROG_ECHO_BACKSLASH - - -+# _LT_WITH_SYSROOT -+# ---------------- -+AC_DEFUN([_LT_WITH_SYSROOT], -+[AC_MSG_CHECKING([for sysroot]) -+AC_ARG_WITH([libtool-sysroot], -+[ --with-libtool-sysroot[=DIR] Search for dependent libraries within DIR -+ (or the compiler's sysroot if not specified).], -+[], [with_libtool_sysroot=no]) -+ -+dnl lt_sysroot will always be passed unquoted. We quote it here -+dnl in case the user passed a directory name. -+lt_sysroot= -+case ${with_libtool_sysroot} in #( -+ yes) -+ if test "$GCC" = yes; then -+ lt_sysroot=`$CC --print-sysroot 2>/dev/null` -+ fi -+ ;; #( -+ /*) -+ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"` -+ ;; #( -+ no|'') -+ ;; #( -+ *) -+ AC_MSG_RESULT([${with_libtool_sysroot}]) -+ AC_MSG_ERROR([The sysroot must be an absolute path.]) -+ ;; -+esac -+ -+ AC_MSG_RESULT([${lt_sysroot:-no}]) -+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -+[dependent libraries, and in which our libraries should be installed.])]) -+ - # _LT_ENABLE_LOCK - # --------------- - m4_defun([_LT_ENABLE_LOCK], -@@ -1307,14 +1356,47 @@ - ])# _LT_ENABLE_LOCK - - -+# _LT_PROG_AR -+# ----------- -+m4_defun([_LT_PROG_AR], -+[AC_CHECK_TOOLS(AR, [ar], false) -+: ${AR=ar} -+: ${AR_FLAGS=cru} -+_LT_DECL([], [AR], [1], [The archiver]) -+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) -+ -+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], -+ [lt_cv_ar_at_file=no -+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM], -+ [echo conftest.$ac_objext > conftest.lst -+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' -+ AC_TRY_EVAL([lt_ar_try]) -+ if test "$ac_status" -eq 0; then -+ # Ensure the archiver fails upon bogus file names. -+ rm -f conftest.$ac_objext libconftest.a -+ AC_TRY_EVAL([lt_ar_try]) -+ if test "$ac_status" -ne 0; then -+ lt_cv_ar_at_file=@ -+ fi -+ fi -+ rm -f conftest.* libconftest.a -+ ]) -+ ]) -+ -+if test "x$lt_cv_ar_at_file" = xno; then -+ archiver_list_spec= -+else -+ archiver_list_spec=$lt_cv_ar_at_file -+fi -+_LT_DECL([], [archiver_list_spec], [1], -+ [How to feed a file listing to the archiver]) -+])# _LT_PROG_AR -+ -+ - # _LT_CMD_OLD_ARCHIVE - # ------------------- - m4_defun([_LT_CMD_OLD_ARCHIVE], --[AC_CHECK_TOOL(AR, ar, false) --test -z "$AR" && AR=ar --test -z "$AR_FLAGS" && AR_FLAGS=cru --_LT_DECL([], [AR], [1], [The archiver]) --_LT_DECL([], [AR_FLAGS], [1]) -+[_LT_PROG_AR - - AC_CHECK_TOOL(STRIP, strip, :) - test -z "$STRIP" && STRIP=: -@@ -1610,7 +1692,7 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --[#line __oline__ "configure" -+[#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -1654,10 +1736,10 @@ - /* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ - #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) --void fnord () __attribute__((visibility("default"))); -+int fnord () __attribute__((visibility("default"))); - #endif - --void fnord () { int i=42; } -+int fnord () { return 42; } - int main () - { - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -2197,8 +2279,9 @@ - need_version=no - need_lib_prefix=no - -- case $GCC,$host_os in -- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) -+ case $GCC,$cc_basename in -+ yes,*) -+ # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ -@@ -2231,13 +2314,71 @@ - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac -+ dynamic_linker='Win32 ld.exe' -+ ;; -+ -+ *,cl*) -+ # Native MSVC -+ libname_spec='$name' -+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -+ library_names_spec='${libname}.dll.lib' -+ -+ case $build_os in -+ mingw*) -+ sys_lib_search_path_spec= -+ lt_save_ifs=$IFS -+ IFS=';' -+ for lt_path in $LIB -+ do -+ IFS=$lt_save_ifs -+ # Let DOS variable expansion print the short 8.3 style file name. -+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` -+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" -+ done -+ IFS=$lt_save_ifs -+ # Convert to MSYS style. -+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` -+ ;; -+ cygwin*) -+ # Convert to unix form, then to dos form, then back to unix form -+ # but this time dos style (no spaces!) so that the unix form looks -+ # like /cygdrive/c/PROGRA~1:/cygdr... -+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` -+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` -+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` -+ ;; -+ *) -+ sys_lib_search_path_spec="$LIB" -+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then -+ # It is most probably a Windows format PATH. -+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` -+ else -+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` -+ fi -+ # FIXME: find the short name or the path components, as spaces are -+ # common. (e.g. "Program Files" -> "PROGRA~1") -+ ;; -+ esac -+ -+ # DLL is installed to $(libdir)/../bin by postinstall_cmds -+ postinstall_cmds='base_file=`basename \${file}`~ -+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ -+ dldir=$destdir/`dirname \$dlpath`~ -+ test -d \$dldir || mkdir -p \$dldir~ -+ $install_prog $dir/$dlname \$dldir/$dlname' -+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ -+ dlpath=$dir/\$dldll~ -+ $RM \$dlpath' -+ shlibpath_overrides_runpath=yes -+ dynamic_linker='Win32 link.exe' - ;; - - *) -+ # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' -+ dynamic_linker='Win32 ld.exe' - ;; - esac -- dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; -@@ -2333,7 +2474,7 @@ - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes -- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib' -+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -@@ -2941,6 +3082,11 @@ - esac - reload_cmds='$LD$reload_flag -o $output$reload_objs' - case $host_os in -+ cygwin* | mingw* | pw32* | cegcc*) -+ if test "$GCC" != yes; then -+ reload_cmds=false -+ fi -+ ;; - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' -@@ -3007,7 +3153,8 @@ - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else -- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' -+ # Keep this pattern in sync with the one in func_win32_libid. -+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; -@@ -3158,6 +3305,21 @@ - ;; - esac - ]) -+ -+file_magic_glob= -+want_nocaseglob=no -+if test "$build" = "$host"; then -+ case $host_os in -+ mingw* | pw32*) -+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then -+ want_nocaseglob=yes -+ else -+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` -+ fi -+ ;; -+ esac -+fi -+ - file_magic_cmd=$lt_cv_file_magic_cmd - deplibs_check_method=$lt_cv_deplibs_check_method - test -z "$deplibs_check_method" && deplibs_check_method=unknown -@@ -3165,7 +3327,11 @@ - _LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) - _LT_DECL([], [file_magic_cmd], [1], -- [Command to use when deplibs_check_method == "file_magic"]) -+ [Command to use when deplibs_check_method = "file_magic"]) -+_LT_DECL([], [file_magic_glob], [1], -+ [How to find potential files when deplibs_check_method = "file_magic"]) -+_LT_DECL([], [want_nocaseglob], [1], -+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) - ])# _LT_CHECK_MAGIC_METHOD - - -@@ -3268,6 +3434,67 @@ - dnl AC_DEFUN([AM_PROG_NM], []) - dnl AC_DEFUN([AC_PROG_NM], []) - -+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -+# -------------------------------- -+# how to determine the name of the shared library -+# associated with a specific link library. -+# -- PORTME fill in with the dynamic library characteristics -+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -+[m4_require([_LT_DECL_EGREP]) -+m4_require([_LT_DECL_OBJDUMP]) -+m4_require([_LT_DECL_DLLTOOL]) -+AC_CACHE_CHECK([how to associate runtime and link libraries], -+lt_cv_sharedlib_from_linklib_cmd, -+[lt_cv_sharedlib_from_linklib_cmd='unknown' -+ -+case $host_os in -+cygwin* | mingw* | pw32* | cegcc*) -+ # two different shell functions defined in ltmain.sh -+ # decide which to use based on capabilities of $DLLTOOL -+ case `$DLLTOOL --help 2>&1` in -+ *--identify-strict*) -+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib -+ ;; -+ *) -+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback -+ ;; -+ esac -+ ;; -+*) -+ # fallback: assume linklib IS sharedlib -+ lt_cv_sharedlib_from_linklib_cmd="$ECHO" -+ ;; -+esac -+]) -+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO -+ -+_LT_DECL([], [sharedlib_from_linklib_cmd], [1], -+ [Command to associate shared and link libraries]) -+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -+ -+ -+# _LT_PATH_MANIFEST_TOOL -+# ---------------------- -+# locate the manifest tool -+m4_defun([_LT_PATH_MANIFEST_TOOL], -+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], -+ [lt_cv_path_mainfest_tool=no -+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD -+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out -+ cat conftest.err >&AS_MESSAGE_LOG_FD -+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then -+ lt_cv_path_mainfest_tool=yes -+ fi -+ rm -f conftest*]) -+if test "x$lt_cv_path_mainfest_tool" != xyes; then -+ MANIFEST_TOOL=: -+fi -+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -+])# _LT_PATH_MANIFEST_TOOL -+ - - # LT_LIB_M - # -------- -@@ -3394,8 +3621,8 @@ - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - - # Transform an extracted symbol line into symbol name and symbol address --lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" --lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" -+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - - # Handle CRLF in mingw tool chain - opt_cr= -@@ -3431,6 +3658,7 @@ - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi -+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no -@@ -3464,6 +3692,18 @@ - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -+/* DATA imports from DLLs on WIN32 con't be const, because runtime -+ relocations are performed -- see ld's documentation on pseudo-relocs. */ -+# define LT@&t@_DLSYM_CONST -+#elif defined(__osf__) -+/* This system does not cope well with relocations in const data. */ -+# define LT@&t@_DLSYM_CONST -+#else -+# define LT@&t@_DLSYM_CONST const -+#endif -+ - #ifdef __cplusplus - extern "C" { - #endif -@@ -3475,7 +3715,7 @@ - cat <<_LT_EOF >> conftest.$ac_ext - - /* The mapping between symbol names and symbols. */ --const struct { -+LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; - } -@@ -3501,15 +3741,15 @@ - _LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext -- lt_save_LIBS="$LIBS" -- lt_save_CFLAGS="$CFLAGS" -+ lt_globsym_save