source: patches/binutils-2.17-branch_update-1.patch@ d4b9e928

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since d4b9e928 was c4678fd, checked in by Jim Gifford <clfs@…>, 18 years ago

Added Binutils Branch Update Patch

  • Property mode set to 100644
File size: 20.2 KB
RevLine 
[c4678fd]1Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
2Date: 2006-12-04
3Initial Package Version: 2.17
4Upstream Status: From Upstream
5Origin: cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src co \
6 -rbinutils-2_17-branch binutils
7Description: This is the binutils-2_17-branch (bug fix branch) update,
8compared from binutils-2.17-release and binutils-2_17-branch with all
9the fluff removed (CVS entries, maintainer files, etc). This patch
10should be updated periodically.
11
12diff -Naur binutils-2.17/bfd/bfd-in2.h src/bfd/bfd-in2.h
13--- binutils-2.17/bfd/bfd-in2.h 2006-03-25 16:38:42.000000000 -0800
14+++ src/bfd/bfd-in2.h 2006-07-18 19:37:04.000000000 -0700
15@@ -643,6 +643,12 @@
16 DYN_NO_NEEDED = 8
17 };
18
19+enum notice_asneeded_action {
20+ notice_as_needed,
21+ notice_not_needed,
22+ notice_needed
23+};
24+
25 extern bfd_boolean bfd_elf_record_link_assignment
26 (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
27 bfd_boolean);
28diff -Naur binutils-2.17/bfd/bfd-in.h src/bfd/bfd-in.h
29--- binutils-2.17/bfd/bfd-in.h 2006-03-16 04:20:15.000000000 -0800
30+++ src/bfd/bfd-in.h 2006-07-18 19:37:04.000000000 -0700
31@@ -636,6 +636,12 @@
32 DYN_NO_NEEDED = 8
33 };
34
35+enum notice_asneeded_action {
36+ notice_as_needed,
37+ notice_not_needed,
38+ notice_needed
39+};
40+
41 extern bfd_boolean bfd_elf_record_link_assignment
42 (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
43 bfd_boolean);
44diff -Naur binutils-2.17/bfd/ChangeLog src/bfd/ChangeLog
45--- binutils-2.17/bfd/ChangeLog 2006-06-23 11:18:16.000000000 -0700
46+++ src/bfd/ChangeLog 2006-08-08 01:19:56.000000000 -0700
47@@ -1,3 +1,25 @@
48+2006-08-08 Nick Clifton <nickc@redhat.com>
49+
50+ PR binutils/2724
51+ * coffcode.h (coff_new_section_hook): Only modify the section
52+ symbol of sections which were created by the user.
53+
54+2006-07-19 Alan Modra <amodra@bigpond.net.au>
55+
56+ * bfd-in.h (enum notice_asneeded_action): Define.
57+ * bfd-in2.h: Regenerate.
58+ * elflink.c (elf_link_add_object_symbols): Call linker "notice"
59+ function with NULL name for as-needed handling.
60+
61+2006-07-12 Matthew R. Dempsky <mrd@alkemio.org>
62+
63+ * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.
64+
65+2006-06-23 Daniel Jacobowitz <dan@codesourcery.com>
66+
67+ * Makefile.am: Clear RELEASE.
68+ * Makefile.in: Regenerated.
69+
70 2006-06-23 Daniel Jacobowitz <dan@codesourcery.com>
71
72 * configure.in: Update version to 2.17.
73diff -Naur binutils-2.17/bfd/coffcode.h src/bfd/coffcode.h
74--- binutils-2.17/bfd/coffcode.h 2005-10-25 10:40:09.000000000 -0700
75+++ src/bfd/coffcode.h 2006-08-08 01:19:57.000000000 -0700
76@@ -1546,9 +1546,6 @@
77 static bfd_boolean
78 coff_new_section_hook (bfd * abfd, asection * section)
79 {
80- combined_entry_type *native;
81- bfd_size_type amt;
82-
83 section->alignment_power = COFF_DEFAULT_SECTION_ALIGNMENT_POWER;
84
85 #ifdef RS6000COFF_C
86@@ -1560,27 +1557,34 @@
87 section->alignment_power = bfd_xcoff_data_align_power (abfd);
88 #endif
89
90- /* Allocate aux records for section symbols, to store size and
91- related info.
92-
93- @@ The 10 is a guess at a plausible maximum number of aux entries
94- (but shouldn't be a constant). */
95- amt = sizeof (combined_entry_type) * 10;
96- native = bfd_zalloc (abfd, amt);
97- if (native == NULL)
98- return FALSE;
99-
100- /* We don't need to set up n_name, n_value, or n_scnum in the native
101- symbol information, since they'll be overridden by the BFD symbol
102- anyhow. However, we do need to set the type and storage class,
103- in case this symbol winds up getting written out. The value 0
104- for n_numaux is already correct. */
105-
106- native->u.syment.n_type = T_NULL;
107- native->u.syment.n_sclass = C_STAT;
108+ /* PR binutils/2724: Only real sections have a symbol that
109+ has the coff_symbol_type structure allocated for it. */
110+ if (! bfd_is_const_section (section))
111+ {
112+ combined_entry_type *native;
113+ bfd_size_type amt;
114+
115+ /* Allocate aux records for section symbols, to store size and
116+ related info.
117+
118+ @@ The 10 is a guess at a plausible maximum number of aux entries
119+ (but shouldn't be a constant). */
120+ amt = sizeof (combined_entry_type) * 10;
121+ native = bfd_zalloc (abfd, amt);
122+ if (native == NULL)
123+ return FALSE;
124
125- coffsymbol (section->symbol)->native = native;
126+ /* We don't need to set up n_name, n_value, or n_scnum in the native
127+ symbol information, since they'll be overridden by the BFD symbol
128+ anyhow. However, we do need to set the type and storage class,
129+ in case this symbol winds up getting written out. The value 0
130+ for n_numaux is already correct. */
131+ native->u.syment.n_type = T_NULL;
132+ native->u.syment.n_sclass = C_STAT;
133
134+ coffsymbol (section->symbol)->native = native;
135+ }
136+
137 coff_set_custom_section_alignment (abfd, section,
138 coff_section_alignment_table,
139 coff_section_alignment_table_size);
140diff -Naur binutils-2.17/bfd/cpu-m68k.c src/bfd/cpu-m68k.c
141--- binutils-2.17/bfd/cpu-m68k.c 2006-03-25 02:24:27.000000000 -0800
142+++ src/bfd/cpu-m68k.c 2006-07-12 05:55:21.000000000 -0700
143@@ -202,6 +202,9 @@
144 if (a->mach <= bfd_mach_m68060 && b->mach <= bfd_mach_m68060)
145 /* Merge m68k machine. */
146 return a->mach > b->mach ? a : b;
147+ else if (a->mach == bfd_mach_cpu32 && b->mach == bfd_mach_cpu32)
148+ /* CPU32 is compatible with itself. */
149+ return a;
150 else if (a->mach >= bfd_mach_mcf_isa_a_nodiv
151 && b->mach >= bfd_mach_mcf_isa_a_nodiv)
152 {
153diff -Naur binutils-2.17/bfd/elflink.c src/bfd/elflink.c
154--- binutils-2.17/bfd/elflink.c 2006-05-22 08:06:36.000000000 -0700
155+++ src/bfd/elflink.c 2006-07-18 19:37:04.000000000 -0700
156@@ -3496,6 +3496,13 @@
157 if (alloc_mark == NULL)
158 goto error_free_vers;
159
160+ /* Make a special call to the linker "notice" function to
161+ tell it that we are about to handle an as-needed lib. */
162+ if (!(*info->callbacks->notice) (info, NULL, abfd, NULL,
163+ notice_as_needed))
164+ return FALSE;
165+
166+
167 /* Clone the symbol table and sym hashes. Remember some
168 pointers into the symbol table, and dynamic symbol count. */
169 old_hash = (char *) old_tab + tabsize;
170@@ -4169,6 +4176,12 @@
171 }
172 }
173
174+ /* Make a special call to the linker "notice" function to
175+ tell it that symbols added for crefs may need to be removed. */
176+ if (!(*info->callbacks->notice) (info, NULL, abfd, NULL,
177+ notice_not_needed))
178+ return FALSE;
179+
180 free (old_tab);
181 objalloc_free_block ((struct objalloc *) htab->root.table.memory,
182 alloc_mark);
183@@ -4179,6 +4192,9 @@
184
185 if (old_tab != NULL)
186 {
187+ if (!(*info->callbacks->notice) (info, NULL, abfd, NULL,
188+ notice_needed))
189+ return FALSE;
190 free (old_tab);
191 old_tab = NULL;
192 }
193diff -Naur binutils-2.17/bfd/Makefile.am src/bfd/Makefile.am
194--- binutils-2.17/bfd/Makefile.am 2006-06-23 11:17:17.000000000 -0700
195+++ src/bfd/Makefile.am 2006-06-23 13:57:04.000000000 -0700
196@@ -3,7 +3,7 @@
197 AUTOMAKE_OPTIONS = 1.9 cygnus
198
199 # Uncomment the following line when doing a release.
200-RELEASE=y
201+# RELEASE=y
202
203 INCDIR = $(srcdir)/../include
204 CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
205diff -Naur binutils-2.17/bfd/version.h src/bfd/version.h
206--- binutils-2.17/bfd/version.h 2006-06-23 11:14:41.000000000 -0700
207+++ src/bfd/version.h 2006-12-03 15:00:13.000000000 -0800
208@@ -1,3 +1,3 @@
209-#define BFD_VERSION_DATE 20060623
210+#define BFD_VERSION_DATE 20061204
211 #define BFD_VERSION @bfd_version@
212 #define BFD_VERSION_STRING @bfd_version_string@
213diff -Naur binutils-2.17/binutils/ChangeLog src/binutils/ChangeLog
214--- binutils-2.17/binutils/ChangeLog 2006-06-12 06:05:03.000000000 -0700
215+++ src/binutils/ChangeLog 2006-08-15 05:01:21.000000000 -0700
216@@ -1,3 +1,8 @@
217+2006-08-15 Nick Clifton <nickc@redhat.com>
218+
219+ PR binutils/3039
220+ * wrstabs.c (stab_tag_type): Initialize 'size'.
221+
222 2006-06-07 Joseph S. Myers <joseph@codesourcery.com>
223
224 * po/Make-in (pdf, ps): New dummy targets.
225diff -Naur binutils-2.17/binutils/wrstabs.c src/binutils/wrstabs.c
226--- binutils-2.17/binutils/wrstabs.c 2006-03-16 04:20:16.000000000 -0800
227+++ src/binutils/wrstabs.c 2006-08-15 05:01:21.000000000 -0700
228@@ -1869,7 +1869,7 @@
229 {
230 struct stab_write_handle *info = (struct stab_write_handle *) p;
231 long index;
232- unsigned int size;
233+ unsigned int size = 0;
234
235 index = stab_get_struct_index (info, name, id, kind, &size);
236 if (index < 0)
237diff -Naur binutils-2.17/configure.in src/configure.in
238--- binutils-2.17/configure.in 2006-06-23 11:19:53.000000000 -0700
239+++ src/configure.in 2006-04-06 14:49:25.000000000 -0700
240@@ -130,7 +130,7 @@
241 # know that we are building the simulator.
242 # binutils, gas and ld appear in that order because it makes sense to run
243 # "make check" in that particular order.
244-host_tools="byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
245+host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
246
247 # libgcj represents the runtime libraries only used by gcj.
248 libgcj="target-libffi \
249diff -Naur binutils-2.17/gas/ChangeLog src/gas/ChangeLog
250--- binutils-2.17/gas/ChangeLog 2006-06-12 06:05:03.000000000 -0700
251+++ src/gas/ChangeLog 2006-07-18 19:06:08.000000000 -0700
252@@ -1,3 +1,8 @@
253+2006-07-19 Mat Hostetter <mat@lcs.mit.edu>
254+
255+ * symbols.c (report_op_error): Fix pasto. Don't use as_bad_where
256+ when file and line unknown.
257+
258 2006-06-07 Joseph S. Myers <joseph@codesourcery.com>
259
260 * po/Make-in (pdf, ps): New dummy targets.
261diff -Naur binutils-2.17/gas/symbols.c src/gas/symbols.c
262--- binutils-2.17/gas/symbols.c 2006-01-09 09:14:40.000000000 -0800
263+++ src/gas/symbols.c 2006-07-18 19:06:08.000000000 -0700
264@@ -928,13 +928,11 @@
265 && seg_right != undefined_section)
266 {
267 if (right)
268- as_bad_where (file, line,
269- _("invalid sections for operation on `%s' and `%s' setting `%s'"),
270- S_GET_NAME (left), S_GET_NAME (right), S_GET_NAME (symp));
271+ as_bad (_("invalid sections for operation on `%s' and `%s' setting `%s'"),
272+ S_GET_NAME (left), S_GET_NAME (right), S_GET_NAME (symp));
273 else
274- as_bad_where (file, line,
275- _("invalid section for operation on `%s' setting `%s'"),
276- S_GET_NAME (left), S_GET_NAME (symp));
277+ as_bad (_("invalid section for operation on `%s' setting `%s'"),
278+ S_GET_NAME (left), S_GET_NAME (symp));
279 }
280 }
281 }
282diff -Naur binutils-2.17/ld/ChangeLog src/ld/ChangeLog
283--- binutils-2.17/ld/ChangeLog 2006-06-12 06:07:28.000000000 -0700
284+++ src/ld/ChangeLog 2006-07-18 19:37:05.000000000 -0700
285@@ -1,3 +1,20 @@
286+2006-07-19 Alan Modra <amodra@bigpond.net.au>
287+
288+ * ld.h (handle_asneeded_cref): Declare.
289+ * ldcref.c: Include objalloc.h.
290+ (old_table, old_tab, alloc_mark): New variables.
291+ (tabsize, entsize, refsize, old_symcount): Likewise.
292+ (add_cref): Use bfd_hash_allocate for refs.
293+ (handle_asneeded_cref): New function.
294+ * ldmain.c (notice): Call handle_asneeded_cref for NULL name.
295+
296+2006-07-04 Daniel Jacobowitz <dan@codesourcery.com>
297+
298+ Backport:
299+ 2006-05-19 Alan Modra <amodra@bigpond.net.au>
300+ * ldlang.c (lang_size_sections_1): Don't check mem regions for
301+ os->ignored sections.
302+
303 2006-06-12 Fred Fish <fnf@specifix.com>
304
305 * emulparams/elf32bmip.sh (OTHER_SECTIONS): Keep the
306diff -Naur binutils-2.17/ld/ldcref.c src/ld/ldcref.c
307--- binutils-2.17/ld/ldcref.c 2006-03-16 04:20:16.000000000 -0800
308+++ src/ld/ldcref.c 2006-07-18 19:37:05.000000000 -0700
309@@ -27,6 +27,7 @@
310 #include "sysdep.h"
311 #include "bfdlink.h"
312 #include "libiberty.h"
313+#include "objalloc.h"
314
315 #include "ld.h"
316 #include "ldmain.h"
317@@ -101,6 +102,15 @@
318
319 static size_t cref_symcount;
320
321+/* Used to take a snapshot of the cref hash table when starting to
322+ add syms from an as-needed library. */
323+static struct bfd_hash_entry **old_table;
324+static unsigned int old_size;
325+static void *old_tab;
326+static void *alloc_mark;
327+static size_t tabsize, entsize, refsize;
328+static size_t old_symcount;
329+
330 /* Create an entry in a cref hash table. */
331
332 static struct bfd_hash_entry *
333@@ -165,7 +175,9 @@
334
335 if (r == NULL)
336 {
337- r = xmalloc (sizeof *r);
338+ r = bfd_hash_allocate (&cref_table.root, sizeof *r);
339+ if (r == NULL)
340+ einfo (_("%X%P: cref alloc failed: %E\n"));
341 r->next = h->refs;
342 h->refs = r;
343 r->abfd = abfd;
344@@ -182,6 +194,123 @@
345 r->def = TRUE;
346 }
347
348+/* Called before loading an as-needed library to take a snapshot of
349+ the cref hash table, and after we have loaded or found that the
350+ library was not needed. */
351+
352+bfd_boolean
353+handle_asneeded_cref (bfd *abfd ATTRIBUTE_UNUSED,
354+ enum notice_asneeded_action act)
355+{
356+ unsigned int i;
357+
358+ if (!cref_initialized)
359+ return TRUE;
360+
361+ if (act == notice_as_needed)
362+ {
363+ char *old_ent, *old_ref;
364+
365+ for (i = 0; i < cref_table.root.size; i++)
366+ {
367+ struct bfd_hash_entry *p;
368+ struct cref_hash_entry *c;
369+ struct cref_ref *r;
370+
371+ for (p = cref_table.root.table[i]; p != NULL; p = p->next)
372+ {
373+ entsize += cref_table.root.entsize;
374+ c = (struct cref_hash_entry *) p;
375+ for (r = c->refs; r != NULL; r = r->next)
376+ refsize += sizeof (struct cref_hash_entry);
377+ }
378+ }
379+
380+ tabsize = cref_table.root.size * sizeof (struct bfd_hash_entry *);
381+ old_tab = xmalloc (tabsize + entsize + refsize);
382+
383+ alloc_mark = bfd_hash_allocate (&cref_table.root, 1);
384+ if (alloc_mark == NULL)
385+ return FALSE;
386+
387+ memcpy (old_tab, cref_table.root.table, tabsize);
388+ old_ent = (char *) old_tab + tabsize;
389+ old_ref = (char *) old_ent + entsize;
390+ old_table = cref_table.root.table;
391+ old_size = cref_table.root.size;
392+ old_symcount = cref_symcount;
393+
394+ for (i = 0; i < cref_table.root.size; i++)
395+ {
396+ struct bfd_hash_entry *p;
397+ struct cref_hash_entry *c;
398+ struct cref_ref *r;
399+
400+ for (p = cref_table.root.table[i]; p != NULL; p = p->next)
401+ {
402+ memcpy (old_ent, p, cref_table.root.entsize);
403+ old_ent = (char *) old_ent + cref_table.root.entsize;
404+ c = (struct cref_hash_entry *) p;
405+ for (r = c->refs; r != NULL; r = r->next)
406+ {
407+ memcpy (old_ref, r, sizeof (struct cref_hash_entry));
408+ old_ref = (char *) old_ref + sizeof (struct cref_hash_entry);
409+ }
410+ }
411+ }
412+ return TRUE;
413+ }
414+
415+ if (act == notice_not_needed)
416+ {
417+ char *old_ent, *old_ref;
418+
419+ if (old_tab == NULL)
420+ {
421+ /* The only way old_tab can be NULL is if the cref hash table
422+ had not been initialised when notice_as_needed. */
423+ bfd_hash_table_free (&cref_table.root);
424+ cref_initialized = FALSE;
425+ return TRUE;
426+ }
427+
428+ old_ent = (char *) old_tab + tabsize;
429+ old_ref = (char *) old_ent + entsize;
430+ cref_table.root.table = old_table;
431+ cref_table.root.size = old_size;
432+ memcpy (cref_table.root.table, old_tab, tabsize);
433+ cref_symcount = old_symcount;
434+
435+ for (i = 0; i < cref_table.root.size; i++)
436+ {
437+ struct bfd_hash_entry *p;
438+ struct cref_hash_entry *c;
439+ struct cref_ref *r;
440+
441+ for (p = cref_table.root.table[i]; p != NULL; p = p->next)
442+ {
443+ memcpy (p, old_ent, cref_table.root.entsize);
444+ old_ent = (char *) old_ent + cref_table.root.entsize;
445+ c = (struct cref_hash_entry *) p;
446+ for (r = c->refs; r != NULL; r = r->next)
447+ {
448+ memcpy (r, old_ref, sizeof (struct cref_hash_entry));
449+ old_ref = (char *) old_ref + sizeof (struct cref_hash_entry);
450+ }
451+ }
452+ }
453+
454+ objalloc_free_block ((struct objalloc *) cref_table.root.memory,
455+ alloc_mark);
456+ }
457+ else if (act != notice_needed)
458+ return FALSE;
459+
460+ free (old_tab);
461+ old_tab = NULL;
462+ return TRUE;
463+}
464+
465 /* Copy the addresses of the hash table entries into an array. This
466 is called via cref_hash_traverse. We also fill in the demangled
467 name. */
468diff -Naur binutils-2.17/ld/ld.h src/ld/ld.h
469--- binutils-2.17/ld/ld.h 2005-09-30 04:42:04.000000000 -0700
470+++ src/ld/ld.h 2006-07-18 19:37:05.000000000 -0700
471@@ -1,6 +1,6 @@
472 /* ld.h -- general linker header file
473 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
474- 2001, 2002, 2003, 2004, 2005
475+ 2001, 2002, 2003, 2004, 2005, 2006
476 Free Software Foundation, Inc.
477
478 This file is part of GLD, the Gnu Linker.
479@@ -282,6 +282,7 @@
480
481 extern int yyparse (void);
482 extern void add_cref (const char *, bfd *, asection *, bfd_vma);
483+extern bfd_boolean handle_asneeded_cref (bfd *, enum notice_asneeded_action);
484 extern void output_cref (FILE *);
485 extern void check_nocrossrefs (void);
486 extern void ld_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
487diff -Naur binutils-2.17/ld/ldlang.c src/ld/ldlang.c
488--- binutils-2.17/ld/ldlang.c 2006-06-12 06:05:04.000000000 -0700
489+++ src/ld/ldlang.c 2006-07-04 06:29:24.000000000 -0700
490@@ -4207,7 +4207,8 @@
491 /* If a loadable section is using the default memory
492 region, and some non default memory regions were
493 defined, issue an error message. */
494- if (!IGNORE_SECTION (os->bfd_section)
495+ if (!os->ignored
496+ && !IGNORE_SECTION (os->bfd_section)
497 && ! link_info.relocatable
498 && check_regions
499 && strcmp (os->region->name,
500diff -Naur binutils-2.17/ld/ldmain.c src/ld/ldmain.c
501--- binutils-2.17/ld/ldmain.c 2006-04-06 11:52:45.000000000 -0700
502+++ src/ld/ldmain.c 2006-07-18 19:37:05.000000000 -0700
503@@ -1511,6 +1511,13 @@
504 asection *section,
505 bfd_vma value)
506 {
507+ if (name == NULL)
508+ {
509+ if (command_line.cref || nocrossref_list != NULL)
510+ return handle_asneeded_cref (abfd, value);
511+ return TRUE;
512+ }
513+
514 if (! info->notice_all
515 || (info->notice_hash != NULL
516 && bfd_hash_lookup (info->notice_hash, name, FALSE, FALSE) != NULL))
517diff -Naur binutils-2.17/ld/testsuite/ChangeLog src/ld/testsuite/ChangeLog
518--- binutils-2.17/ld/testsuite/ChangeLog 2006-06-12 06:44:33.000000000 -0700
519+++ src/ld/testsuite/ChangeLog 2006-07-12 05:55:21.000000000 -0700
520@@ -1,3 +1,17 @@
521+2006-07-12 Richard Sandiford <richard@codesourcery.com>
522+
523+ * ld-m68k/merge-ok-1c.d: New test.
524+ * ld-m68k/m68k.exp: Run it.
525+
526+2006-07-04 Daniel Jacobowitz <dan@codesourcery.com>
527+
528+ Backport:
529+ 2006-05-19 Alan Modra <amodra@bigpond.net.au>
530+ * ld-scripts/empty-orphan.d: Update again.
531+
532+ * ld-scripts/empty-orphan.t: Discard .reginfo.
533+ * ld-scripts/empty-orphan.d: Update.
534+
535 2006-06-12 Daniel Jacobowitz <dan@codesourcery.com>
536
537 Backport:
538diff -Naur binutils-2.17/ld/testsuite/ld-m68k/m68k.exp src/ld/testsuite/ld-m68k/m68k.exp
539--- binutils-2.17/ld/testsuite/ld-m68k/m68k.exp 2006-03-25 02:24:27.000000000 -0800
540+++ src/ld/testsuite/ld-m68k/m68k.exp 2006-07-12 05:55:21.000000000 -0700
541@@ -53,3 +53,4 @@
542 run_dump_test "merge-error-1e"
543 run_dump_test "merge-ok-1a"
544 run_dump_test "merge-ok-1b"
545+run_dump_test "merge-ok-1c"
546diff -Naur binutils-2.17/ld/testsuite/ld-m68k/merge-ok-1c.d src/ld/testsuite/ld-m68k/merge-ok-1c.d
547--- binutils-2.17/ld/testsuite/ld-m68k/merge-ok-1c.d 1969-12-31 16:00:00.000000000 -0800
548+++ src/ld/testsuite/ld-m68k/merge-ok-1c.d 2006-07-12 05:55:21.000000000 -0700
549@@ -0,0 +1,6 @@
550+#source: merge-error-1a.s -march=cpu32
551+#source: merge-error-1b.s -march=cpu32
552+#ld: -r
553+#objdump: -p
554+#...
555+private flags = 810000: \[cpu32\]
556diff -Naur binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.d src/ld/testsuite/ld-scripts/empty-orphan.d
557--- binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.d 2005-03-17 08:20:39.000000000 -0800
558+++ src/ld/testsuite/ld-scripts/empty-orphan.d 2006-07-04 06:29:24.000000000 -0700
559@@ -1,3 +1,6 @@
560 #source: empty-orphan.s
561 #ld: -T empty-orphan.t
562-#error: no memory region specified for loadable section
563+#readelf: -l --wide
564+#...
565+ +LOAD +[x0-9a-f]+ [x0]+70000000 [x0]+70000000 [x0]+(2|4|8|10|20|40|80) .*
566+#pass
567diff -Naur binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.t src/ld/testsuite/ld-scripts/empty-orphan.t
568--- binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.t 2005-03-17 08:20:39.000000000 -0800
569+++ src/ld/testsuite/ld-scripts/empty-orphan.t 2006-07-04 06:29:24.000000000 -0700
570@@ -17,5 +17,6 @@
571 .text : { *(.text) } > text_mem : text_phdr
572 .data : { *(.data) } > data_mem : data_phdr
573 .bss : { *(.bss) } > data_mem : data_phdr
574+ /DISCARD/ : { *(.reginfo) }
575 /* .orphan_data is an orphan */
576 }
Note: See TracBrowser for help on using the repository browser.