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-07-11 04:19:31.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/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-07-11 04:19:31.000000000 +0200 @@ -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 15:07:28.000000000 +0200 +++ binutils-2.17/ld/ChangeLog 2006-07-11 04:19:31.000000000 +0200 @@ -1,3 +1,10 @@ +2006-07-04 Daniel Jacobowitz + + Backport: + 2006-05-19 Alan Modra + * ldlang.c (lang_size_sections_1): Don't check mem regions for + os->ignored sections. + 2006-06-12 Fred Fish * emulparams/elf32bmip.sh (OTHER_SECTIONS): Keep the 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-07-11 04:19:31.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/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-07-11 04:19:31.000000000 +0200 @@ -1,3 +1,12 @@ +2006-07-04 Daniel Jacobowitz + + Backport: + 2006-05-19 Alan Modra + * 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 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-07-11 04:19:31.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-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 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.17/ld/testsuite/ld-m68k/merge-ok-1c.d 2006-07-11 04:19:31.000000000 +0200 @@ -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 17:20:39.000000000 +0100 +++ binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.d 2006-07-11 04:19:31.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-07-11 04:19:31.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 */ }