[PATCH] binutils/binutils: forward-port the patchset from 2.20 to=D=A 2.20.1
Yann E. MORIN
yann.morin.1998@anciens.enib.fr
Tue Aug 17 19:52:00 GMT 2010
# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Date 1282067329 -7200
# Node ID b2c28f2b9b7f3fd798df585a9273b95fc4adfc5c
# Parent 6ee3e9c4b0ab1e599f6a95534bebdfbb298f8646
binutils/binutils: forward-port the patchset from 2.20 to 2.20.1
Among other things, this should fix the issue reported by Thomas at:
http://sourceware.org/ml/crossgcc/2010-08/msg00115.html
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
diff --git a/patches/binutils/2.20/100-ppc64-pie.patch b/patches/binutils/2.20.1/100-ppc64-pie.patch
copy from patches/binutils/2.20/100-ppc64-pie.patch
copy to patches/binutils/2.20.1/100-ppc64-pie.patch
--- a/patches/binutils/2.20/100-ppc64-pie.patch
+++ b/patches/binutils/2.20.1/100-ppc64-pie.patch
@@ -1,6 +1,9 @@
---- binutils/bfd/elf64-ppc.c.jj 2004-09-27 16:46:06.000000000 -0400
-+++ binutils/bfd/elf64-ppc.c 2004-10-04 09:09:50.000000000 -0400
-@@ -9681,7 +9681,12 @@ ppc64_elf_relocate_section (bfd *output_
+
+
+diff -durN binutils-2.20.1.orig/bfd/elf64-ppc.c binutils-2.20.1/bfd/elf64-ppc.c
+--- binutils-2.20.1.orig/bfd/elf64-ppc.c 2010-02-03 14:28:25.000000000 +0100
++++ binutils-2.20.1/bfd/elf64-ppc.c 2010-08-17 19:32:04.000000000 +0200
+@@ -11991,7 +11991,12 @@
else if (!SYMBOL_REFERENCES_LOCAL (info, &h->elf)
&& !is_opd
&& r_type != R_PPC64_TOC)
diff --git a/patches/binutils/2.20/110-RPATH_ENVVAR-smack.patch b/patches/binutils/2.20.1/110-RPATH_ENVVAR-smack.patch
copy from patches/binutils/2.20/110-RPATH_ENVVAR-smack.patch
copy to patches/binutils/2.20.1/110-RPATH_ENVVAR-smack.patch
--- a/patches/binutils/2.20/110-RPATH_ENVVAR-smack.patch
+++ b/patches/binutils/2.20.1/110-RPATH_ENVVAR-smack.patch
@@ -1,13 +1,14 @@
http://sourceware.org/ml/binutils/2007-07/msg00401.html
http://sourceware.org/bugzilla/show_bug.cgi?id=4970
---- binutils/configure
-+++ binutils/configure
-@@ -5601,6 +5601,7 @@ case "${host}" in
+diff -durN binutils-2.20.1.orig/configure binutils-2.20.1/configure
+--- binutils-2.20.1.orig/configure 2010-03-03 14:59:02.000000000 +0100
++++ binutils-2.20.1/configure 2010-08-17 19:32:05.000000000 +0200
+@@ -6466,6 +6466,7 @@
*-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
*) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
esac
+RPATH_ENVVAR="cant_touch_this_nah_nah_nah"
# On systems where the dynamic library environment variable is PATH,
- if test "$RPATH_ENVVAR" = PATH; then
+ # gcc/ will put dynamic libraries into a subdirectory to avoid adding
diff --git a/patches/binutils/2.20/120-sh-targets.patch b/patches/binutils/2.20.1/120-sh-targets.patch
copy from patches/binutils/2.20/120-sh-targets.patch
copy to patches/binutils/2.20.1/120-sh-targets.patch
--- a/patches/binutils/2.20/120-sh-targets.patch
+++ b/patches/binutils/2.20.1/120-sh-targets.patch
@@ -1,5 +1,8 @@
---- binutils-2.20-dist/configure
-+++ binutils-2.20/configure
+
+
+diff -durN binutils-2.20.1.orig/configure binutils-2.20.1/configure
+--- binutils-2.20.1.orig/configure 2010-08-17 19:32:05.000000000 +0200
++++ binutils-2.20.1/configure 2010-08-17 19:32:07.000000000 +0200
@@ -3054,7 +3054,7 @@
am33_2.0-*-linux*)
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
@@ -18,9 +21,10 @@
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.20-dist/configure.ac
-+++ binutils-2.20/configure.ac
-@@ -424,7 +424,7 @@
+diff -durN binutils-2.20.1.orig/configure.ac binutils-2.20.1/configure.ac
+--- binutils-2.20.1.orig/configure.ac 2010-03-03 15:19:08.000000000 +0100
++++ binutils-2.20.1/configure.ac 2010-08-17 19:32:07.000000000 +0200
+@@ -541,7 +541,7 @@
am33_2.0-*-linux*)
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
;;
@@ -29,7 +33,7 @@
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
;;
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -712,7 +712,7 @@
+@@ -877,7 +877,7 @@
romp-*-*)
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
;;
diff --git a/patches/binutils/2.20/130-ld-sysroot.patch b/patches/binutils/2.20.1/130-ld-sysroot.patch
copy from patches/binutils/2.20/130-ld-sysroot.patch
copy to patches/binutils/2.20.1/130-ld-sysroot.patch
--- a/patches/binutils/2.20/130-ld-sysroot.patch
+++ b/patches/binutils/2.20.1/130-ld-sysroot.patch
@@ -5,8 +5,9 @@
http://bugs.gentoo.org/275666
http://sourceware.org/bugzilla/show_bug.cgi?id=10340
---- binutils/ld/ldfile.c
-+++ binutils/ld/ldfile.c
+diff -durN binutils-2.20.1.orig/ld/ldfile.c binutils-2.20.1/ld/ldfile.c
+--- binutils-2.20.1.orig/ld/ldfile.c 2009-08-30 00:11:01.000000000 +0200
++++ binutils-2.20.1/ld/ldfile.c 2010-08-17 19:32:08.000000000 +0200
@@ -308,18 +308,24 @@
directory first. */
if (! entry->is_archive)
diff --git a/patches/binutils/2.20/140-check_ldrunpath_length.patch b/patches/binutils/2.20.1/140-check_ldrunpath_length.patch
copy from patches/binutils/2.20/140-check_ldrunpath_length.patch
copy to patches/binutils/2.20.1/140-check_ldrunpath_length.patch
--- a/patches/binutils/2.20/140-check_ldrunpath_length.patch
+++ b/patches/binutils/2.20.1/140-check_ldrunpath_length.patch
@@ -25,9 +25,11 @@
@DPATCH@
diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.20/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
+
+diff -durN binutils-2.20.1.orig/ld/emultempl/elf32.em binutils-2.20.1/ld/emultempl/elf32.em
+--- binutils-2.20.1.orig/ld/emultempl/elf32.em 2009-09-14 13:43:30.000000000 +0200
++++ binutils-2.20.1/ld/emultempl/elf32.em 2010-08-17 19:32:09.000000000 +0200
+@@ -1233,6 +1233,8 @@
&& command_line.rpath == NULL)
{
lib_path = (const char *) getenv ("LD_RUN_PATH");
@@ -36,7 +38,7 @@
if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
force))
break;
-@@ -871,6 +873,8 @@
+@@ -1418,6 +1420,8 @@
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
diff --git a/patches/binutils/2.20/150-pt-pax-flags-20090909.patch b/patches/binutils/2.20.1/150-pt-pax-flags-20090909.patch
copy from patches/binutils/2.20/150-pt-pax-flags-20090909.patch
copy to patches/binutils/2.20.1/150-pt-pax-flags-20090909.patch
--- a/patches/binutils/2.20/150-pt-pax-flags-20090909.patch
+++ b/patches/binutils/2.20.1/150-pt-pax-flags-20090909.patch
@@ -1,6 +1,9 @@
---- binutils-2.20/bfd/elf-bfd.h
-+++ binutils-2.20/bfd/elf-bfd.h
-@@ -1527,6 +1527,9 @@ struct elf_obj_tdata
+
+
+diff -durN binutils-2.20.1.orig/bfd/elf-bfd.h binutils-2.20.1/bfd/elf-bfd.h
+--- binutils-2.20.1.orig/bfd/elf-bfd.h 2009-09-10 13:47:12.000000000 +0200
++++ binutils-2.20.1/bfd/elf-bfd.h 2010-08-17 19:32:11.000000000 +0200
+@@ -1531,6 +1531,9 @@
/* Segment flags for the PT_GNU_STACK segment. */
unsigned int stack_flags;
@@ -10,9 +13,10 @@
/* Symbol version definitions in external objects. */
Elf_Internal_Verdef *verdef;
---- binutils-2.20/bfd/elf.c
-+++ binutils-2.20/bfd/elf.c
-@@ -1081,6 +1081,7 @@ get_segment_type (unsigned int p_type)
+diff -durN binutils-2.20.1.orig/bfd/elf.c binutils-2.20.1/bfd/elf.c
+--- binutils-2.20.1.orig/bfd/elf.c 2009-09-10 13:47:12.000000000 +0200
++++ binutils-2.20.1/bfd/elf.c 2010-08-17 19:32:11.000000000 +0200
+@@ -1083,6 +1083,7 @@
case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
case PT_GNU_STACK: pt = "STACK"; break;
case PT_GNU_RELRO: pt = "RELRO"; break;
@@ -20,7 +24,7 @@
default: pt = NULL; break;
}
return pt;
-@@ -2379,6 +2380,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int index)
+@@ -2396,6 +2397,9 @@
case PT_GNU_RELRO:
return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "relro");
@@ -30,7 +34,7 @@
default:
/* Check for any processor-specific program segment types. */
bed = get_elf_backend_data (abfd);
-@@ -3393,6 +3397,11 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
+@@ -3413,6 +3417,11 @@
++segs;
}
@@ -42,7 +46,7 @@
for (s = abfd->sections; s != NULL; s = s->next)
{
if ((s->flags & SEC_LOAD) != 0
-@@ -3972,6 +3981,20 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
+@@ -3994,6 +4003,20 @@
}
}
@@ -63,7 +67,7 @@
free (sections);
elf_tdata (abfd)->segment_map = mfirst;
}
-@@ -5176,7 +5199,8 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
+@@ -5198,7 +5221,8 @@
6. PT_TLS segment includes only SHF_TLS sections.
7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
8. PT_DYNAMIC should not contain empty sections at the beginning
@@ -73,7 +77,7 @@
#define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed) \
((((segment->p_paddr \
? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \
-@@ -5184,6 +5208,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
+@@ -5206,6 +5230,7 @@
&& (section->flags & SEC_ALLOC) != 0) \
|| IS_NOTE (segment, section)) \
&& segment->p_type != PT_GNU_STACK \
@@ -81,9 +85,10 @@
&& (segment->p_type != PT_TLS \
|| (section->flags & SEC_THREAD_LOCAL)) \
&& (segment->p_type == PT_LOAD \
---- binutils-2.20/bfd/elflink.c
-+++ binutils-2.20/bfd/elflink.c
-@@ -5465,16 +5465,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
+diff -durN binutils-2.20.1.orig/bfd/elflink.c binutils-2.20.1/bfd/elflink.c
+--- binutils-2.20.1.orig/bfd/elflink.c 2009-09-10 13:47:12.000000000 +0200
++++ binutils-2.20.1/bfd/elflink.c 2010-08-17 19:32:11.000000000 +0200
+@@ -5469,16 +5469,30 @@
return TRUE;
bed = get_elf_backend_data (output_bfd);
@@ -116,7 +121,7 @@
for (inputobj = info->input_bfds;
inputobj;
inputobj = inputobj->link_next)
-@@ -5487,7 +5501,11 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
+@@ -5491,7 +5505,11 @@
if (s)
{
if (s->flags & SEC_CODE)
@@ -129,9 +134,10 @@
notesec = s;
}
else if (bed->default_execstack)
---- binutils-2.20/binutils/readelf.c
-+++ binutils-2.20/binutils/readelf.c
-@@ -2556,6 +2556,7 @@ get_segment_type (unsigned long p_type)
+diff -durN binutils-2.20.1.orig/binutils/readelf.c binutils-2.20.1/binutils/readelf.c
+--- binutils-2.20.1.orig/binutils/readelf.c 2010-01-14 11:48:23.000000000 +0100
++++ binutils-2.20.1/binutils/readelf.c 2010-08-17 19:32:11.000000000 +0200
+@@ -2569,6 +2569,7 @@
return "GNU_EH_FRAME";
case PT_GNU_STACK: return "GNU_STACK";
case PT_GNU_RELRO: return "GNU_RELRO";
@@ -139,9 +145,10 @@
default:
if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
---- binutils-2.20/include/bfdlink.h
-+++ binutils-2.20/include/bfdlink.h
-@@ -319,6 +319,14 @@ struct bfd_link_info
+diff -durN binutils-2.20.1.orig/include/bfdlink.h binutils-2.20.1/include/bfdlink.h
+--- binutils-2.20.1.orig/include/bfdlink.h 2009-09-10 13:47:30.000000000 +0200
++++ binutils-2.20.1/include/bfdlink.h 2010-08-17 19:32:11.000000000 +0200
+@@ -321,6 +321,14 @@
/* TRUE if PT_GNU_RELRO segment should be created. */
unsigned int relro: 1;
@@ -156,8 +163,9 @@
/* TRUE if we should warn when adding a DT_TEXTREL to a shared object. */
unsigned int warn_shared_textrel: 1;
---- binutils-2.20/include/elf/common.h
-+++ binutils-2.20/include/elf/common.h
+diff -durN binutils-2.20.1.orig/include/elf/common.h binutils-2.20.1/include/elf/common.h
+--- binutils-2.20.1.orig/include/elf/common.h 2009-08-09 15:42:26.000000000 +0200
++++ binutils-2.20.1/include/elf/common.h 2010-08-17 19:32:11.000000000 +0200
@@ -422,6 +422,7 @@
#define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */
#define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */
@@ -188,9 +196,10 @@
/* Values for section header, sh_type field. */
#define SHT_NULL 0 /* Section header table entry unused */
---- binutils-2.20/ld/emultempl/elf32.em
-+++ binutils-2.20/ld/emultempl/elf32.em
-@@ -2159,6 +2159,16 @@ fragment <<EOF
+diff -durN binutils-2.20.1.orig/ld/emultempl/elf32.em binutils-2.20.1/ld/emultempl/elf32.em
+--- binutils-2.20.1.orig/ld/emultempl/elf32.em 2010-08-17 19:32:09.000000000 +0200
++++ binutils-2.20.1/ld/emultempl/elf32.em 2010-08-17 19:32:11.000000000 +0200
+@@ -2165,6 +2165,16 @@
link_info.noexecstack = TRUE;
link_info.execstack = FALSE;
}
@@ -207,7 +216,7 @@
EOF
if test -n "$COMMONPAGESIZE"; then
-@@ -2237,6 +2247,8 @@ fragment <<EOF
+@@ -2243,6 +2253,8 @@
fprintf (file, _("\
-z execstack Mark executable as requiring executable stack\n"));
fprintf (file, _("\
@@ -216,7 +225,7 @@
-z initfirst Mark DSO to be initialized first at runtime\n"));
fprintf (file, _("\
-z interpose Mark object to interpose all DSOs but executable\n"));
-@@ -2260,6 +2272,8 @@ fragment <<EOF
+@@ -2266,6 +2278,8 @@
-z nodump Mark DSO not available to dldump\n"));
fprintf (file, _("\
-z noexecstack Mark executable as not requiring executable stack\n"));
@@ -225,9 +234,10 @@
EOF
if test -n "$COMMONPAGESIZE"; then
---- binutils-2.20/ld/ldgram.y
-+++ binutils-2.20/ld/ldgram.y
-@@ -1116,6 +1116,8 @@ phdr_type:
+diff -durN binutils-2.20.1.orig/ld/ldgram.y binutils-2.20.1/ld/ldgram.y
+--- binutils-2.20.1.orig/ld/ldgram.y 2009-09-02 09:25:35.000000000 +0200
++++ binutils-2.20.1/ld/ldgram.y 2010-08-17 19:32:11.000000000 +0200
+@@ -1116,6 +1116,8 @@
$$ = exp_intop (0x6474e550);
else if (strcmp (s, "PT_GNU_STACK") == 0)
$$ = exp_intop (0x6474e551);
diff --git a/patches/binutils/2.20/160-amd64-32bit-path.patch b/patches/binutils/2.20.1/160-amd64-32bit-path.patch
copy from patches/binutils/2.20/160-amd64-32bit-path.patch
copy to patches/binutils/2.20.1/160-amd64-32bit-path.patch
--- a/patches/binutils/2.20/160-amd64-32bit-path.patch
+++ b/patches/binutils/2.20.1/160-amd64-32bit-path.patch
@@ -1,5 +1,8 @@
---- binutils/ld/emulparams/elf_i386.sh
-+++ binutils/ld/emulparams/elf_i386.sh
+
+
+diff -durN binutils-2.20.1.orig/ld/emulparams/elf_i386.sh binutils-2.20.1/ld/emulparams/elf_i386.sh
+--- binutils-2.20.1.orig/ld/emulparams/elf_i386.sh 2009-07-29 16:59:23.000000000 +0200
++++ binutils-2.20.1/ld/emulparams/elf_i386.sh 2010-08-17 19:32:12.000000000 +0200
@@ -13,3 +13,13 @@
NO_SMALL_DATA=yes
SEPARATE_GOTPLT=12
diff --git a/patches/binutils/2.20/170-warn-textrel.patch b/patches/binutils/2.20.1/170-warn-textrel.patch
copy from patches/binutils/2.20/170-warn-textrel.patch
copy to patches/binutils/2.20.1/170-warn-textrel.patch
--- a/patches/binutils/2.20/170-warn-textrel.patch
+++ b/patches/binutils/2.20.1/170-warn-textrel.patch
@@ -10,9 +10,10 @@
* ld/testsuite/lib/ld-lib.exp (default_ld_simple_link): Scrub TEXTREL
warnings from ld output.
---- binutils/bfd/elflink.c
-+++ binutils/bfd/elflink.c
-@@ -8652,14 +8652,12 @@
+diff -durN binutils-2.20.1.orig/bfd/elflink.c binutils-2.20.1/bfd/elflink.c
+--- binutils-2.20.1.orig/bfd/elflink.c 2010-08-17 19:32:11.000000000 +0200
++++ binutils-2.20.1/bfd/elflink.c 2010-08-17 19:32:13.000000000 +0200
+@@ -10988,14 +10988,12 @@
goto error_return;
/* Check for DT_TEXTREL (late, in case the backend removes it). */
@@ -29,7 +30,7 @@
dyncon = o->contents;
dynconend = o->contents + o->size;
for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn)
-@@ -8702,7 +8702,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
+@@ -11007,7 +11005,7 @@
if (dyn.d_tag == DT_TEXTREL)
{
info->callbacks->einfo
@@ -38,15 +39,21 @@
break;
}
}
---- binutils/ld/ldmain.c
-+++ binutils/ld/ldmain.c
-@@ -282,2 +282,3 @@ main (int argc, char **argv)
- link_info.spare_dynamic_tags = 5;
+diff -durN binutils-2.20.1.orig/ld/ldmain.c binutils-2.20.1/ld/ldmain.c
+--- binutils-2.20.1.orig/ld/ldmain.c 2009-09-14 13:43:29.000000000 +0200
++++ binutils-2.20.1/ld/ldmain.c 2010-08-17 19:32:13.000000000 +0200
+@@ -280,6 +280,7 @@
+ emulation = get_emulation (argc, argv);
+ ldemul_choose_mode (emulation);
+ default_target = ldemul_choose_target (argc, argv);
+ link_info.warn_shared_textrel = TRUE;
- link_info.sharable_sections = FALSE;
---- binutils/ld/testsuite/lib/ld-lib.exp
-+++ binutils/ld/testsuite/lib/ld-lib.exp
-@@ -181,6 +181,10 @@ proc default_ld_simple_link { ld target
+ config.maxpagesize = bfd_emul_get_maxpagesize (default_target);
+ config.commonpagesize = bfd_emul_get_commonpagesize (default_target);
+ lang_init ();
+diff -durN binutils-2.20.1.orig/ld/testsuite/lib/ld-lib.exp binutils-2.20.1/ld/testsuite/lib/ld-lib.exp
+--- binutils-2.20.1.orig/ld/testsuite/lib/ld-lib.exp 2009-10-02 12:51:13.000000000 +0200
++++ binutils-2.20.1/ld/testsuite/lib/ld-lib.exp 2010-08-17 19:32:13.000000000 +0200
+@@ -196,6 +196,10 @@
# symbol, since the default linker script might use ENTRY.
regsub -all "(^|\n)(\[^\n\]*: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output
diff --git a/patches/binutils/2.20/190-use-new-ld-dtags.patch b/patches/binutils/2.20.1/190-use-new-ld-dtags.patch
copy from patches/binutils/2.20/190-use-new-ld-dtags.patch
copy to patches/binutils/2.20.1/190-use-new-ld-dtags.patch
--- a/patches/binutils/2.20/190-use-new-ld-dtags.patch
+++ b/patches/binutils/2.20.1/190-use-new-ld-dtags.patch
@@ -1,10 +1,13 @@
---- binutils/ld/ldmain.c
-+++ binutils/ld/ldmain.c
-@@ -296,6 +296,7 @@ main (int argc, char **argv)
+
+
+diff -durN binutils-2.20.1.orig/ld/ldmain.c binutils-2.20.1/ld/ldmain.c
+--- binutils-2.20.1.orig/ld/ldmain.c 2010-08-17 19:32:13.000000000 +0200
++++ binutils-2.20.1/ld/ldmain.c 2010-08-17 19:32:15.000000000 +0200
+@@ -262,6 +262,7 @@
link_info.allow_undefined_version = TRUE;
link_info.keep_memory = TRUE;
+ link_info.new_dtags = TRUE;
link_info.combreloc = TRUE;
link_info.strip_discarded = TRUE;
- link_info.callbacks = &link_callbacks;
+ link_info.emit_hash = TRUE;
diff --git a/patches/binutils/2.20/200-document-new-dtags-behaviour.patch b/patches/binutils/2.20.1/200-document-new-dtags-behaviour.patch
copy from patches/binutils/2.20/200-document-new-dtags-behaviour.patch
copy to patches/binutils/2.20.1/200-document-new-dtags-behaviour.patch
--- a/patches/binutils/2.20/200-document-new-dtags-behaviour.patch
+++ b/patches/binutils/2.20.1/200-document-new-dtags-behaviour.patch
@@ -1,8 +1,10 @@
Index: binutils-2.19.51.0.5/ld/ld.texinfo
===================================================================
---- binutils-2.19.51.0.5.orig/ld/ld.texinfo
-+++ binutils-2.19.51.0.5/ld/ld.texinfo
-@@ -2036,8 +2036,9 @@ This linker can create the new dynamic t
+
+diff -durN binutils-2.20.1.orig/ld/ld.texinfo binutils-2.20.1/ld/ld.texinfo
+--- binutils-2.20.1.orig/ld/ld.texinfo 2009-07-06 15:48:51.000000000 +0200
++++ binutils-2.20.1/ld/ld.texinfo 2010-08-17 19:32:16.000000000 +0200
+@@ -2026,8 +2026,9 @@
systems may not understand them. If you specify
@option{--enable-new-dtags}, the dynamic tags will be created as needed.
If you specify @option{--disable-new-dtags}, no new dynamic tags will be
diff --git a/patches/binutils/2.20/210-generate-gnu-hash.patch b/patches/binutils/2.20.1/210-generate-gnu-hash.patch
copy from patches/binutils/2.20/210-generate-gnu-hash.patch
copy to patches/binutils/2.20.1/210-generate-gnu-hash.patch
--- a/patches/binutils/2.20/210-generate-gnu-hash.patch
+++ b/patches/binutils/2.20.1/210-generate-gnu-hash.patch
@@ -1,8 +1,15 @@
---- binutils/ld/ldmain.c
-+++ binutils/ld/ldmain.c
-@@ -273,2 +273,5 @@ main (int argc, char **argv)
+
+
+diff -durN binutils-2.20.1.orig/ld/ldmain.c binutils-2.20.1/ld/ldmain.c
+--- binutils-2.20.1.orig/ld/ldmain.c 2010-08-17 19:32:15.000000000 +0200
++++ binutils-2.20.1/ld/ldmain.c 2010-08-17 19:32:17.000000000 +0200
+@@ -266,6 +266,9 @@
+ link_info.combreloc = TRUE;
+ link_info.strip_discarded = TRUE;
link_info.emit_hash = TRUE;
+#ifndef __mips__
+ link_info.emit_gnu_hash = TRUE;
+#endif
link_info.callbacks = &link_callbacks;
+ link_info.input_bfds_tail = &link_info.input_bfds;
+ /* SVR4 linkers seem to set DT_INIT and DT_FINI based on magic _init
diff --git a/patches/binutils/2.20/220-use-relro.patch b/patches/binutils/2.20.1/220-use-relro.patch
copy from patches/binutils/2.20/220-use-relro.patch
copy to patches/binutils/2.20.1/220-use-relro.patch
--- a/patches/binutils/2.20/220-use-relro.patch
+++ b/patches/binutils/2.20.1/220-use-relro.patch
@@ -1,6 +1,13 @@
---- binutils/ld/ldmain.c
-+++ binutils/ld/ldmain.c
-@@ -293,2 +293,3 @@ main (int argc, char **argv)
+
+
+diff -durN binutils-2.20.1.orig/ld/ldmain.c binutils-2.20.1/ld/ldmain.c
+--- binutils-2.20.1.orig/ld/ldmain.c 2010-08-17 19:32:17.000000000 +0200
++++ binutils-2.20.1/ld/ldmain.c 2010-08-17 19:32:18.000000000 +0200
+@@ -264,6 +264,7 @@
+ link_info.keep_memory = TRUE;
+ link_info.new_dtags = TRUE;
link_info.combreloc = TRUE;
+ link_info.relro = TRUE;
link_info.strip_discarded = TRUE;
+ link_info.emit_hash = TRUE;
+ #ifndef __mips__
diff --git a/patches/binutils/2.20/230-libiberty-pic.patch b/patches/binutils/2.20.1/230-libiberty-pic.patch
copy from patches/binutils/2.20/230-libiberty-pic.patch
copy to patches/binutils/2.20.1/230-libiberty-pic.patch
--- a/patches/binutils/2.20/230-libiberty-pic.patch
+++ b/patches/binutils/2.20.1/230-libiberty-pic.patch
@@ -1,6 +1,9 @@
---- binutils/libiberty/Makefile.in.mps 2004-05-13 15:53:17.000000000 +0200
-+++ binutils/libiberty/Makefile.in 2004-05-13 15:52:53.000000000 +0200
-@@ -224,6 +224,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA
+
+
+diff -durN binutils-2.20.1.orig/libiberty/Makefile.in binutils-2.20.1/libiberty/Makefile.in
+--- binutils-2.20.1.orig/libiberty/Makefile.in 2009-08-23 21:03:58.000000000 +0200
++++ binutils-2.20.1/libiberty/Makefile.in 2010-08-17 19:32:19.000000000 +0200
+@@ -227,6 +227,7 @@
$(AR) $(AR_FLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
diff --git a/patches/binutils/2.20/240-ld_makefile.patch b/patches/binutils/2.20.1/240-ld_makefile.patch
copy from patches/binutils/2.20/240-ld_makefile.patch
copy to patches/binutils/2.20.1/240-ld_makefile.patch
--- a/patches/binutils/2.20/240-ld_makefile.patch
+++ b/patches/binutils/2.20.1/240-ld_makefile.patch
@@ -1,9 +1,10 @@
Description: correct where ld scripts are installed
Author: Chris Chimelis <chris@debian.org>
---- binutils-2.16.91.0.1/ld/Makefile.am
-+++ binutils-2.16.91.0.1/ld/Makefile.am
-@@ -20,7 +20,7 @@
+diff -durN binutils-2.20.1.orig/ld/Makefile.am binutils-2.20.1/ld/Makefile.am
+--- binutils-2.20.1.orig/ld/Makefile.am 2010-02-22 09:07:01.000000000 +0100
++++ binutils-2.20.1/ld/Makefile.am 2010-08-17 19:32:21.000000000 +0200
+@@ -24,7 +24,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.
@@ -12,9 +13,10 @@
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 @@
+diff -durN binutils-2.20.1.orig/ld/Makefile.in binutils-2.20.1/ld/Makefile.in
+--- binutils-2.20.1.orig/ld/Makefile.in 2010-03-03 15:06:21.000000000 +0100
++++ binutils-2.20.1/ld/Makefile.in 2010-08-17 19:32:21.000000000 +0200
+@@ -333,7 +333,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.
diff --git a/patches/binutils/2.20/250-arm-eabi-conf.patch b/patches/binutils/2.20.1/250-arm-eabi-conf.patch
copy from patches/binutils/2.20/250-arm-eabi-conf.patch
copy to patches/binutils/2.20.1/250-arm-eabi-conf.patch
--- a/patches/binutils/2.20/250-arm-eabi-conf.patch
+++ b/patches/binutils/2.20.1/250-arm-eabi-conf.patch
@@ -1,6 +1,8 @@
diff -u binutils-2.20.orig/configure binutils-2.20/configure
---- binutils-2.20.orig/configure 2010-01-05 11:15:44.000000000 +0100
-+++ binutils-2.20/configure 2010-01-05 12:25:41.000000000 +0100
+
+diff -durN binutils-2.20.1.orig/configure binutils-2.20.1/configure
+--- binutils-2.20.1.orig/configure 2010-08-17 19:32:07.000000000 +0200
++++ binutils-2.20.1/configure 2010-08-17 19:32:22.000000000 +0200
@@ -3086,7 +3086,7 @@
noconfigdirs="$noconfigdirs target-libffi target-qthreads"
libgloss_dir=arm
@@ -10,9 +12,9 @@
noconfigdirs="$noconfigdirs target-qthreads"
case ${with_newlib} in
no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
-diff -u binutils-2.20.orig/configure.ac binutils-2.20/configure.ac
---- binutils-2.20.orig/configure.ac 2010-01-05 11:15:44.000000000 +0100
-+++ binutils-2.20/configure.ac 2010-01-05 12:25:51.000000000 +0100
+diff -durN binutils-2.20.1.orig/configure.ac binutils-2.20.1/configure.ac
+--- binutils-2.20.1.orig/configure.ac 2010-08-17 19:32:07.000000000 +0200
++++ binutils-2.20.1/configure.ac 2010-08-17 19:32:22.000000000 +0200
@@ -573,7 +573,7 @@
noconfigdirs="$noconfigdirs target-libffi target-qthreads"
libgloss_dir=arm
diff --git a/patches/binutils/2.20/270-better_file_error.patch b/patches/binutils/2.20.1/270-better_file_error.patch
copy from patches/binutils/2.20/270-better_file_error.patch
copy to patches/binutils/2.20.1/270-better_file_error.patch
--- a/patches/binutils/2.20/270-better_file_error.patch
+++ b/patches/binutils/2.20.1/270-better_file_error.patch
@@ -25,9 +25,11 @@
@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 @@
+
+diff -durN binutils-2.20.1.orig/bfd/opncls.c binutils-2.20.1/bfd/opncls.c
+--- binutils-2.20.1.orig/bfd/opncls.c 2010-01-14 11:48:22.000000000 +0100
++++ binutils-2.20.1/bfd/opncls.c 2010-08-17 19:32:23.000000000 +0200
+@@ -183,6 +183,13 @@
{
bfd *nbfd;
const bfd_target *target_vec;
diff --git a/patches/binutils/2.20/280-unexport_LD_LIBRARY_PATH.patch b/patches/binutils/2.20.1/280-unexport_LD_LIBRARY_PATH.patch
copy from patches/binutils/2.20/280-unexport_LD_LIBRARY_PATH.patch
copy to patches/binutils/2.20.1/280-unexport_LD_LIBRARY_PATH.patch
--- a/patches/binutils/2.20/280-unexport_LD_LIBRARY_PATH.patch
+++ b/patches/binutils/2.20.1/280-unexport_LD_LIBRARY_PATH.patch
@@ -25,9 +25,11 @@
Index: binutils-2.20/binutils/Makefile.am
===================================================================
---- binutils-2.20.orig/binutils/Makefile.am 2009-12-30 15:30:35.302438121 -0800
-+++ binutils-2.20/binutils/Makefile.am 2009-12-30 15:33:09.154420373 -0800
-@@ -251,24 +251,24 @@ sysroff.h: sysinfo$(EXEEXT_FOR_BUILD) sy
+
+diff -durN binutils-2.20.1.orig/binutils/Makefile.am binutils-2.20.1/binutils/Makefile.am
+--- binutils-2.20.1.orig/binutils/Makefile.am 2010-01-14 11:48:22.000000000 +0100
++++ binutils-2.20.1/binutils/Makefile.am 2010-08-17 19:32:24.000000000 +0200
+@@ -251,24 +251,24 @@
./sysinfo$(EXEEXT_FOR_BUILD) -d <$(srcdir)/sysroff.info >sysroff.h
sysinfo$(EXEEXT_FOR_BUILD): sysinfo.o syslex.o
@@ -36,20 +38,20 @@
syslex.o: syslex.c sysinfo.h config.h
if [ -r syslex.c ]; then \
-- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) syslex.c -Wno-error ; \
-+ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) syslex.c -Wno-error ; \
+- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) syslex.c ; \
++ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) syslex.c ; \
else \
-- $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c -Wno-error ;\
-+ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c -Wno-error ;\
+- $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/syslex.c ;\
++ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/syslex.c ;\
fi
sysinfo.o: sysinfo.c
if [ -r sysinfo.c ]; then \
-- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) sysinfo.c -Wno-error ; \
-+ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) sysinfo.c -Wno-error ; \
+- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) sysinfo.c ; \
++ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) sysinfo.c ; \
else \
-- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c -Wno-error ; \
-+ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c -Wno-error ; \
+- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/sysinfo.c ; \
++ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/sysinfo.c ; \
fi
bin2c$(EXEEXT_FOR_BUILD):
@@ -58,11 +60,10 @@
embedspu: embedspu.sh
sed "s@^program_transform_name=@program_transform_name=$(program_transform_name)@" < $< > $@
-Index: binutils-2.20/binutils/Makefile.in
-===================================================================
---- binutils-2.20.orig/binutils/Makefile.in 2009-12-30 15:30:44.582922535 -0800
-+++ binutils-2.20/binutils/Makefile.in 2009-12-30 15:33:47.322422313 -0800
-@@ -1193,24 +1193,24 @@ sysroff.h: sysinfo$(EXEEXT_FOR_BUILD) sy
+diff -durN binutils-2.20.1.orig/binutils/Makefile.in binutils-2.20.1/binutils/Makefile.in
+--- binutils-2.20.1.orig/binutils/Makefile.in 2010-03-03 14:59:46.000000000 +0100
++++ binutils-2.20.1/binutils/Makefile.in 2010-08-17 19:32:24.000000000 +0200
+@@ -1193,24 +1193,24 @@
./sysinfo$(EXEEXT_FOR_BUILD) -d <$(srcdir)/sysroff.info >sysroff.h
sysinfo$(EXEEXT_FOR_BUILD): sysinfo.o syslex.o
@@ -71,20 +72,20 @@
syslex.o: syslex.c sysinfo.h config.h
if [ -r syslex.c ]; then \
-- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) syslex.c -Wno-error ; \
-+ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) syslex.c -Wno-error ; \
+- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) syslex.c ; \
++ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) syslex.c ; \
else \
-- $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c -Wno-error ;\
-+ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c -Wno-error ;\
+- $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/syslex.c ;\
++ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/syslex.c ;\
fi
sysinfo.o: sysinfo.c
if [ -r sysinfo.c ]; then \
-- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) sysinfo.c -Wno-error ; \
-+ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) sysinfo.c -Wno-error ; \
+- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) sysinfo.c ; \
++ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) sysinfo.c ; \
else \
-- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c -Wno-error ; \
-+ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c -Wno-error ; \
+- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/sysinfo.c ; \
++ LD_LIBRARY_PATH= $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/sysinfo.c ; \
fi
bin2c$(EXEEXT_FOR_BUILD):
diff --git a/patches/binutils/2.20/290-ld-stub-crash.patch b/patches/binutils/2.20.1/290-ld-stub-crash.patch
copy from patches/binutils/2.20/290-ld-stub-crash.patch
copy to patches/binutils/2.20.1/290-ld-stub-crash.patch
--- a/patches/binutils/2.20/290-ld-stub-crash.patch
+++ b/patches/binutils/2.20.1/290-ld-stub-crash.patch
@@ -1,7 +1,9 @@
diff -p -c -u -r1.196 elf32-arm.c
---- a/bfd/elf32-arm.c 22 May 2009 11:58:44 -0000 1.196
-+++ b/bfd/elf32-arm.c 12 Jun 2009 13:18:20 -0000
-@@ -3175,11 +3175,15 @@ arm_type_of_stub (struct bfd_link_info *
+
+diff -durN binutils-2.20.1.orig/bfd/elf32-arm.c binutils-2.20.1/bfd/elf32-arm.c
+--- binutils-2.20.1.orig/bfd/elf32-arm.c 2010-02-22 09:06:48.000000000 +0100
++++ binutils-2.20.1/bfd/elf32-arm.c 2010-08-17 19:32:25.000000000 +0200
+@@ -3194,11 +3194,15 @@
/* We have an extra 2-bytes reach because of
the mode change (bit 24 (H) of BLX encoding). */
diff --git a/patches/binutils/2.20/300-mips64-defaultemul.patch b/patches/binutils/2.20.1/300-mips64-defaultemul.patch
copy from patches/binutils/2.20/300-mips64-defaultemul.patch
copy to patches/binutils/2.20.1/300-mips64-defaultemul.patch
--- a/patches/binutils/2.20/300-mips64-defaultemul.patch
+++ b/patches/binutils/2.20.1/300-mips64-defaultemul.patch
@@ -1,5 +1,8 @@
---- binutils-2.20/ld/configure.tgt.orig 2010-02-20 04:05:31.000000000 -0500
-+++ binutils-2.20/ld/configure.tgt 2010-02-20 04:08:11.000000000 -0500
+
+
+diff -durN binutils-2.20.1.orig/ld/configure.tgt binutils-2.20.1/ld/configure.tgt
+--- binutils-2.20.1.orig/ld/configure.tgt 2009-08-06 19:38:03.000000000 +0200
++++ binutils-2.20.1/ld/configure.tgt 2010-08-17 19:32:26.000000000 +0200
@@ -400,11 +400,11 @@
mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
targ_extra_emuls="elf32elmipvxworks" ;;
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list