summaryrefslogtreecommitdiffstats
path: root/contrib/crossrpms/patches/binutils-2.17-rtems4.7-20061021.diff
diff options
context:
space:
mode:
authorcvs2git <rtems-devel@rtems.org>2007-03-05 20:53:28 +0000
committercvs2git <rtems-devel@rtems.org>2007-03-05 20:53:28 +0000
commit5728225e7709ff3195b00215ecff50359c71070b (patch)
treec112a1ceeaf2cd3b28946e6e4ff20494da8d2fcf /contrib/crossrpms/patches/binutils-2.17-rtems4.7-20061021.diff
parent2007-03-05 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-4.7.0.tar.bz2
This commit was manufactured by cvs2svn to create tag 'rtems-4-7-0'.4.7.0
Sprout from rtems-4-7-branch 2007-03-05 20:53:27 UTC Joel Sherrill <joel.sherrill@OARcorp.com> '2007-03-05 Joel Sherrill <joel@OARcorp.com>' Delete: Makefile.maint contrib/apt-conf/.cvsignore contrib/apt-conf/COPYING contrib/apt-conf/ChangeLog contrib/apt-conf/INSTALL contrib/apt-conf/Makefile.am contrib/apt-conf/README contrib/apt-conf/configure.ac contrib/apt-conf/gpg/gpg-pubkey-eac29b6f-3fe1f458 contrib/apt-conf/rtems-apt-conf.spec.in contrib/apt-conf/sources.list.d/rtems-4.6.list contrib/apt-conf/sources.list.d/rtems-4.7.list contrib/apt-conf/vendors.list.d/rtems.list contrib/crossrpms/.cvsignore contrib/crossrpms/AUTHORS contrib/crossrpms/COPYING contrib/crossrpms/ChangeLog contrib/crossrpms/Makefile.am contrib/crossrpms/NEWS contrib/crossrpms/README contrib/crossrpms/TODO contrib/crossrpms/acinclude.m4 contrib/crossrpms/autotools/.cvsignore contrib/crossrpms/autotools/Makefile.am contrib/crossrpms/autotools/autoconf.add contrib/crossrpms/autotools/autoconf.am contrib/crossrpms/autotools/automake.add contrib/crossrpms/autotools/automake.am contrib/crossrpms/autotools/target-autoconf.add contrib/crossrpms/autotools/target-automake.add contrib/crossrpms/binutils/.cvsignore contrib/crossrpms/binutils/base-binutils.add contrib/crossrpms/binutils/binutils.add contrib/crossrpms/binutils/build.add contrib/crossrpms/binutils/install.add contrib/crossrpms/binutils/prep.add contrib/crossrpms/binutils/rpm-install.add contrib/crossrpms/binutils/target-binutils.add contrib/crossrpms/bootstrap contrib/crossrpms/common/clean.add contrib/crossrpms/common/common.add contrib/crossrpms/configure.ac contrib/crossrpms/gcc/base-g77.add contrib/crossrpms/gcc/base-gcc.add contrib/crossrpms/gcc/base-gcj.add contrib/crossrpms/gcc/base-gfortran.add contrib/crossrpms/gcc/base-gnat.add contrib/crossrpms/gcc/base-newlib.add contrib/crossrpms/gcc/build.add contrib/crossrpms/gcc/gccnewlib.add contrib/crossrpms/gcc/install.add contrib/crossrpms/gcc/prep.add contrib/crossrpms/gcc/rpm-install.add contrib/crossrpms/gcc/target-c++.add contrib/crossrpms/gcc/target-g77.add contrib/crossrpms/gcc/target-gcc.add contrib/crossrpms/gcc/target-gcj.add contrib/crossrpms/gcc/target-gfortran.add contrib/crossrpms/gcc/target-gnat.add contrib/crossrpms/gcc/target-newlib.add contrib/crossrpms/gcc/target-objc.add contrib/crossrpms/gdb/base-gdb.add contrib/crossrpms/gdb/build.add contrib/crossrpms/gdb/gdb.add contrib/crossrpms/gdb/install.add contrib/crossrpms/gdb/prep.add contrib/crossrpms/gdb/rpm-install.add contrib/crossrpms/gdb/target-gdb.add contrib/crossrpms/mkspec.am contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff contrib/crossrpms/patches/binutils-2.17-rtems4.7-20061021.diff contrib/crossrpms/patches/gcc-core-4.0.3-rtems-20060822.diff contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060720.diff contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060908.diff contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060909.diff contrib/crossrpms/patches/gcc-core-4.1.1-rtems4.7-20070102.diff contrib/crossrpms/patches/gcc-core-4.1.2-rtems4.7-20070216.diff contrib/crossrpms/patches/gdb-6.4-rtems-20060311.diff contrib/crossrpms/patches/gdb-6.4-rtems-20060712.diff contrib/crossrpms/patches/gdb-6.5-rtems-20060713.diff contrib/crossrpms/patches/gdb-6.6-rtems4.7-20070218.diff contrib/crossrpms/patches/gdb-6.6-rtems4.7-20070222.diff contrib/crossrpms/patches/newlib-1.14.0-rtems4.7-20061019.diff contrib/crossrpms/patches/newlib-1.15.0-rtems4.7-20070208.diff contrib/crossrpms/rtems4.7/.cvsignore contrib/crossrpms/rtems4.7/Makefile.am contrib/crossrpms/rtems4.7/arm/.cvsignore contrib/crossrpms/rtems4.7/arm/Makefile.am contrib/crossrpms/rtems4.7/arm/binutils-sources.add contrib/crossrpms/rtems4.7/arm/gcc-sources.add contrib/crossrpms/rtems4.7/arm/gdb-sources.add contrib/crossrpms/rtems4.7/avr/.cvsignore contrib/crossrpms/rtems4.7/avr/Makefile.am contrib/crossrpms/rtems4.7/avr/binutils-sources.add contrib/crossrpms/rtems4.7/avr/gcc-sources.add contrib/crossrpms/rtems4.7/avr/gdb-sources.add contrib/crossrpms/rtems4.7/binutils.am contrib/crossrpms/rtems4.7/gcc-prep.add contrib/crossrpms/rtems4.7/gcc.am contrib/crossrpms/rtems4.7/gdb.am contrib/crossrpms/rtems4.7/h8300/.cvsignore contrib/crossrpms/rtems4.7/h8300/Makefile.am contrib/crossrpms/rtems4.7/h8300/binutils-sources.add contrib/crossrpms/rtems4.7/h8300/gcc-sources.add contrib/crossrpms/rtems4.7/h8300/gdb-sources.add contrib/crossrpms/rtems4.7/i386/.cvsignore contrib/crossrpms/rtems4.7/i386/Makefile.am contrib/crossrpms/rtems4.7/i386/binutils-sources.add contrib/crossrpms/rtems4.7/i386/gcc-sources.add contrib/crossrpms/rtems4.7/i386/gdb-sources.add contrib/crossrpms/rtems4.7/m68k/.cvsignore contrib/crossrpms/rtems4.7/m68k/Makefile.am contrib/crossrpms/rtems4.7/m68k/binutils-sources.add contrib/crossrpms/rtems4.7/m68k/gcc-sources.add contrib/crossrpms/rtems4.7/m68k/gdb-sources.add contrib/crossrpms/rtems4.7/mips/.cvsignore contrib/crossrpms/rtems4.7/mips/Makefile.am contrib/crossrpms/rtems4.7/mips/binutils-sources.add contrib/crossrpms/rtems4.7/mips/gcc-sources.add contrib/crossrpms/rtems4.7/mips/gdb-sources.add contrib/crossrpms/rtems4.7/mipstx39/.cvsignore contrib/crossrpms/rtems4.7/mipstx39/Makefile.am contrib/crossrpms/rtems4.7/mipstx39/gdb-sources.add contrib/crossrpms/rtems4.7/powerpc/.cvsignore contrib/crossrpms/rtems4.7/powerpc/Makefile.am contrib/crossrpms/rtems4.7/powerpc/binutils-sources.add contrib/crossrpms/rtems4.7/powerpc/gcc-sources.add contrib/crossrpms/rtems4.7/powerpc/gdb-sources.add contrib/crossrpms/rtems4.7/sh/.cvsignore contrib/crossrpms/rtems4.7/sh/Makefile.am contrib/crossrpms/rtems4.7/sh/binutils-sources.add contrib/crossrpms/rtems4.7/sh/gcc-sources.add contrib/crossrpms/rtems4.7/sh/gdb-sources.add contrib/crossrpms/rtems4.7/sparc/.cvsignore contrib/crossrpms/rtems4.7/sparc/Makefile.am contrib/crossrpms/rtems4.7/sparc/binutils-sources.add contrib/crossrpms/rtems4.7/sparc/gcc-sources.add contrib/crossrpms/rtems4.7/sparc/gdb-sources.add contrib/crossrpms/specstrip contrib/mingw/.cvsignore contrib/mingw/AUTHORS contrib/mingw/COPYING contrib/mingw/ChangeLog contrib/mingw/README contrib/mingw/build-exes.sh contrib/mingw/build-rpms.sh contrib/mingw/build.sh contrib/mingw/rtems-license.rtf contrib/mingw/rtems-tools.nsi contrib/mingw/rtems.ini contrib/mingw/rtems_logo.bmp contrib/mingw/targets contrib/repo-conf/.cvsignore contrib/repo-conf/AUTHORS contrib/repo-conf/COPYING contrib/repo-conf/ChangeLog contrib/repo-conf/INSTALL contrib/repo-conf/Makefile.am contrib/repo-conf/NEWS contrib/repo-conf/README contrib/repo-conf/aclocal/version.m4 contrib/repo-conf/apt/sources.list.d/.cvsignore contrib/repo-conf/apt/sources.list.d/rtems.list.in contrib/repo-conf/apt/vendors.list.d/rtems.list contrib/repo-conf/configure.ac contrib/repo-conf/gpg/gpg-pubkey-69ce4a83-44cc2b30 contrib/repo-conf/gpg/gpg-pubkey-eac29b6f-3fe1f458 contrib/repo-conf/rtems-repo-conf.spec.in contrib/repo-conf/yum.repos.d/.cvsignore contrib/repo-conf/yum.repos.d/rtems.repo.in contrib/rtemsrpms/.cvsignore contrib/rtemsrpms/AUTHORS contrib/rtemsrpms/COPYING contrib/rtemsrpms/ChangeLog contrib/rtemsrpms/INSTALL contrib/rtemsrpms/Makefile.am contrib/rtemsrpms/NEWS contrib/rtemsrpms/README contrib/rtemsrpms/bootstrap contrib/rtemsrpms/configure.ac contrib/rtemsrpms/rtems.spec.in testsuites/samples/base_sp/.cvsignore
Diffstat (limited to 'contrib/crossrpms/patches/binutils-2.17-rtems4.7-20061021.diff')
-rw-r--r--contrib/crossrpms/patches/binutils-2.17-rtems4.7-20061021.diff556
1 files changed, 0 insertions, 556 deletions
diff --git a/contrib/crossrpms/patches/binutils-2.17-rtems4.7-20061021.diff b/contrib/crossrpms/patches/binutils-2.17-rtems4.7-20061021.diff
deleted file mode 100644
index a5b2216a5c..0000000000
--- a/contrib/crossrpms/patches/binutils-2.17-rtems4.7-20061021.diff
+++ /dev/null
@@ -1,556 +0,0 @@
-diff -uNr binutils-2.17.orig/bfd/bfd-in2.h binutils-2.17/bfd/bfd-in2.h
---- binutils-2.17.orig/bfd/bfd-in2.h 2006-03-26 01:38:42.000000000 +0100
-+++ binutils-2.17/bfd/bfd-in2.h 2006-10-21 13:53:23.000000000 +0200
-@@ -643,6 +643,12 @@
- DYN_NO_NEEDED = 8
- };
-
-+enum notice_asneeded_action {
-+ notice_as_needed,
-+ notice_not_needed,
-+ notice_needed
-+};
-+
- extern bfd_boolean bfd_elf_record_link_assignment
- (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
- bfd_boolean);
-diff -uNr binutils-2.17.orig/bfd/bfd-in.h binutils-2.17/bfd/bfd-in.h
---- binutils-2.17.orig/bfd/bfd-in.h 2006-03-16 13:20:15.000000000 +0100
-+++ binutils-2.17/bfd/bfd-in.h 2006-10-21 13:53:23.000000000 +0200
-@@ -636,6 +636,12 @@
- DYN_NO_NEEDED = 8
- };
-
-+enum notice_asneeded_action {
-+ notice_as_needed,
-+ notice_not_needed,
-+ notice_needed
-+};
-+
- extern bfd_boolean bfd_elf_record_link_assignment
- (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
- bfd_boolean);
-diff -uNr binutils-2.17.orig/bfd/ChangeLog binutils-2.17/bfd/ChangeLog
---- binutils-2.17.orig/bfd/ChangeLog 2006-06-23 20:18:16.000000000 +0200
-+++ binutils-2.17/bfd/ChangeLog 2006-10-21 13:53:23.000000000 +0200
-@@ -1,3 +1,25 @@
-+2006-08-08 Nick Clifton <nickc@redhat.com>
-+
-+ PR binutils/2724
-+ * coffcode.h (coff_new_section_hook): Only modify the section
-+ symbol of sections which were created by the user.
-+
-+2006-07-19 Alan Modra <amodra@bigpond.net.au>
-+
-+ * bfd-in.h (enum notice_asneeded_action): Define.
-+ * bfd-in2.h: Regenerate.
-+ * elflink.c (elf_link_add_object_symbols): Call linker "notice"
-+ function with NULL name for as-needed handling.
-+
-+2006-07-12 Matthew R. Dempsky <mrd@alkemio.org>
-+
-+ * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.
-+
-+2006-06-23 Daniel Jacobowitz <dan@codesourcery.com>
-+
-+ * Makefile.am: Clear RELEASE.
-+ * Makefile.in: Regenerated.
-+
- 2006-06-23 Daniel Jacobowitz <dan@codesourcery.com>
-
- * configure.in: Update version to 2.17.
-diff -uNr binutils-2.17.orig/bfd/coffcode.h binutils-2.17/bfd/coffcode.h
---- binutils-2.17.orig/bfd/coffcode.h 2005-10-25 19:40:09.000000000 +0200
-+++ binutils-2.17/bfd/coffcode.h 2006-10-21 13:53:24.000000000 +0200
-@@ -1546,9 +1546,6 @@
- static bfd_boolean
- coff_new_section_hook (bfd * abfd, asection * section)
- {
-- combined_entry_type *native;
-- bfd_size_type amt;
--
- section->alignment_power = COFF_DEFAULT_SECTION_ALIGNMENT_POWER;
-
- #ifdef RS6000COFF_C
-@@ -1560,27 +1557,34 @@
- section->alignment_power = bfd_xcoff_data_align_power (abfd);
- #endif
-
-- /* Allocate aux records for section symbols, to store size and
-- related info.
--
-- @@ The 10 is a guess at a plausible maximum number of aux entries
-- (but shouldn't be a constant). */
-- amt = sizeof (combined_entry_type) * 10;
-- native = bfd_zalloc (abfd, amt);
-- if (native == NULL)
-- return FALSE;
--
-- /* We don't need to set up n_name, n_value, or n_scnum in the native
-- symbol information, since they'll be overridden by the BFD symbol
-- anyhow. However, we do need to set the type and storage class,
-- in case this symbol winds up getting written out. The value 0
-- for n_numaux is already correct. */
--
-- native->u.syment.n_type = T_NULL;
-- native->u.syment.n_sclass = C_STAT;
-+ /* PR binutils/2724: Only real sections have a symbol that
-+ has the coff_symbol_type structure allocated for it. */
-+ if (! bfd_is_const_section (section))
-+ {
-+ combined_entry_type *native;
-+ bfd_size_type amt;
-+
-+ /* Allocate aux records for section symbols, to store size and
-+ related info.
-+
-+ @@ The 10 is a guess at a plausible maximum number of aux entries
-+ (but shouldn't be a constant). */
-+ amt = sizeof (combined_entry_type) * 10;
-+ native = bfd_zalloc (abfd, amt);
-+ if (native == NULL)
-+ return FALSE;
-
-- coffsymbol (section->symbol)->native = native;
-+ /* We don't need to set up n_name, n_value, or n_scnum in the native
-+ symbol information, since they'll be overridden by the BFD symbol
-+ anyhow. However, we do need to set the type and storage class,
-+ in case this symbol winds up getting written out. The value 0
-+ for n_numaux is already correct. */
-+ native->u.syment.n_type = T_NULL;
-+ native->u.syment.n_sclass = C_STAT;
-
-+ coffsymbol (section->symbol)->native = native;
-+ }
-+
- coff_set_custom_section_alignment (abfd, section,
- coff_section_alignment_table,
- coff_section_alignment_table_size);
-diff -uNr binutils-2.17.orig/bfd/cpu-m68k.c binutils-2.17/bfd/cpu-m68k.c
---- binutils-2.17.orig/bfd/cpu-m68k.c 2006-03-25 11:24:27.000000000 +0100
-+++ binutils-2.17/bfd/cpu-m68k.c 2006-10-21 13:53:24.000000000 +0200
-@@ -202,6 +202,9 @@
- if (a->mach <= bfd_mach_m68060 && b->mach <= bfd_mach_m68060)
- /* Merge m68k machine. */
- return a->mach > b->mach ? a : b;
-+ else if (a->mach == bfd_mach_cpu32 && b->mach == bfd_mach_cpu32)
-+ /* CPU32 is compatible with itself. */
-+ return a;
- else if (a->mach >= bfd_mach_mcf_isa_a_nodiv
- && b->mach >= bfd_mach_mcf_isa_a_nodiv)
- {
-diff -uNr binutils-2.17.orig/bfd/elflink.c binutils-2.17/bfd/elflink.c
---- binutils-2.17.orig/bfd/elflink.c 2006-05-22 17:06:36.000000000 +0200
-+++ binutils-2.17/bfd/elflink.c 2006-10-21 13:53:24.000000000 +0200
-@@ -3496,6 +3496,13 @@
- if (alloc_mark == NULL)
- goto error_free_vers;
-
-+ /* Make a special call to the linker "notice" function to
-+ tell it that we are about to handle an as-needed lib. */
-+ if (!(*info->callbacks->notice) (info, NULL, abfd, NULL,
-+ notice_as_needed))
-+ return FALSE;
-+
-+
- /* Clone the symbol table and sym hashes. Remember some
- pointers into the symbol table, and dynamic symbol count. */
- old_hash = (char *) old_tab + tabsize;
-@@ -4169,6 +4176,12 @@
- }
- }
-
-+ /* Make a special call to the linker "notice" function to
-+ tell it that symbols added for crefs may need to be removed. */
-+ if (!(*info->callbacks->notice) (info, NULL, abfd, NULL,
-+ notice_not_needed))
-+ return FALSE;
-+
- free (old_tab);
- objalloc_free_block ((struct objalloc *) htab->root.table.memory,
- alloc_mark);
-@@ -4179,6 +4192,9 @@
-
- if (old_tab != NULL)
- {
-+ if (!(*info->callbacks->notice) (info, NULL, abfd, NULL,
-+ notice_needed))
-+ return FALSE;
- free (old_tab);
- old_tab = NULL;
- }
-diff -uNr binutils-2.17.orig/bfd/version.h binutils-2.17/bfd/version.h
---- binutils-2.17.orig/bfd/version.h 2006-06-23 20:14:41.000000000 +0200
-+++ binutils-2.17/bfd/version.h 2006-10-21 13:53:24.000000000 +0200
-@@ -1,3 +1,3 @@
--#define BFD_VERSION_DATE 20060623
-+#define BFD_VERSION_DATE 20061021
- #define BFD_VERSION @bfd_version@
- #define BFD_VERSION_STRING @bfd_version_string@
-diff -uNr binutils-2.17.orig/binutils/ChangeLog binutils-2.17/binutils/ChangeLog
---- binutils-2.17.orig/binutils/ChangeLog 2006-06-12 15:05:03.000000000 +0200
-+++ binutils-2.17/binutils/ChangeLog 2006-10-21 13:53:24.000000000 +0200
-@@ -1,3 +1,8 @@
-+2006-08-15 Nick Clifton <nickc@redhat.com>
-+
-+ PR binutils/3039
-+ * wrstabs.c (stab_tag_type): Initialize 'size'.
-+
- 2006-06-07 Joseph S. Myers <joseph@codesourcery.com>
-
- * po/Make-in (pdf, ps): New dummy targets.
-diff -uNr binutils-2.17.orig/binutils/wrstabs.c binutils-2.17/binutils/wrstabs.c
---- binutils-2.17.orig/binutils/wrstabs.c 2006-03-16 13:20:16.000000000 +0100
-+++ binutils-2.17/binutils/wrstabs.c 2006-10-21 13:53:24.000000000 +0200
-@@ -1869,7 +1869,7 @@
- {
- struct stab_write_handle *info = (struct stab_write_handle *) p;
- long index;
-- unsigned int size;
-+ unsigned int size = 0;
-
- index = stab_get_struct_index (info, name, id, kind, &size);
- if (index < 0)
-diff -uNr binutils-2.17.orig/gas/ChangeLog binutils-2.17/gas/ChangeLog
---- binutils-2.17.orig/gas/ChangeLog 2006-06-12 15:05:03.000000000 +0200
-+++ binutils-2.17/gas/ChangeLog 2006-10-21 13:53:24.000000000 +0200
-@@ -1,3 +1,8 @@
-+2006-07-19 Mat Hostetter <mat@lcs.mit.edu>
-+
-+ * symbols.c (report_op_error): Fix pasto. Don't use as_bad_where
-+ when file and line unknown.
-+
- 2006-06-07 Joseph S. Myers <joseph@codesourcery.com>
-
- * po/Make-in (pdf, ps): New dummy targets.
-diff -uNr binutils-2.17.orig/gas/symbols.c binutils-2.17/gas/symbols.c
---- binutils-2.17.orig/gas/symbols.c 2006-01-09 18:14:40.000000000 +0100
-+++ binutils-2.17/gas/symbols.c 2006-10-21 13:53:24.000000000 +0200
-@@ -928,13 +928,11 @@
- && seg_right != undefined_section)
- {
- if (right)
-- as_bad_where (file, line,
-- _("invalid sections for operation on `%s' and `%s' setting `%s'"),
-- S_GET_NAME (left), S_GET_NAME (right), S_GET_NAME (symp));
-+ as_bad (_("invalid sections for operation on `%s' and `%s' setting `%s'"),
-+ S_GET_NAME (left), S_GET_NAME (right), S_GET_NAME (symp));
- else
-- as_bad_where (file, line,
-- _("invalid section for operation on `%s' setting `%s'"),
-- S_GET_NAME (left), S_GET_NAME (symp));
-+ as_bad (_("invalid section for operation on `%s' setting `%s'"),
-+ S_GET_NAME (left), S_GET_NAME (symp));
- }
- }
- }
-diff -uNr binutils-2.17.orig/ld/ChangeLog binutils-2.17/ld/ChangeLog
---- binutils-2.17.orig/ld/ChangeLog 2006-06-12 15:07:28.000000000 +0200
-+++ binutils-2.17/ld/ChangeLog 2006-10-21 13:53:24.000000000 +0200
-@@ -1,3 +1,20 @@
-+2006-07-19 Alan Modra <amodra@bigpond.net.au>
-+
-+ * ld.h (handle_asneeded_cref): Declare.
-+ * ldcref.c: Include objalloc.h.
-+ (old_table, old_tab, alloc_mark): New variables.
-+ (tabsize, entsize, refsize, old_symcount): Likewise.
-+ (add_cref): Use bfd_hash_allocate for refs.
-+ (handle_asneeded_cref): New function.
-+ * ldmain.c (notice): Call handle_asneeded_cref for NULL name.
-+
-+2006-07-04 Daniel Jacobowitz <dan@codesourcery.com>
-+
-+ Backport:
-+ 2006-05-19 Alan Modra <amodra@bigpond.net.au>
-+ * ldlang.c (lang_size_sections_1): Don't check mem regions for
-+ os->ignored sections.
-+
- 2006-06-12 Fred Fish <fnf@specifix.com>
-
- * emulparams/elf32bmip.sh (OTHER_SECTIONS): Keep the
-diff -uNr binutils-2.17.orig/ld/configure.tgt binutils-2.17/ld/configure.tgt
---- binutils-2.17.orig/ld/configure.tgt 2006-04-05 14:41:57.000000000 +0200
-+++ binutils-2.17/ld/configure.tgt 2006-10-21 13:53:24.000000000 +0200
-@@ -83,7 +83,8 @@
- avr-*-*) targ_emul=avr2
- targ_extra_emuls="avr1 avr3 avr4 avr5"
- ;;
--bfin-*-elf) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;;
-+bfin-*-elf | bfin-*-rtems*)
-+ targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;;
- bfin-*-uclinux*) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;;
- cr16c-*-elf*) targ_emul=elf32cr16c
- ;;
-diff -uNr binutils-2.17.orig/ld/emulparams/h8300elf.sh binutils-2.17/ld/emulparams/h8300elf.sh
---- binutils-2.17.orig/ld/emulparams/h8300elf.sh 2005-12-22 18:43:34.000000000 +0100
-+++ binutils-2.17/ld/emulparams/h8300elf.sh 2006-10-21 13:53:24.000000000 +0200
-@@ -17,7 +17,7 @@
- TINY_DATA_SECTION=".tinydata 0xff8000 :
- {
- *(.tinydata)
-- _tinydata = .;
-+ ${RELOCATING+ _tinydata = .; }
- }"
- TINY_BSS_SECTION=".tinybss : AT (_tinydata)
- {
-diff -uNr binutils-2.17.orig/ld/ldcref.c binutils-2.17/ld/ldcref.c
---- binutils-2.17.orig/ld/ldcref.c 2006-03-16 13:20:16.000000000 +0100
-+++ binutils-2.17/ld/ldcref.c 2006-10-21 13:53:24.000000000 +0200
-@@ -27,6 +27,7 @@
- #include "sysdep.h"
- #include "bfdlink.h"
- #include "libiberty.h"
-+#include "objalloc.h"
-
- #include "ld.h"
- #include "ldmain.h"
-@@ -101,6 +102,15 @@
-
- static size_t cref_symcount;
-
-+/* Used to take a snapshot of the cref hash table when starting to
-+ add syms from an as-needed library. */
-+static struct bfd_hash_entry **old_table;
-+static unsigned int old_size;
-+static void *old_tab;
-+static void *alloc_mark;
-+static size_t tabsize, entsize, refsize;
-+static size_t old_symcount;
-+
- /* Create an entry in a cref hash table. */
-
- static struct bfd_hash_entry *
-@@ -165,7 +175,9 @@
-
- if (r == NULL)
- {
-- r = xmalloc (sizeof *r);
-+ r = bfd_hash_allocate (&cref_table.root, sizeof *r);
-+ if (r == NULL)
-+ einfo (_("%X%P: cref alloc failed: %E\n"));
- r->next = h->refs;
- h->refs = r;
- r->abfd = abfd;
-@@ -182,6 +194,123 @@
- r->def = TRUE;
- }
-
-+/* Called before loading an as-needed library to take a snapshot of
-+ the cref hash table, and after we have loaded or found that the
-+ library was not needed. */
-+
-+bfd_boolean
-+handle_asneeded_cref (bfd *abfd ATTRIBUTE_UNUSED,
-+ enum notice_asneeded_action act)
-+{
-+ unsigned int i;
-+
-+ if (!cref_initialized)
-+ return TRUE;
-+
-+ if (act == notice_as_needed)
-+ {
-+ char *old_ent, *old_ref;
-+
-+ for (i = 0; i < cref_table.root.size; i++)
-+ {
-+ struct bfd_hash_entry *p;
-+ struct cref_hash_entry *c;
-+ struct cref_ref *r;
-+
-+ for (p = cref_table.root.table[i]; p != NULL; p = p->next)
-+ {
-+ entsize += cref_table.root.entsize;
-+ c = (struct cref_hash_entry *) p;
-+ for (r = c->refs; r != NULL; r = r->next)
-+ refsize += sizeof (struct cref_hash_entry);
-+ }
-+ }
-+
-+ tabsize = cref_table.root.size * sizeof (struct bfd_hash_entry *);
-+ old_tab = xmalloc (tabsize + entsize + refsize);
-+
-+ alloc_mark = bfd_hash_allocate (&cref_table.root, 1);
-+ if (alloc_mark == NULL)
-+ return FALSE;
-+
-+ memcpy (old_tab, cref_table.root.table, tabsize);
-+ old_ent = (char *) old_tab + tabsize;
-+ old_ref = (char *) old_ent + entsize;
-+ old_table = cref_table.root.table;
-+ old_size = cref_table.root.size;
-+ old_symcount = cref_symcount;
-+
-+ for (i = 0; i < cref_table.root.size; i++)
-+ {
-+ struct bfd_hash_entry *p;
-+ struct cref_hash_entry *c;
-+ struct cref_ref *r;
-+
-+ for (p = cref_table.root.table[i]; p != NULL; p = p->next)
-+ {
-+ memcpy (old_ent, p, cref_table.root.entsize);
-+ old_ent = (char *) old_ent + cref_table.root.entsize;
-+ c = (struct cref_hash_entry *) p;
-+ for (r = c->refs; r != NULL; r = r->next)
-+ {
-+ memcpy (old_ref, r, sizeof (struct cref_hash_entry));
-+ old_ref = (char *) old_ref + sizeof (struct cref_hash_entry);
-+ }
-+ }
-+ }
-+ return TRUE;
-+ }
-+
-+ if (act == notice_not_needed)
-+ {
-+ char *old_ent, *old_ref;
-+
-+ if (old_tab == NULL)
-+ {
-+ /* The only way old_tab can be NULL is if the cref hash table
-+ had not been initialised when notice_as_needed. */
-+ bfd_hash_table_free (&cref_table.root);
-+ cref_initialized = FALSE;
-+ return TRUE;
-+ }
-+
-+ old_ent = (char *) old_tab + tabsize;
-+ old_ref = (char *) old_ent + entsize;
-+ cref_table.root.table = old_table;
-+ cref_table.root.size = old_size;
-+ memcpy (cref_table.root.table, old_tab, tabsize);
-+ cref_symcount = old_symcount;
-+
-+ for (i = 0; i < cref_table.root.size; i++)
-+ {
-+ struct bfd_hash_entry *p;
-+ struct cref_hash_entry *c;
-+ struct cref_ref *r;
-+
-+ for (p = cref_table.root.table[i]; p != NULL; p = p->next)
-+ {
-+ memcpy (p, old_ent, cref_table.root.entsize);
-+ old_ent = (char *) old_ent + cref_table.root.entsize;
-+ c = (struct cref_hash_entry *) p;
-+ for (r = c->refs; r != NULL; r = r->next)
-+ {
-+ memcpy (r, old_ref, sizeof (struct cref_hash_entry));
-+ old_ref = (char *) old_ref + sizeof (struct cref_hash_entry);
-+ }
-+ }
-+ }
-+
-+ objalloc_free_block ((struct objalloc *) cref_table.root.memory,
-+ alloc_mark);
-+ }
-+ else if (act != notice_needed)
-+ return FALSE;
-+
-+ free (old_tab);
-+ old_tab = NULL;
-+ return TRUE;
-+}
-+
- /* Copy the addresses of the hash table entries into an array. This
- is called via cref_hash_traverse. We also fill in the demangled
- name. */
-diff -uNr binutils-2.17.orig/ld/ld.h binutils-2.17/ld/ld.h
---- binutils-2.17.orig/ld/ld.h 2005-09-30 13:42:04.000000000 +0200
-+++ binutils-2.17/ld/ld.h 2006-10-21 13:53:24.000000000 +0200
-@@ -1,6 +1,6 @@
- /* ld.h -- general linker header file
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-- 2001, 2002, 2003, 2004, 2005
-+ 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
-
- This file is part of GLD, the Gnu Linker.
-@@ -282,6 +282,7 @@
-
- extern int yyparse (void);
- extern void add_cref (const char *, bfd *, asection *, bfd_vma);
-+extern bfd_boolean handle_asneeded_cref (bfd *, enum notice_asneeded_action);
- extern void output_cref (FILE *);
- extern void check_nocrossrefs (void);
- extern void ld_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
-diff -uNr binutils-2.17.orig/ld/ldlang.c binutils-2.17/ld/ldlang.c
---- binutils-2.17.orig/ld/ldlang.c 2006-06-12 15:05:04.000000000 +0200
-+++ binutils-2.17/ld/ldlang.c 2006-10-21 13:53:24.000000000 +0200
-@@ -4207,7 +4207,8 @@
- /* If a loadable section is using the default memory
- region, and some non default memory regions were
- defined, issue an error message. */
-- if (!IGNORE_SECTION (os->bfd_section)
-+ if (!os->ignored
-+ && !IGNORE_SECTION (os->bfd_section)
- && ! link_info.relocatable
- && check_regions
- && strcmp (os->region->name,
-diff -uNr binutils-2.17.orig/ld/ldmain.c binutils-2.17/ld/ldmain.c
---- binutils-2.17.orig/ld/ldmain.c 2006-04-06 20:52:45.000000000 +0200
-+++ binutils-2.17/ld/ldmain.c 2006-10-21 13:53:24.000000000 +0200
-@@ -1511,6 +1511,13 @@
- asection *section,
- bfd_vma value)
- {
-+ if (name == NULL)
-+ {
-+ if (command_line.cref || nocrossref_list != NULL)
-+ return handle_asneeded_cref (abfd, value);
-+ return TRUE;
-+ }
-+
- if (! info->notice_all
- || (info->notice_hash != NULL
- && bfd_hash_lookup (info->notice_hash, name, FALSE, FALSE) != NULL))
-diff -uNr binutils-2.17.orig/ld/testsuite/ChangeLog binutils-2.17/ld/testsuite/ChangeLog
---- binutils-2.17.orig/ld/testsuite/ChangeLog 2006-06-12 15:44:33.000000000 +0200
-+++ binutils-2.17/ld/testsuite/ChangeLog 2006-10-21 13:53:24.000000000 +0200
-@@ -1,3 +1,17 @@
-+2006-07-12 Richard Sandiford <richard@codesourcery.com>
-+
-+ * ld-m68k/merge-ok-1c.d: New test.
-+ * ld-m68k/m68k.exp: Run it.
-+
-+2006-07-04 Daniel Jacobowitz <dan@codesourcery.com>
-+
-+ Backport:
-+ 2006-05-19 Alan Modra <amodra@bigpond.net.au>
-+ * ld-scripts/empty-orphan.d: Update again.
-+
-+ * ld-scripts/empty-orphan.t: Discard .reginfo.
-+ * ld-scripts/empty-orphan.d: Update.
-+
- 2006-06-12 Daniel Jacobowitz <dan@codesourcery.com>
-
- Backport:
-diff -uNr binutils-2.17.orig/ld/testsuite/ld-m68k/m68k.exp binutils-2.17/ld/testsuite/ld-m68k/m68k.exp
---- binutils-2.17.orig/ld/testsuite/ld-m68k/m68k.exp 2006-03-25 11:24:27.000000000 +0100
-+++ binutils-2.17/ld/testsuite/ld-m68k/m68k.exp 2006-10-21 13:53:24.000000000 +0200
-@@ -53,3 +53,4 @@
- run_dump_test "merge-error-1e"
- run_dump_test "merge-ok-1a"
- run_dump_test "merge-ok-1b"
-+run_dump_test "merge-ok-1c"
-diff -uNr binutils-2.17.orig/ld/testsuite/ld-scripts/empty-orphan.d binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.d
---- binutils-2.17.orig/ld/testsuite/ld-scripts/empty-orphan.d 2005-03-17 17:20:39.000000000 +0100
-+++ binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.d 2006-10-21 13:53:24.000000000 +0200
-@@ -1,3 +1,6 @@
- #source: empty-orphan.s
- #ld: -T empty-orphan.t
--#error: no memory region specified for loadable section
-+#readelf: -l --wide
-+#...
-+ +LOAD +[x0-9a-f]+ [x0]+70000000 [x0]+70000000 [x0]+(2|4|8|10|20|40|80) .*
-+#pass
-diff -uNr binutils-2.17.orig/ld/testsuite/ld-scripts/empty-orphan.t binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.t
---- binutils-2.17.orig/ld/testsuite/ld-scripts/empty-orphan.t 2005-03-17 17:20:39.000000000 +0100
-+++ binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.t 2006-10-21 13:53:24.000000000 +0200
-@@ -17,5 +17,6 @@
- .text : { *(.text) } > text_mem : text_phdr
- .data : { *(.data) } > data_mem : data_phdr
- .bss : { *(.bss) } > data_mem : data_phdr
-+ /DISCARD/ : { *(.reginfo) }
- /* .orphan_data is an orphan */
- }