Index: contrib/crossrpms/ChangeLog
===================================================================
--- contrib/crossrpms/ChangeLog	(revision 72728283824ee437c32835d7e8187d8852b30c5e)
+++ contrib/crossrpms/ChangeLog	(revision a94075bdda3b7f12ef16fe09cd835c3236664760)
@@ -1,2 +1,9 @@
+2006-08-21	Joel Sherrill <joel@OARcorp.com>
+
+	* rtems4.7/h8300/binutils-sources.add,
+	rtems4.7/m68k/binutils-sources.add: Add h8300 _tinydata patch and
+	bump patch for targets needing it.
+	* patches/binutils-2.17-rtems-20060815.diff: New file.
+
 2006-08-11	Joel Sherrill <joel@oarcorp.com>
 
Index: contrib/crossrpms/patches/binutils-2.17-rtems-20060815.diff
===================================================================
--- contrib/crossrpms/patches/binutils-2.17-rtems-20060815.diff	(revision a94075bdda3b7f12ef16fe09cd835c3236664760)
+++ contrib/crossrpms/patches/binutils-2.17-rtems-20060815.diff	(revision a94075bdda3b7f12ef16fe09cd835c3236664760)
@@ -0,0 +1,115 @@
+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 04:24:27.000000000 -0600
++++ binutils-2.17/bfd/cpu-m68k.c	2006-08-15 08:57:39.000000000 -0500
+@@ -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/version.h binutils-2.17/bfd/version.h
+--- binutils-2.17-orig/bfd/version.h	2006-06-23 13:14:41.000000000 -0500
++++ binutils-2.17/bfd/version.h	2006-08-15 08:57:39.000000000 -0500
+@@ -1,3 +1,3 @@
+-#define BFD_VERSION_DATE 20060623
++#define BFD_VERSION_DATE 20060711
+ #define BFD_VERSION @bfd_version@
+ #define BFD_VERSION_STRING @bfd_version_string@
+diff -uNr binutils-2.17-orig/ld/ChangeLog binutils-2.17/ld/ChangeLog
+--- binutils-2.17-orig/ld/ChangeLog	2006-06-12 08:07:28.000000000 -0500
++++ binutils-2.17/ld/ChangeLog	2006-08-15 08:57:39.000000000 -0500
+@@ -1,3 +1,10 @@
++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/emulparams/h8300elf.sh binutils-2.17/ld/emulparams/h8300elf.sh
+--- binutils-2.17-orig/ld/emulparams/h8300elf.sh	2005-12-22 11:43:34.000000000 -0600
++++ binutils-2.17/ld/emulparams/h8300elf.sh	2006-08-15 08:56:21.000000000 -0500
+@@ -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/ldlang.c binutils-2.17/ld/ldlang.c
+--- binutils-2.17-orig/ld/ldlang.c	2006-06-12 08:05:04.000000000 -0500
++++ binutils-2.17/ld/ldlang.c	2006-08-15 08:57:39.000000000 -0500
+@@ -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/testsuite/ChangeLog binutils-2.17/ld/testsuite/ChangeLog
+--- binutils-2.17-orig/ld/testsuite/ChangeLog	2006-06-12 08:44:33.000000000 -0500
++++ binutils-2.17/ld/testsuite/ChangeLog	2006-08-15 08:57:39.000000000 -0500
+@@ -1,3 +1,12 @@
++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 04:24:27.000000000 -0600
++++ binutils-2.17/ld/testsuite/ld-m68k/m68k.exp	2006-08-15 08:57:39.000000000 -0500
+@@ -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-m68k/merge-ok-1c.d binutils-2.17/ld/testsuite/ld-m68k/merge-ok-1c.d
+--- binutils-2.17-orig/ld/testsuite/ld-m68k/merge-ok-1c.d	1969-12-31 18:00:00.000000000 -0600
++++ binutils-2.17/ld/testsuite/ld-m68k/merge-ok-1c.d	2006-08-15 08:57:39.000000000 -0500
+@@ -0,0 +1,6 @@
++#source: merge-error-1a.s -march=cpu32
++#source: merge-error-1b.s -march=cpu32
++#ld: -r
++#objdump: -p
++#...
++private flags = 810000: \[cpu32\]
+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 10:20:39.000000000 -0600
++++ binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.d	2006-08-15 08:57:39.000000000 -0500
+@@ -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 10:20:39.000000000 -0600
++++ binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.t	2006-08-15 08:57:39.000000000 -0500
+@@ -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 */
+ }
Index: contrib/crossrpms/rtems4.7/h8300/binutils-sources.add
===================================================================
--- contrib/crossrpms/rtems4.7/h8300/binutils-sources.add	(revision 72728283824ee437c32835d7e8187d8852b30c5e)
+++ contrib/crossrpms/rtems4.7/h8300/binutils-sources.add	(revision a94075bdda3b7f12ef16fe09cd835c3236664760)
@@ -4,2 +4,5 @@
 Patch0:		binutils-2.16.1-rtems-20050708.diff
 %endif
+%if "%{binutils_version}" == "2.17"
+Patch0:		binutils-2.17-rtems-20060815.diff
+%endif
Index: contrib/crossrpms/rtems4.7/m68k/binutils-sources.add
===================================================================
--- contrib/crossrpms/rtems4.7/m68k/binutils-sources.add	(revision 72728283824ee437c32835d7e8187d8852b30c5e)
+++ contrib/crossrpms/rtems4.7/m68k/binutils-sources.add	(revision a94075bdda3b7f12ef16fe09cd835c3236664760)
@@ -5,4 +5,4 @@
 %endif
 %if "%{binutils_version}" == "2.17"
-Patch0:		binutils-2.17-rtems-20060711.diff
+Patch0:		binutils-2.17-rtems-20060815.diff
 %endif
