1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
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 <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/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 <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-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 */
}
|