summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils-2.20.1
diff options
context:
space:
mode:
authorScott Garman <scott.a.garman@intel.com>2010-12-22 10:10:33 -0800
committerSaul Wold <sgw@linux.intel.com>2011-01-21 01:36:15 -0800
commitc15f20a124cdc4966014ff624a06ab5a325042cd (patch)
tree57d055a81d601db5be854abd53d1094bed817fdb /meta/recipes-devtools/binutils/binutils-2.20.1
parent6656381714c5956f71ca634f5a5f4aa4661bbf7e (diff)
downloadpoky-c15f20a124cdc4966014ff624a06ab5a325042cd.tar.gz
binutils: upgrade to 2.21 and add libtool sysroot support
* Upgraded binutils to v2.21 * Incorporated libtool sysroot patches from OE * Removed patches no longer needed or obsoleted by OE patches Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils-2.20.1')
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch22
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch18
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch67
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch29
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch253
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch34
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch50
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch43
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch47
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch38
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch26
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch20
12 files changed, 0 insertions, 647 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch
deleted file mode 100644
index 2623301da0..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1--- /tmp/configure.ac 2008-06-22 14:14:59.000000000 +0200
2+++ binutils-2.18.50.0.7/configure.ac 2008-06-22 14:15:30.000000000 +0200
3@@ -561,7 +561,7 @@
4 noconfigdirs="$noconfigdirs target-libffi target-qthreads"
5 libgloss_dir=arm
6 ;;
7- arm*-*-linux-gnueabi)
8+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
9 noconfigdirs="$noconfigdirs target-qthreads"
10 noconfigdirs="$noconfigdirs target-libobjc"
11 case ${with_newlib} in
12--- /tmp/configure 2008-06-22 14:17:11.000000000 +0200
13+++ binutils-2.18.50.0.7/configure 2008-06-22 14:17:56.000000000 +0200
14@@ -2307,7 +2307,7 @@
15 noconfigdirs="$noconfigdirs target-libffi target-qthreads"
16 libgloss_dir=arm
17 ;;
18- arm*-*-linux-gnueabi)
19+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
20 noconfigdirs="$noconfigdirs target-qthreads"
21 noconfigdirs="$noconfigdirs target-libobjc"
22 case ${with_newlib} in
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch
deleted file mode 100644
index dfe9b18e17..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1Adds support for Freescale Power architecture e300c2 and e300c3 cores.
2http://www.bitshrine.org/gpp/tc-fsl-x86lnx-e300c3-nptl-4.0.2-2.src.rpm
3
4Leon Woestenberg <leonw@mailcan.com>
5
6Index: binutils-2.19.51.0.3/opcodes/ppc-dis.c
7===================================================================
8--- binutils-2.19.51.0.3.orig/opcodes/ppc-dis.c 2009-04-16 00:38:45.000000000 -0700
9+++ binutils-2.19.51.0.3/opcodes/ppc-dis.c 2009-04-16 00:43:56.000000000 -0700
10@@ -132,6 +132,8 @@
11 | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7 | PPC_OPCODE_ALTIVEC
12 | PPC_OPCODE_VSX),
13 0 },
14+ { "pmr", (PPC_OPCODE_PMR),
15+ 0 },
16 { "ppc", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_32),
17 0 },
18 { "ppc32", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_32),
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch
deleted file mode 100644
index 61517d1d4c..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch
+++ /dev/null
@@ -1,67 +0,0 @@
1This is because libdir has a trailing slash which breaks the comparision.
2
3RP 2/1/10
4
5Index: binutils-2.20.1/ltmain.sh
6===================================================================
7--- binutils-2.20.1.orig/ltmain.sh 2009-09-01 00:59:32.000000000 +0800
8+++ binutils-2.20.1/ltmain.sh 2010-07-29 09:41:14.000000000 +0800
9@@ -2156,8 +2156,12 @@
10 dir="$dir$objdir"
11
12 if test -n "$relink_command"; then
13+ # Strip any trailing slash from the destination.
14+ func_stripname '' '/' "$libdir"
15+ destlibdir=$func_stripname_result
16+
17 # Determine the prefix the user has applied to our future dir.
18- inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
19+ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$destlibdir\$%%"`
20
21 # Don't allow the user to place us outside of our expected
22 # location b/c this prevents finding dependent libraries that
23@@ -5570,8 +5574,14 @@
24 absdir="$abs_ladir"
25 libdir="$abs_ladir"
26 else
27- dir="$libdir"
28- absdir="$libdir"
29+ # Adding 'libdir' from the .la file to our library search paths
30+ # breaks crosscompilation horribly. We cheat here and don't add
31+ # it, instead adding the path where we found the .la. -CL
32+ dir="$abs_ladir"
33+ absdir="$abs_ladir"
34+ libdir="$abs_ladir"
35+ #dir="$libdir"
36+ #absdir="$libdir"
37 fi
38 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
39 else
40@@ -5942,8 +5952,6 @@
41 add="$libdir/$linklib"
42 fi
43 else
44- # We cannot seem to hardcode it, guess we'll fake it.
45- add_dir="-L$libdir"
46 # Try looking first in the location we're being installed to.
47 if test -n "$inst_prefix_dir"; then
48 case $libdir in
49@@ -6089,7 +6097,17 @@
50 fi
51 ;;
52 *)
53- path="-L$absdir/$objdir"
54+ # OE sets installed=no in staging. We need to look in $objdir and $absdir,
55+ # preferring $objdir. RP 31/04/2008
56+ if test -f "$absdir/$objdir/$depdepl" ; then
57+ depdepl="$absdir/$objdir/$depdepl"
58+ path="-L$absdir/$objdir"
59+ elif test -f "$absdir/$depdepl" ; then
60+ depdepl="$absdir/$depdepl"
61+ path="-L$absdir"
62+ else
63+ path="-L$absdir/$objdir"
64+ fi
65 ;;
66 esac
67 else
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch
deleted file mode 100644
index c71f0ad4db..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1# "-fPIE" always triggers segmentation fault in ld.so.1 on mips platform,
2# which was first saw on dbus-daemon. Below borrow the binutils fix from
3# binutils bugzilla:
4#
5# http://sourceware.org/bugzilla/show_bug.cgi?id=10858
6#
7# Its commit message says:
8# * elfxx-mips.c (mips_elf_create_dynamic_relocation): Use section
9# sym dynindx for relocs against defined syms in PIEs.
10#
11# It's in upstream CVS now (rev 1.267), but not in current release
12#
13# By Kevin Tian <kevin.tian@intel.com>, 2010-07-15
14
15diff --git a/elfxx-mips.c b/elfxx-mips.c
16index 3a1c8ba..f6c2c1c 100644
17--- binutils-2.20.1.orig/bfd/elfxx-mips.c
18+++ binutils-2.20.1/bfd/elfxx-mips.c
19@@ -5688,9 +5688,7 @@ mips_elf_create_dynamic_relocation (bfd *output_bfd,
20
21 /* We must now calculate the dynamic symbol table index to use
22 in the relocation. */
23- if (h != NULL
24- && (!h->root.def_regular
25- || (info->shared && !info->symbolic && !h->root.forced_local)))
26+ if (h != NULL && ! SYMBOL_REFERENCES_LOCAL (info, &h->root))
27 {
28 indx = h->root.dynindx;
29 if (SGI_COMPAT (output_bfd))
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch
deleted file mode 100644
index c2f19276f8..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch
+++ /dev/null
@@ -1,253 +0,0 @@
1This patch is recived from Mark Hatle
2
3purpose: warn for uses of system directories when cross linking
4
5Signed-Off-By: Mark Hatle <mark.hatle@windriver.com>
6
7Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
8
92008-07-02 Joseph Myers <joseph@codesourcery.com>
10
11 ld/
12 * ld.h (args_type): Add error_poison_system_directories.
13 * ld.texinfo (--error-poison-system-directories): Document.
14 * ldfile.c (ldfile_add_library_path): Check
15 command_line.error_poison_system_directories.
16 * ldmain.c (main): Initialize
17 command_line.error_poison_system_directories.
18 * lexsup.c (enum option_values): Add
19 OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
20 (ld_options): Add --error-poison-system-directories.
21 (parse_args): Handle new option.
22
232007-06-13 Joseph Myers <joseph@codesourcery.com>
24
25 ld/
26 * config.in: Regenerate.
27 * ld.h (args_type): Add poison_system_directories.
28 * ld.texinfo (--no-poison-system-directories): Document.
29 * ldfile.c (ldfile_add_library_path): Check
30 command_line.poison_system_directories.
31 * ldmain.c (main): Initialize
32 command_line.poison_system_directories.
33 * lexsup.c (enum option_values): Add
34 OPTION_NO_POISON_SYSTEM_DIRECTORIES.
35 (ld_options): Add --no-poison-system-directories.
36 (parse_args): Handle new option.
37
382007-04-20 Joseph Myers <joseph@codesourcery.com>
39
40 Merge from Sourcery G++ binutils 2.17:
41
42 2007-03-20 Joseph Myers <joseph@codesourcery.com>
43 Based on patch by Mark Hatle <mark.hatle@windriver.com>.
44 ld/
45 * configure.in (--enable-poison-system-directories): New option.
46 * configure, config.in: Regenerate.
47 * ldfile.c (ldfile_add_library_path): If
48 ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
49 /usr/lib, /usr/local/lib or /usr/X11R6/lib.
50
51Index: binutils-2.20.1/ld/config.in
52===================================================================
53--- binutils-2.20.1.orig/ld/config.in
54+++ binutils-2.20.1/ld/config.in
55@@ -4,6 +4,9 @@
56 language is requested. */
57 #undef ENABLE_NLS
58
59+/* Define to warn for use of native system library directories */
60+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
61+
62 /* Additional extension a shared object might have. */
63 #undef EXTRA_SHLIB_EXTENSION
64
65Index: binutils-2.20.1/ld/configure.in
66===================================================================
67--- binutils-2.20.1.orig/ld/configure.in
68+++ binutils-2.20.1/ld/configure.in
69@@ -69,6 +69,16 @@ AC_SUBST(use_sysroot)
70 AC_SUBST(TARGET_SYSTEM_ROOT)
71 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
72
73+AC_ARG_ENABLE([poison-system-directories],
74+ AS_HELP_STRING([--enable-poison-system-directories],
75+ [warn for use of native system library directories]),,
76+ [enable_poison_system_directories=no])
77+if test "x${enable_poison_system_directories}" = "xyes"; then
78+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
79+ [1],
80+ [Define to warn for use of native system library directories])
81+fi
82+
83 AC_ARG_ENABLE([got],
84 AS_HELP_STRING([--enable-got=<type>],
85 [GOT handling scheme (target, single, negative, multigot)]),
86Index: binutils-2.20.1/ld/ld.h
87===================================================================
88--- binutils-2.20.1.orig/ld/ld.h
89+++ binutils-2.20.1/ld/ld.h
90@@ -176,6 +176,14 @@ typedef struct {
91 input files. */
92 bfd_boolean accept_unknown_input_arch;
93
94+ /* If TRUE (the default) warn for uses of system directories when
95+ cross linking. */
96+ bfd_boolean poison_system_directories;
97+
98+ /* If TRUE (default FALSE) give an error for uses of system
99+ directories when cross linking instead of a warning. */
100+ bfd_boolean error_poison_system_directories;
101+
102 /* Big or little endian as set on command line. */
103 enum endian_enum endian;
104
105Index: binutils-2.20.1/ld/ld.texinfo
106===================================================================
107--- binutils-2.20.1.orig/ld/ld.texinfo
108+++ binutils-2.20.1/ld/ld.texinfo
109@@ -2084,6 +2084,18 @@ string identifying the original linked f
110
111 Passing @code{none} for @var{style} disables the setting from any
112 @code{--build-id} options earlier on the command line.
113+
114+@kindex --no-poison-system-directories
115+@item --no-poison-system-directories
116+Do not warn for @option{-L} options using system directories such as
117+@file{/usr/lib} when cross linking. This option is intended for use
118+in chroot environments when such directories contain the correct
119+libraries for the target system rather than the host.
120+
121+@kindex --error-poison-system-directories
122+@item --error-poison-system-directories
123+Give an error instead of a warning for @option{-L} options using
124+system directories when cross linking.
125 @end table
126
127 @c man end
128Index: binutils-2.20.1/ld/ldfile.c
129===================================================================
130--- binutils-2.20.1.orig/ld/ldfile.c
131+++ binutils-2.20.1/ld/ldfile.c
132@@ -120,6 +120,23 @@ ldfile_add_library_path (const char *nam
133 {
134 new_dirs->name = xstrdup (name);
135 new_dirs->sysrooted = is_sysrooted_pathname (name, FALSE);
136+
137+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
138+ if (command_line.poison_system_directories
139+ && ((!strncmp (name, "/lib", 4))
140+ || (!strncmp (name, "/usr/lib", 8))
141+ || (!strncmp (name, "/usr/local/lib", 14))
142+ || (!strncmp (name, "/usr/X11R6/lib", 14))))
143+ {
144+ if (command_line.error_poison_system_directories)
145+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
146+ "cross-compilation\n"), name);
147+ else
148+ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
149+ "cross-compilation\n"), name);
150+ }
151+#endif
152+
153 }
154 }
155
156Index: binutils-2.20.1/ld/ldmain.c
157===================================================================
158--- binutils-2.20.1.orig/ld/ldmain.c
159+++ binutils-2.20.1/ld/ldmain.c
160@@ -252,6 +252,8 @@ main (int argc, char **argv)
161 command_line.warn_mismatch = TRUE;
162 command_line.warn_search_mismatch = TRUE;
163 command_line.check_section_addresses = -1;
164+ command_line.poison_system_directories = TRUE;
165+ command_line.error_poison_system_directories = FALSE;
166
167 /* We initialize DEMANGLING based on the environment variable
168 COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
169Index: binutils-2.20.1/ld/lexsup.c
170===================================================================
171--- binutils-2.20.1.orig/ld/lexsup.c
172+++ binutils-2.20.1/ld/lexsup.c
173@@ -166,7 +166,9 @@ enum option_values
174 OPTION_WARN_SHARED_TEXTREL,
175 OPTION_WARN_ALTERNATE_EM,
176 OPTION_REDUCE_MEMORY_OVERHEADS,
177- OPTION_DEFAULT_SCRIPT
178+ OPTION_DEFAULT_SCRIPT,
179+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
180+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES
181 };
182
183 /* The long options. This structure is used for both the option
184@@ -575,6 +577,14 @@ static const struct ld_option ld_options
185 TWO_DASHES },
186 { {"wrap", required_argument, NULL, OPTION_WRAP},
187 '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES },
188+ { {"no-poison-system-directories", no_argument, NULL,
189+ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
190+ '\0', NULL, N_("Do not warn for -L options using system directories"),
191+ TWO_DASHES },
192+ { {"error-poison-system-directories", no_argument, NULL,
193+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
194+ '\0', NULL, N_("Give an error for -L options using system directories"),
195+ TWO_DASHES },
196 };
197
198 #define OPTION_COUNT ARRAY_SIZE (ld_options)
199@@ -1480,6 +1490,14 @@ parse_args (unsigned argc, char **argv)
200 einfo (_("%P%X: --hash-size needs a numeric argument\n"));
201 }
202 break;
203+
204+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
205+ command_line.poison_system_directories = FALSE;
206+ break;
207+
208+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
209+ command_line.error_poison_system_directories = TRUE;
210+ break;
211 }
212 }
213
214diff -ur binutils-2.20.1.orig/ld/configure binutils-2.20.1/ld/configure
215--- binutils-2.20.1.orig/ld/configure 2010-03-03 08:06:22.000000000 -0600
216+++ binutils-2.20.1/ld/configure 2010-09-30 11:19:35.776990594 -0500
217@@ -901,6 +904,7 @@
218 enable_targets
219 enable_64_bit_bfd
220 with_sysroot
221+enable_poison_system_directories
222 enable_got
223 enable_werror
224 enable_build_warnings
225@@ -1548,6 +1552,8 @@
226 (and sometimes confusing) to the casual installer
227 --enable-targets alternative target configurations
228 --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
229+ --enable-poison-system-directories
230+ warn for use of native system library directories
231 --enable-got=<type> GOT handling scheme (target, single, negative,
232 multigot)
233 --enable-werror treat compile warnings as errors
234@@ -4302,6 +4334,19 @@
235
236
237
238+# Check whether --enable-poison-system-directories was given.
239+if test "${enable_poison_system_directories+set}" = set; then :
240+ enableval=$enable_poison_system_directories;
241+else
242+ enable_poison_system_directories=no
243+fi
244+
245+if test "x${enable_poison_system_directories}" = "xyes"; then
246+
247+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
248+
249+fi
250+
251 # Check whether --enable-got was given.
252 if test "${enable_got+set}" = set; then :
253 enableval=$enable_got; case "${enableval}" in
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch
deleted file mode 100644
index 8de04e0fe0..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1--- binutils-2.18.orig/configure
2+++ binutils-2.18/configure
3@@ -2206,7 +2206,7 @@
4 am33_2.0-*-linux*)
5 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
6 ;;
7- sh-*-linux*)
8+ sh*-*-linux*)
9 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
10 ;;
11 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
12@@ -2504,7 +2504,7 @@
13 romp-*-*)
14 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
15 ;;
16- sh-*-* | sh64-*-*)
17+ sh*-*-* | sh64-*-*)
18 case "${host}" in
19 i[3456789]86-*-vsta) ;; # don't add gprof back in
20 i[3456789]86-*-go32*) ;; # don't add gprof back in
21--- binutils-2.18.orig/gprof/configure
22+++ binutils-2.18/gprof/configure
23@@ -4124,6 +4124,11 @@
24 lt_cv_deplibs_check_method=pass_all
25 ;;
26
27+linux-uclibc*)
28+ lt_cv_deplibs_check_method=pass_all
29+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
30+ ;;
31+
32 netbsd*)
33 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
34 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch
deleted file mode 100644
index 04a7e61e25..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,50 +0,0 @@
1#!/bin/sh -e
2## 001_ld_makefile_patch.dpatch
3##
4## All lines beginning with `## DP:' are a description of the patch.
5## DP: Description: correct where ld scripts are installed
6## DP: Author: Chris Chimelis <chris@debian.org>
7## DP: Upstream status: N/A
8## DP: Date: ??
9
10if [ $# -ne 1 ]; then
11 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
12 exit 1
13fi
14
15[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
16patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
17
18case "$1" in
19 -patch) patch $patch_opts -p1 < $0;;
20 -unpatch) patch $patch_opts -p1 -R < $0;;
21 *)
22 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
23 exit 1;;
24esac
25
26exit 0
27
28@DPATCH@
29--- binutils-2.16.91.0.1/ld/Makefile.am
30+++ binutils-2.16.91.0.1/ld/Makefile.am
31@@ -20,7 +20,7 @@
32 # We put the scripts in the directory $(scriptdir)/ldscripts.
33 # We can't put the scripts in $(datadir) because the SEARCH_DIR
34 # directives need to be different for native and cross linkers.
35-scriptdir = $(tooldir)/lib
36+scriptdir = $(libdir)
37
38 EMUL = @EMUL@
39 EMULATION_OFILES = @EMULATION_OFILES@
40--- binutils-2.16.91.0.1/ld/Makefile.in
41+++ binutils-2.16.91.0.1/ld/Makefile.in
42@@ -268,7 +268,7 @@
43 # We put the scripts in the directory $(scriptdir)/ldscripts.
44 # We can't put the scripts in $(datadir) because the SEARCH_DIR
45 # directives need to be different for native and cross linkers.
46-scriptdir = $(tooldir)/lib
47+scriptdir = $(libdir)
48 BASEDIR = $(srcdir)/..
49 BFDDIR = $(BASEDIR)/bfd
50 INCDIR = $(BASEDIR)/include
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch
deleted file mode 100644
index f337611edf..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1#!/bin/sh -e
2## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
3##
4## All lines beginning with `## DP:' are a description of the patch.
5## DP: Specify which filename is causing an error if the filename is a
6## DP: directory. (#45832)
7
8if [ $# -ne 1 ]; then
9 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
10 exit 1
11fi
12
13[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
14patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
15
16case "$1" in
17 -patch) patch $patch_opts -p1 < $0;;
18 -unpatch) patch $patch_opts -p1 -R < $0;;
19 *)
20 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
21 exit 1;;
22esac
23
24exit 0
25
26@DPATCH@
27diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
28--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
29+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
30@@ -150,6 +150,13 @@
31 {
32 bfd *nbfd;
33 const bfd_target *target_vec;
34+ struct stat s;
35+
36+ if (stat (filename, &s) == 0)
37+ if (S_ISDIR(s.st_mode)) {
38+ bfd_set_error (bfd_error_file_not_recognized);
39+ return NULL;
40+ }
41
42 nbfd = _bfd_new_bfd ();
43 if (nbfd == NULL)
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a90c..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1#!/bin/sh -e
2## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
3##
4## All lines beginning with `## DP:' are a description of the patch.
5## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
6## DP: cases where -rpath isn't specified. (#151024)
7
8if [ $# -ne 1 ]; then
9 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
10 exit 1
11fi
12
13[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
14patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
15
16case "$1" in
17 -patch) patch $patch_opts -p1 < $0;;
18 -unpatch) patch $patch_opts -p1 -R < $0;;
19 *)
20 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
21 exit 1;;
22esac
23
24exit 0
25
26@DPATCH@
27diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
28--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
29+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
30@@ -692,6 +692,8 @@
31 && command_line.rpath == NULL)
32 {
33 lib_path = (const char *) getenv ("LD_RUN_PATH");
34+ if ((lib_path) && (strlen (lib_path) == 0))
35+ lib_path = NULL;
36 if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
37 force))
38 break;
39@@ -871,6 +873,8 @@
40 rpath = command_line.rpath;
41 if (rpath == NULL)
42 rpath = (const char *) getenv ("LD_RUN_PATH");
43+ if ((rpath) && (strlen (rpath) == 0))
44+ rpath = NULL;
45 if (! (bfd_elf_size_dynamic_sections
46 (output_bfd, command_line.soname, rpath,
47 command_line.filter_shlib,
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch
deleted file mode 100644
index db838cf20c..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1Source: Khem Raj <raj.khem@gmail.com>
2Disposition: submit upstream.
3
4Description:
5
6We do not need to have the libtool patch anymore for binutils after
7libtool has been updated upstream it include support for it. However
8for building gas natively on uclibc systems we have to link it with
9-lm so that it picks up missing symbols.
10
11/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_from_double':
12floatformat.c:(.text+0x1ec): undefined reference to `frexp'
13floatformat.c:(.text+0x2f8): undefined reference to `ldexp'
14/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_to_double':
15floatformat.c:(.text+0x38a): undefined reference to `ldexp'
16floatformat.c:(.text+0x3d2): undefined reference to `ldexp'
17floatformat.c:(.text+0x43e): undefined reference to `ldexp' floatformat.c:(.text+0x4e2): undefined reference to `ldexp'
18collect2: ld returned 1 exit status
19make[4]: *** [as-new] Error 1
20
21Index: binutils-2.17.50/gas/configure.tgt
22===================================================================
23--- binutils-2.17.50.orig/gas/configure.tgt
24+++ binutils-2.17.50/gas/configure.tgt
25@@ -408,6 +408,12 @@ case ${generic_target} in
26 *-*-netware) fmt=elf em=netware ;;
27 esac
28
29+case ${generic_target} in
30+ arm-*-*uclibc*)
31+ need_libm=yes
32+ ;;
33+esac
34+
35 case ${cpu_type} in
36 alpha | arm | i386 | ia64 | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k)
37 bfd_gas=yes
38
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch
deleted file mode 100644
index 4cd9e22438..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1#!/bin/sh -e
2## 127_x86_64_i386_biarch.dpatch
3##
4## DP: Description: Add (/usr)/lib32 to the search paths on x86_64.
5## DP: Author: Aurelien Jarno <aurel32.debian.org>
6## DP: Upstream status: Debian specific
7#
8# Hacked to apply with quilt
9# Adapted to binutils 2.18.50.0.7
10
11--- binutils/ld/emulparams/elf_i386.sh
12+++ binutils/ld/emulparams/elf_i386.sh
13@@ -12,3 +12,13 @@
14 SEPARATE_GOTPLT=12
15 SHARABLE_SECTIONS=yes
16 IREL_IN_PLT=
17+
18+# Linux modify the default library search path to first include
19+# a 32-bit specific directory.
20+case "$target" in
21+ x86_64*-linux* | i[3-7]86*-linux* | x86_64*-kfreebsd*-gnu | i[3-7]86*-kfreebsd*-gnu)
22+ case "$EMULATION_NAME" in
23+ *i386*) LIBPATH_SUFFIX=32 ;;
24+ esac
25+ ;;
26+esac
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch
deleted file mode 100644
index 36a14d7a18..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1don't let the distro compiler point to the wrong installation location
2
3Thanks to RP for helping find the source code causing the issue.
4
52010/08/13
6Nitin A Kamble <nitin.a.kamble@intel.com>
7Index: binutils-2.20.1/libiberty/Makefile.in
8===================================================================
9--- binutils-2.20.1.orig/libiberty/Makefile.in
10+++ binutils-2.20.1/libiberty/Makefile.in
11@@ -327,7 +327,8 @@ install: install_to_$(INSTALL_DEST) inst
12 # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
13 # default multilib, so we have to take CFLAGS into account as well,
14 # since it will be passed the multilib flags.
15-MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
16+#MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
17+MULTIOSDIR = ""
18 install_to_libdir: all
19 ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
20 $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n