summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2011-01-22 16:51:53 +0100
committerKoen Kooi <koen@dominion.thruhere.net>2011-01-22 16:51:53 +0100
commit68bf9ac203e3f06bc7642382c7654bc9ed8381d6 (patch)
treed09662cf90a5e0a10fd2c140d5712ad15d1c7783
parent741d7a4eaceec42e3206fcd287729abb0efd4af9 (diff)
downloadmeta-openembedded-68bf9ac203e3f06bc7642382c7654bc9ed8381d6.tar.gz
binutils: import 2.20.1 from yocto
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch22
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch18
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch67
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch29
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch253
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch34
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch50
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch43
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch47
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch38
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch26
-rw-r--r--recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch20
-rw-r--r--recipes-devtools/binutils/binutils-cross-canadian.inc21
-rw-r--r--recipes-devtools/binutils/binutils-cross-canadian_2.20.1.bb3
-rw-r--r--recipes-devtools/binutils/binutils-cross.inc26
-rw-r--r--recipes-devtools/binutils/binutils-cross_2.20.1.bb3
-rw-r--r--recipes-devtools/binutils/binutils-crosssdk_2.20.1.bb12
-rw-r--r--recipes-devtools/binutils/binutils.inc149
-rw-r--r--recipes-devtools/binutils/binutils_2.20.1.bb41
19 files changed, 902 insertions, 0 deletions
diff --git a/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch b/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch
new file mode 100644
index 000000000..2623301da
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch
@@ -0,0 +1,22 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch
new file mode 100644
index 000000000..dfe9b18e1
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch
@@ -0,0 +1,18 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch
new file mode 100644
index 000000000..61517d1d4
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch
@@ -0,0 +1,67 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch
new file mode 100644
index 000000000..c71f0ad4d
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch
@@ -0,0 +1,29 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch
new file mode 100644
index 000000000..c2f19276f
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch
@@ -0,0 +1,253 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch
new file mode 100644
index 000000000..8de04e0fe
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch
@@ -0,0 +1,34 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644
index 000000000..04a7e61e2
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch
@@ -0,0 +1,50 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644
index 000000000..f337611ed
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch
@@ -0,0 +1,43 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644
index 000000000..498651a90
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch
@@ -0,0 +1,47 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch
new file mode 100644
index 000000000..db838cf20
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch
@@ -0,0 +1,38 @@
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/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch b/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch
new file mode 100644
index 000000000..4cd9e2243
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch
@@ -0,0 +1,26 @@
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/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch b/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch
new file mode 100644
index 000000000..36a14d7a1
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch
@@ -0,0 +1,20 @@
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
diff --git a/recipes-devtools/binutils/binutils-cross-canadian.inc b/recipes-devtools/binutils/binutils-cross-canadian.inc
new file mode 100644
index 000000000..e042ac76b
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-cross-canadian.inc
@@ -0,0 +1,21 @@
1inherit cross-canadian
2
3DESCRIPTION = "A GNU collection of cross-canadian binary utilities for ${TARGET_ARCH} target"
4PN = "binutils-cross-canadian-${TRANSLATED_TARGET_ARCH}"
5BPN = "binutils"
6
7DEPENDS = "flex-native bison-native virtual/${HOST_PREFIX}gcc-crosssdk virtual/libc-nativesdk zlib-nativesdk gettext-nativesdk"
8EXTRA_OECONF = "--with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS} \
9 --program-prefix=${TARGET_PREFIX}"
10
11do_install () {
12 autotools_do_install
13
14 # We're not interested in the libs or headers, these would come from the
15 # nativesdk or target version of the binutils recipe
16 rm -rf ${D}${prefix}/${TARGET_SYS}
17 rm -f ${D}${libdir}/libbfd*
18 rm -f ${D}${libdir}/libiberty*
19 rm -f ${D}${libdir}/libopcodes*
20 rm -f ${D}${includedir}/*.h
21}
diff --git a/recipes-devtools/binutils/binutils-cross-canadian_2.20.1.bb b/recipes-devtools/binutils/binutils-cross-canadian_2.20.1.bb
new file mode 100644
index 000000000..1621b77e9
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-cross-canadian_2.20.1.bb
@@ -0,0 +1,3 @@
1require binutils_${PV}.bb
2require binutils-cross-canadian.inc
3PR = "r6"
diff --git a/recipes-devtools/binutils/binutils-cross.inc b/recipes-devtools/binutils/binutils-cross.inc
new file mode 100644
index 000000000..4b909720d
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-cross.inc
@@ -0,0 +1,26 @@
1inherit cross
2PROVIDES = "virtual/${TARGET_PREFIX}binutils"
3
4EXTRA_OECONF = "--with-sysroot=${STAGING_DIR_TARGET} \
5 --program-prefix=${TARGET_PREFIX} \
6 --disable-install-libbfd \
7 --disable-werror \
8 --enable-poison-system-directories"
9
10do_install () {
11 oe_runmake 'DESTDIR=${D}' install
12
13 # We don't really need these, so we'll remove them...
14 rm -rf ${D}${STAGING_DIR_NATIVE}${libdir_native}/libiberty.a
15 rm -rf ${D}${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}
16 rm -rf ${D}${STAGING_DIR_NATIVE}${prefix_native}/lib/ldscripts
17 rm -rf ${D}${STAGING_DIR_NATIVE}${prefix_native}/share/info
18 rm -rf ${D}${STAGING_DIR_NATIVE}${prefix_native}/share/locale
19 rm -rf ${D}${STAGING_DIR_NATIVE}${prefix_native}/share/man
20 rmdir ${D}${STAGING_DIR_NATIVE}${prefix_native}/share || :
21 rmdir ${D}${STAGING_DIR_NATIVE}${prefix_native}/${libdir}/gcc-lib || :
22 rmdir ${D}${STAGING_DIR_NATIVE}${prefix_native}/${libdir}64/gcc-lib || :
23 rmdir ${D}${STAGING_DIR_NATIVE}${prefix_native}/${libdir} || :
24 rmdir ${D}${STAGING_DIR_NATIVE}${prefix_native}/${libdir}64 || :
25 rmdir ${D}${STAGING_DIR_NATIVE}${prefix_native}/${prefix} || :
26}
diff --git a/recipes-devtools/binutils/binutils-cross_2.20.1.bb b/recipes-devtools/binutils/binutils-cross_2.20.1.bb
new file mode 100644
index 000000000..8c7e4bc1a
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-cross_2.20.1.bb
@@ -0,0 +1,3 @@
1require binutils_${PV}.bb
2require binutils-cross.inc
3
diff --git a/recipes-devtools/binutils/binutils-crosssdk_2.20.1.bb b/recipes-devtools/binutils/binutils-crosssdk_2.20.1.bb
new file mode 100644
index 000000000..88627f87b
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-crosssdk_2.20.1.bb
@@ -0,0 +1,12 @@
1require binutils-cross_${PV}.bb
2
3inherit crosssdk
4
5PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk"
6
7PR = "r4"
8
9do_configure_prepend () {
10 sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt
11}
12
diff --git a/recipes-devtools/binutils/binutils.inc b/recipes-devtools/binutils/binutils.inc
new file mode 100644
index 000000000..d9e859ef2
--- /dev/null
+++ b/recipes-devtools/binutils/binutils.inc
@@ -0,0 +1,149 @@
1SUMMARY = "A GNU collection of binary utilities"
2DESCRIPTION = "The GNU Binutils are a collection of binary tools. \
3The main ones are ld (GNU Linker), and as (GNU Assembler). This \
4package also includes addition tools such as addr2line (Converts \
5addresses into filenames and line numbers), ar (utility for creating, \
6modifying and extracting archives), nm (list symbols in object \
7files), objcopy (copy and translate object files), objdump (Display \
8object information), and other tools and related libraries."
9HOMEPAGE = "http://www.gnu.org/software/binutils/"
10BUGTRACKER = "http://sourceware.org/bugzilla/"
11SECTION = "devel"
12LICENSE = "GPLv3"
13
14DEPENDS = "flex-native bison-native"
15
16inherit autotools gettext
17
18PACKAGES += "${PN}-symlinks"
19
20FILES_${PN} = " \
21 ${bindir}/${TARGET_PREFIX}* \
22 ${libdir}/lib*-*.so \
23 ${prefix}/${TARGET_SYS}/bin/*"
24
25FILES_${PN}-dev = " \
26 ${includedir} \
27 ${libdir}/*.a \
28 ${libdir}/*.la \
29 ${libdir}/libbfd.so \
30 ${libdir}/libopcodes.so"
31
32FILES_${PN}-symlinks = " \
33 ${bindir}/addr2line \
34 ${bindir}/as \
35 ${bindir}/c++filt \
36 ${bindir}/gprof \
37 ${bindir}/ld \
38 ${bindir}/nm \
39 ${bindir}/objcopy \
40 ${bindir}/objdump \
41 ${bindir}/ranlib \
42 ${bindir}/readelf \
43 ${bindir}/size \
44 ${bindir}/strip"
45
46B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
47
48EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
49 --enable-install-libbfd \
50 --enable-shared"
51
52EXTRA_OECONF_virtclass-native = "--enable-target=all --enable-64-bit-bfd --enable-install-libbfd"
53
54# This is necessary due to a bug in the binutils Makefiles
55# EXTRA_OEMAKE = "configure-build-libiberty all"
56
57export AR = "${HOST_PREFIX}ar"
58export AS = "${HOST_PREFIX}as"
59export LD = "${HOST_PREFIX}ld"
60export NM = "${HOST_PREFIX}nm"
61export RANLIB = "${HOST_PREFIX}ranlib"
62export OBJCOPY = "${HOST_PREFIX}objcopy"
63export OBJDUMP = "${HOST_PREFIX}objdump"
64
65export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
66export AS_FOR_TARGET = "${TARGET_PREFIX}as"
67export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
68export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
69export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
70
71export CC_FOR_HOST = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
72export CXX_FOR_HOST = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
73
74export CC_FOR_BUILD = "${BUILD_CC}"
75export CPP_FOR_BUILD = "${BUILD_CPP}"
76export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
77
78do_configure () {
79 (cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
80 oe_runconf
81#
82# must prime config.cache to ensure the build of libiberty
83#
84 mkdir -p ${B}/build-${BUILD_SYS}
85 for i in ${CONFIG_SITE}; do
86 cat $i >> ${B}/build-${BUILD_SYS}/config.cache
87 done
88}
89
90do_install () {
91 autotools_do_install
92
93 # We don't really need these, so we'll remove them...
94 rm -rf ${D}${libdir}/ldscripts
95
96 # Fix the /usr/${TARGET_SYS}/bin/* links
97 for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do
98 rm -f $l
99 ln -sf `echo ${prefix}/${TARGET_SYS}/bin \
100 | tr -s / \
101 | sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l
102 done
103
104 # Install the libiberty header
105 install -d ${D}${includedir}
106 install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
107 install -m 644 ${S}/include/libiberty.h ${D}${includedir}
108
109 cd ${D}${bindir}
110
111 # Symlinks for ease of running these on the native target
112 for p in ${TARGET_SYS}-* ; do
113 ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
114 done
115
116 rm ${D}${bindir}/ar ${D}${bindir}/strings
117}
118
119do_install_virtclass-native () {
120 autotools_do_install
121
122 # Install the libiberty header
123 install -d ${D}${includedir}
124 install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
125 install -m 644 ${S}/include/libiberty.h ${D}${includedir}
126
127 # We only want libiberty, libbfd and libopcodes
128 rm -rf ${D}${bindir}
129 rm -rf ${D}${prefix}/${TARGET_SYS}
130 rm -rf ${D}${prefix}/lib/ldscripts
131 rm -rf ${D}${prefix}/share/info
132 rm -rf ${D}${prefix}/share/locale
133 rm -rf ${D}${prefix}/share/man
134 rmdir ${D}${prefix}/share || :
135 rmdir ${D}/${libdir}/gcc-lib || :
136 rmdir ${D}/${libdir}64/gcc-lib || :
137 rmdir ${D}/${libdir} || :
138 rmdir ${D}/${libdir}64 || :
139}
140
141pkg_postinst_${PN}-symlinks () {
142 update-alternatives --install ${bindir}/ar ar ${TARGET_SYS}-ar 100
143 update-alternatives --install ${bindir}/strings strings ${TARGET_SYS}-strings 100
144}
145
146pkg_prerm_${PN}-symlinks () {
147 update-alternatives --remove ar ${TARGET_SYS}-ar
148 update-alternatives --remove strings ${TARGET_SYS}-strings
149}
diff --git a/recipes-devtools/binutils/binutils_2.20.1.bb b/recipes-devtools/binutils/binutils_2.20.1.bb
new file mode 100644
index 000000000..75837b158
--- /dev/null
+++ b/recipes-devtools/binutils/binutils_2.20.1.bb
@@ -0,0 +1,41 @@
1require binutils.inc
2
3PR = "r4"
4
5LIC_FILES_CHKSUM="\
6 file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
7 file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
8 file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\
9 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\
10 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6\
11 file://gas/COPYING;md5=d32239bcb673463ab874e80d47fae504\
12 file://include/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
13 file://include/COPYING3;md5=d32239bcb673463ab874e80d47fae504\
14 file://libiberty/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7\
15 file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\
16 "
17
18SRC_URI = "\
19 ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2;name=tarball \
20 file://binutils-uclibc-100-uclibc-conf.patch \
21 file://110-arm-eabi-conf.patch \
22 file://binutils-uclibc-300-001_ld_makefile_patch.patch \
23 file://binutils-uclibc-300-006_better_file_error.patch \
24 file://binutils-uclibc-300-012_check_ldrunpath_length.patch \
25 file://binutils-uclibc-gas-needs-libm.patch \
26 file://binutils-x86_64_i386_biarch.patch \
27 file://binutils-mips-pie.patch \
28 file://binutils-libtool.patch \
29 file://libiberty_path_fix.patch \
30 file://binutils-poison.patch \
31 "
32
33SRC_URI[tarball.md5sum] = "9cdfb9d6ec0578c166d3beae5e15c4e5"
34SRC_URI[tarball.sha256sum] = "228b84722d87e88e7fdd36869e590e649ab523a0800a7d53df906498afe6f6f8"
35
36# powerpc patches
37SRC_URI += "\
38 file://binutils-2.16.1-e300c2c3.patch \
39 "
40
41BBCLASSEXTEND = "native"