summaryrefslogtreecommitdiffstats
path: root/meta/packages/binutils
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2008-12-31 18:54:13 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2008-12-31 22:59:57 +0000
commit3fc046901f3f4234b6147f5d2b8efdc4a4b64a4f (patch)
tree0f360b70c61453c8bfb7a09e068358a0670e2cd5 /meta/packages/binutils
parentf8e4a7575d5ce1795dae1ab52d7e3aab432a3eae (diff)
downloadpoky-3fc046901f3f4234b6147f5d2b8efdc4a4b64a4f.tar.gz
bintuils: Add 2.19 (from OE)
Diffstat (limited to 'meta/packages/binutils')
-rw-r--r--meta/packages/binutils/binutils-2.19/110-arm-eabi-conf.patch22
-rw-r--r--meta/packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch19
-rw-r--r--meta/packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch39
-rw-r--r--meta/packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch34
-rw-r--r--meta/packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch50
-rw-r--r--meta/packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch43
-rw-r--r--meta/packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch47
-rw-r--r--meta/packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch38
-rw-r--r--meta/packages/binutils/binutils-cross-sdk_2.19.bb3
-rw-r--r--meta/packages/binutils/binutils-cross_2.19.bb4
-rw-r--r--meta/packages/binutils/binutils_2.19.bb18
11 files changed, 317 insertions, 0 deletions
diff --git a/meta/packages/binutils/binutils-2.19/110-arm-eabi-conf.patch b/meta/packages/binutils/binutils-2.19/110-arm-eabi-conf.patch
new file mode 100644
index 0000000000..2623301da0
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.19/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/meta/packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch b/meta/packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch
new file mode 100644
index 0000000000..c5e4234f22
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch
@@ -0,0 +1,19 @@
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
6diff -uNr binutils-2.16.1.orig/gas/config/tc-ppc.c binutils-2.16.1/gas/config/tc-ppc.c
7--- binutils-2.16.1.orig/gas/config/tc-ppc.c 2005-03-02 13:24:01.000000000 +0000
8+++ binutils-2.16.1/gas/config/tc-ppc.c 2006-07-04 11:45:24.000000000 +0100
9@@ -879,6 +879,10 @@
10 else
11 ppc_cpu |= PPC_OPCODE_SPE;
12 }
13+ else if (strcmp (arg, "pmr") == 0)
14+ {
15+ ppc_cpu |= PPC_OPCODE_PMR;
16+ }
17 /* -mppc64 and -m620 mean to assemble for the 64-bit PowerPC
18 620. */
19 else if (strcmp (arg, "ppc64") == 0 || strcmp (arg, "620") == 0)
diff --git a/meta/packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/meta/packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
new file mode 100644
index 0000000000..8df5b1fea0
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
@@ -0,0 +1,39 @@
1# strip (and objcopy) fail to set the error code if there is no
2# output file name and the rename of the stripped (or copied) file
3# fails, yet the command fails to do anything. This fixes both
4# objcopy and strip.
5#
6# modification by bero: Ported to 2.16.91.0.6
7#
8#Signed-off-by: John Bowler <jbowler@acm.org>
9#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
10---
11# binutils/objcopy.c | 8 +++++---
12# 1 file changed, 5 insertions(+), 3 deletions(-)
13#
14Index: src/binutils/objcopy.c
15===================================================================
16--- src.orig/binutils/objcopy.c 2007-08-09 13:26:03.000000000 +0100
17+++ src/binutils/objcopy.c 2007-08-09 16:36:12.000000000 +0100
18@@ -2787,8 +2787,9 @@ strip_main (int argc, char *argv[])
19 if (preserve_dates)
20 set_times (tmpname, &statbuf);
21 if (output_file != tmpname)
22- smart_rename (tmpname, output_file ? output_file : argv[i],
23- preserve_dates);
24+ if (smart_rename (tmpname, output_file ? output_file : argv[i],
25+ preserve_dates))
26+ hold_status = 1;
27 status = hold_status;
28 }
29 else
30@@ -3411,7 +3412,8 @@ copy_main (int argc, char *argv[])
31 if (preserve_dates)
32 set_times (tmpname, &statbuf);
33 if (tmpname != output_filename)
34- smart_rename (tmpname, input_filename, preserve_dates);
35+ if (smart_rename (tmpname, input_filename, preserve_dates))
36+ status = 1;
37 }
38 else
39 unlink_if_ordinary (tmpname);
diff --git a/meta/packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch b/meta/packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch
new file mode 100644
index 0000000000..8de04e0fe0
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.19/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/meta/packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch b/meta/packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644
index 0000000000..04a7e61e25
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.19/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/meta/packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch b/meta/packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644
index 0000000000..f337611edf
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.19/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/meta/packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch b/meta/packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644
index 0000000000..498651a90c
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.19/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/meta/packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch b/meta/packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch
new file mode 100644
index 0000000000..db838cf20c
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.19/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/meta/packages/binutils/binutils-cross-sdk_2.19.bb b/meta/packages/binutils/binutils-cross-sdk_2.19.bb
new file mode 100644
index 0000000000..76dff5449f
--- /dev/null
+++ b/meta/packages/binutils/binutils-cross-sdk_2.19.bb
@@ -0,0 +1,3 @@
1require binutils_${PV}.bb
2require binutils-cross-sdk.inc
3PR = "r0"
diff --git a/meta/packages/binutils/binutils-cross_2.19.bb b/meta/packages/binutils/binutils-cross_2.19.bb
new file mode 100644
index 0000000000..b78a30ac47
--- /dev/null
+++ b/meta/packages/binutils/binutils-cross_2.19.bb
@@ -0,0 +1,4 @@
1FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
2require binutils_${PV}.bb
3require binutils-cross.inc
4
diff --git a/meta/packages/binutils/binutils_2.19.bb b/meta/packages/binutils/binutils_2.19.bb
new file mode 100644
index 0000000000..bd03b4d39c
--- /dev/null
+++ b/meta/packages/binutils/binutils_2.19.bb
@@ -0,0 +1,18 @@
1PR = "r0"
2
3require binutils.inc
4
5SRC_URI = "\
6 ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2 \
7 file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1 \
8 file://binutils-uclibc-100-uclibc-conf.patch;patch=1 \
9 file://110-arm-eabi-conf.patch;patch=1 \
10 file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1 \
11 file://binutils-uclibc-300-006_better_file_error.patch;patch=1 \
12 file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1 \
13 file://binutils-uclibc-gas-needs-libm.patch;patch=1 \
14 "
15
16# powerpc patches
17SRC_URI += "file://binutils-2.16.1-e300c2c3.patch;patch=1"
18