2005-05-06 H.J. Lu <hongjiu.lu@intel.com>
[external/binutils.git] / ld / ChangeLog
1 2005-05-06  H.J. Lu  <hongjiu.lu@intel.com>
2
3         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_init_fini_syms):
4         Put back !link_info.relocatable.
5
6 2005-05-06  H.J. Lu  <hongjiu.lu@intel.com>
7
8         PR 878
9         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_init_fini_syms):
10         Just check link_info.executable.
11
12 2005-05-06  Nick Clifton  <nickc@redhat.com>
13
14         * Update the address and phone number of the FSF organization in
15         the GPL notices in the following files:
16         aclocal.m4, deffile.h, deffilep.y, fdl.texi, ld.h, ldcref.c,
17         ldctor.c, ldctor.h, ldemul.c, ldexp.c, ldexp.h, ldfile.c,
18         ldfile.h, 20ldgram.y, ldint.texinfo, ldlang.c, ldlang.h, ldlex.h,
19         ldlex.l, ldmain.c, ldmain.h, ldmisc.c, ldmisc.h, ldver.c, ldver.h,
20         ldwrite.c, ldwrite.h, lexsup.c, mri.c, mri.h, pe-dll.c, pe-dll.h,
21         sysdep.h, emultempl/aix.em, emultempl/alphaelf.em,
22         emultempl/armcoff.em, emultempl/armelf.em, emultempl/beos.em,
23         emultempl/crxelf.em, emultempl/elf32.em, emultempl/generic.em,
24         emultempl/gld960.em, emultempl/gld960c.em, emultempl/hppaelf.em,
25         emultempl/ia64elf.em, emultempl/irix.em,  emultempl/linux.em,
26         emultempl/lnk960.em, emultempl/m68hc1xelf.em,
27         emultempl/m68kcoff.em, emultempl/m68kelf.em,
28         emultempl/mipsecoff.em, emultempl/mmix-elfnmmo.em,
29         emultempl/mmixelf.em, emultempl/mmo.em, emultempl/needrelax.em,
30         emultempl/pe.em, emultempl/ppc32elf.em, emultempl/ppc64elf.em,
31         emultempl/sh64elf.em, emultempl/sunos.em, emultempl/ticoff.em,
32         emultempl/vanilla.em, emultempl/xtensaelf.em
33
34 2005-05-05  H.J. Lu  <hongjiu.lu@intel.com>
35
36         * scripttempl/elf.sc: Document the usage of __bss_start.
37
38 2005-05-05  Paul Brook  <paul@codesourcery.com>
39
40         * Makefile.am: Add eelf_i386_vxworks.
41         * Makefile.in: Regenerate.
42         * configure.tgt: Make i?86-*-vxworks use targ_emul=elf_i386_vxworks.
43         * emulparams/elf_i386_vxworks.sh: New file.
44         * emulparams/vxworks.sh: New file.
45         * scripttempl/elf.sc: Add DATA_END_SYMBOLS and ETEXT_NAME.
46
47 2005-05-04  H.J. Lu  <hongjiu.lu@intel.com>
48
49         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
50         Call _bfd_elf_provide_section_bound_symbols.
51
52 2005-05-04  Alan Modra  <amodra@bigpond.net.au>
53
54         * ldemul.c: Include bfdlink.h.
55         (ldemul_before_allocation): Assume before_allocation is non-zero.
56         (before_allocation_default): Call strip_excluded_output_sections.
57         * ldlang.c (stripped_excluded_sections): New variable.
58         (lang_add_section): Build input section list for each output
59         section, attached via map_head and map_tail pointers.
60         (strip_excluded_output_sections): Make global.  Traverse the
61         input section lists to find which output sections can go.  Clear
62         link_order pointers and set stripped_excluded_sections.
63         (lang_process): Call strip_excluded_output_sections.
64         * ldlang.h (strip_excluded_output_sections): Declare.
65         * ldwrite.c: Update throuhout for link_order_head -> map_head change.
66         * emultempl/aix.em (before_allocation): Call
67         strip_excluded_output_sections.
68         * emultempl/armcoff.em (before_allocation): Likewise.
69         * emultempl/beos.em (before_allocation): Likewise.
70         * emultempl/linux.em (before_allocation): Likewise.
71         * emultempl/pe.em (before_allocation): Likewise.
72         * emultempl/sunos.em (before_allocation): Likewise.
73         * emultempl/elf32.em (before_allocation): Likewise.  Call
74         bfd_elf_size_dynsym_hash_dynstr too.
75         * emultempl/lnk960.em (lnk960_before_allocation): Delete.
76         (ld_lnk960): Use before_allocation_default.
77
78 2005-05-02  H.J. Lu  <hongjiu.lu@intel.com>
79
80         * emultempl/elf32.em (gld${EMULATION_NAME}_strip_empty_section):
81         Updated for bfd_section_list_remove change.
82         * ldlang.c (lang_insert_orphan): Likewise.
83         (strip_excluded_output_sections): Likewise.
84         (sort_sections_by_lma): New.
85         (lang_check_section_addresses): Sort the sections before
86         checking addresses.
87
88 2005-04-29  Ralf Corsepius <ralf.corsepius@rtems.org>
89
90         * configure.tgt: Add h8300*-*-rtemscoff.
91         Switch h8300*-*-rtems* to elf.
92
93 2005-04-29  Ben Elliston  <bje@au.ibm.com>
94
95         * ldgram.y (lang_memory_region_type): Make static.
96         (ldgram_want_filename): Likewise.
97         * ldemul.c (ld_emulation): Make static.
98         * ldfile.h (ldfile_find_command_file): Remove extern.
99         * ldfile.c (ldfile_find_command_file): Make static.
100         * ldlang.h (unique_section_list): Remove extern declaration.
101         * ldlang.c (unique_section_list): Make static.
102         * mri.h (symbol_truncate): Remove extern declaration.
103         * mri.c (symbol_truncate): Make static.
104         (order, only_load, address, alias): Likewise.
105         (alignment, subalignment): Likewise.
106
107 2005-04-27  H.J. Lu  <hongjiu.lu@intel.com>
108
109         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
110         Use the first SEC_ALLOC section which isn't SEC_READONLY or the
111         last SEC_ALLOC section if such a section doesn't exist.
112
113 2005-04-24  Mark Kettenis  <kettenis@gnu.org>
114
115         * configure.host: Add *-*-openbsd support.
116
117 2005-04-15  Julian Brown  <julian@codesourcery.com>
118
119         * ld.texinfo: Document --use-blx.
120         * emultempl/armelf.em (use_blx): New variable.
121         (arm_elf_create_output_section_statements): Communicate value of
122         use_blx to bfd.
123         (PARSE_AND_LIST_PROLOGUE): Add OPTION_USE_BLX.
124         (PARSE_AND_LIST_OPTIONS): Add --use-blx option.
125         (PARSE_AND_LIST_ARGS_CASES): Add OPTION_USE_BLX case.
126
127 2005-04-14  Alan Modra  <amodra@bigpond.net.au>
128
129         * Makefile.am (NO_WERROR): Define.  Use instead of -Wno-error.
130         * configure.in: Include ../bfd/warning.m4 contents.
131         * Makefile.in: Regenerate.
132         * configure: Regenerate.
133
134 2005-04-12  Alan Modra  <amodra@bigpond.net.au>
135
136         * Makefile.am: Run "make dep-am".
137         (ldgram.o, ldlex.o, deffilep.o): Add -Wno-error to command.
138         * Makefile.in: Regenerate.
139         * config.in: Regenerate.
140
141 2005-04-11  Alan Modra  <amodra@bigpond.net.au>
142
143         * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Ignore
144         as_needed libs that were not needed.
145         (gld${EMULATION_NAME}_check_needed): Likewise.
146
147 2005-04-07  Nick Clifton  <nickc@redhat.com>
148
149         * emultempl/m68kcoff.em: Include ldexp.h and ldlang.h so that
150         ldfile.h can use the lang_input_statement type. 
151
152 2005-04-06  Jakub Jelinek  <jakub@redhat.com>
153
154         * ldlang.c: Formatting.
155         (walk_wild_consider_section): Remember return value from wildcardp.
156         (is_simple_wild): Use strcspn instead of 2 strpbrk calls and strlen.
157         (wild_spec_can_overlap): Use strcspn instead of strpbrk and strlen.
158
159 2005-04-06  Robert O'Callahan  <rocallahan@novell.com>
160
161         * ld.h (lean_section_userdata_type): Remove.
162         (fat_section_userdata_type): Remove file field.
163         (SECTION_USERDATA_SIZE): Remove.
164         * ldlang.c (init_os): Eliminate initialization of unused
165         lean_section_userdata_type.
166
167         * ldlang.h (callback_t, walk_wild_section_handler_t): New
168         typedefs.
169         (struct lang_wild_statement_struct): Add walk_wild_section_handler
170         and handler_data fields.
171         * ldlang.c (callback_t): Removed.
172         (walk_wild_consider_section, walk_wild_section_general,
173         section_iterator_callback, find_section, is_simple_wild,
174         match_simple_wild, walk_wild_section_specs1_wild0,
175         walk_wild_section_specs1_wild1, walk_wild_section_specs2_wild1,
176         walk_wild_section_specs3_wild2, walk_wild_section_specs4_wild2,
177         wild_spec_can_overlap, analyze_walk_wild_section_handler): New
178         functions.
179         (lang_add_wild): Call analyze_walk_wild_section_handler.
180         (walk_wild_section): Renamed to walk_wild_section_general and
181         created a wrapper function.
182         (section_iterator_callback_data): New typedef.
183
184 2005-04-04  Nick Clifton  <nickc@redhat.com>
185
186         * configure.in: Add a check for <unistd.h> providing a prototype
187         for getopt() which is compatible with the one in
188         include/getopt.h.  If so then define HAVE_DECL_GETOPT.
189         * configure: Regenerate.
190         * config.in (HAVE_DECL_GETOPT): Add.
191         * ldemul.c: Include config.h
192         * lexsup.c: Likewise.
193         * emultempl/elf32.sc: Likewise.
194
195 2005-03-29  Alan Modra  <amodra@bigpond.net.au>
196
197         * emultempl/elf32.em (gld${EMULATION_NAME}_layout_sections_again):
198         New function, extracted from static void gld${EMULATION_NAME}_finish.
199         (gld${EMULATION_NAME}_strip_empty_sections): Likewise.
200         (gld${EMULATION_NAME}_provide_init_fini_syms): Likewise.
201         * emultempl/ppc64elf.em: Revert last change.
202         (ppc_layout_sections_again): Use
203         gld${EMULATION_NAME}_layout_sections_again.
204         (ppc_finish): Don't call gld${EMULATION_NAME}_finish.  Instead call
205         gld${EMULATION_NAME}_strip_empty_sections and
206         gld${EMULATION_NAME}_provide_init_fini_syms.
207         * emultempl/hppaelf.em: Similarly.
208
209 2005-03-29  Alan Modra  <amodra@bigpond.net.au>
210
211         * emultempl/ppc64elf.em (need_laying_out): Delete.  Remove all refs.
212         (ppc_finish): Don't call bfd_elf_discard_info.
213         * emultempl/hppaelf.em: Similarly.
214
215 2005-03-24  Nick Clifton  <nickc@redhat.com>
216
217         * po/fr.po: Updated French translation.
218
219 2005-03-23  Mike Frysinger  <vapier@gentoo.org>
220             Nick Clifton  <nickc@redhat.com>
221
222         * configure.host: Accept any C library to accompany a GNU Linux
223         implementation, not just the GNU C library.
224         * configure.tgt: Likewise.
225         * emultempl/elf32.em: Likewise.
226
227 2005-03-22  H.J. Lu  <hongjiu.lu@intel.com>
228
229         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols): New
230         (gld${EMULATION_NAME}_finish): Call
231         gld${EMULATION_NAME}_provide_bound_symbols to provide
232         __preinit_array_start, __preinit_array_end, __init_array_start,
233         __init_array_end, __fini_array_start and __fini_array_end.
234
235         * scripttempl/elf.sc: Don't provide __preinit_array_start,
236         __preinit_array_end, __init_array_start, __init_array_end,
237         __fini_array_start nor __fini_array_end.
238
239 2005-03-23  Alan Modra  <amodra@bigpond.net.au>
240
241         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Set
242         SEC_EXCLUDE on .gnu.warning sections.
243
244 2005-03-22  Alan Modra  <amodra@bigpond.net.au>
245
246         * scripttempl/elf.sc (SBSS): Don't provide sbss start and end syms.
247
248 2005-03-21  Alan Modra  <amodra@bigpond.net.au>
249
250         * emultempl/ppc32elf.em (gld${EMULATION_NAME}_after_allocation): New
251         function.
252         (LDEMUL_AFTER_ALLOCATION): Define.
253
254 2005-03-21  Alan Modra  <amodra@bigpond.net.au>
255
256         * emultempl/ppc64elf.em (ppc_finish): Rename from
257         gld${EMULATION_NAME}_finish.  Call gld${EMULATION_NAME}_finish.
258         (LDEMUL_FINISH): Update.
259         * emultempl/hppaelf.em (hppaelf_finish, LDEMUL_FINISH): Likewise.
260         * emultempl/m68hc1xelf.em (m68hc11elf_finish, LDEMUL_FINISH): Likewise.
261
262 2005-03-18  Julian Brown  <julian@codesourcery.com>
263
264         * scripttempl/armbpapi.sc (.rel.dyn): Add .rel.init_array,
265         .rel.fini_array.
266         (.rela.dyn): Add .rela.init_array, .rela.fini_array.
267         (SECTIONS): Add .rel.other, .rela.other, .reli.other after PLT relocs.
268
269 2005-03-18  H.J. Lu  <hongjiu.lu@intel.com>
270
271         * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Don't set
272         bfd_section when removing unused empty output sections for
273         non-relocatable link.
274
275 2005-03-19  Alan Modra  <amodra@bigpond.net.au>
276
277         * ldlang.c (lang_insert_orphan): Use old section_tail rather than
278         traversing the bfd section list to find pointer to new section.
279
280 2005-03-18  Alan Modra  <amodra@bigpond.net.au>
281
282         * scripttempl/elf.sc: When CREATE_SHLIB, put .sdata2 and .sbss2
283         input sections into .sdata and .sbss output respectively.
284
285 2005-03-16  David Heine  <dlheine@tensilica.com>
286             Bob Wilson  <bob.wilson@acm.org>
287
288         * ldlang.c (IGNORE_SECTION): Remove check for zero size.
289         (lang_check_section_addresses): Ignore zero size sections here.
290
291 2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>
292
293         * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Remove
294         unused empty output sections for non-relocatable link.
295
296         * ld.h (args_type): Remove gc_sections.
297
298         * ldlang.c (lang_mark_used_section): New.
299         (lang_gc_sections): Use link_info.gc_sections instead of
300         command_line.gc_sections.
301         * ldmain.c (main): Likewise.
302         * lexsup.c (parse_args): Likewise.
303         * ldlang.c (lang_process): Call lang_mark_used_section.
304
305         * ldmain.c (main): Initialize link_info.gc_sections to FALSE.
306
307 2005-03-16  Nick Clifton  <nickc@redhat.com>
308             Ben Elliston  <bje@au.ibm.com>
309
310         * configure.in (werror): New switch: Add -Werror to the
311         compiler command line.  Enabled by default.  Disable via
312         --disable-werror.
313         * configure: Regenerate.
314
315 2005-03-16  Alan Modra  <amodra@bigpond.net.au>
316
317         * emulparams/elf32ppclinux.sh (OTHER_READWRITE_SECTION): Delete.
318         (OTHER_RELRO_SECTIONS): Set this instead.
319
320 2005-03-15  Nick Clifton  <nickc@redhat.com>
321
322         * NEWS: Add cutoff for changes in 2.16 release.
323
324 2005-03-15  Mikkel Krautz  <krautz@gmail.com>
325
326         * configure.tgt (x86_64-elf): Add target.
327
328 2005-03-15  Alan Modra  <amodra@bigpond.net.au>
329
330         * po/es.po: Commit new Spanish translation.
331
332 2005-03-14  Alan Modra  <amodra@bigpond.net.au>
333
334         * ldexp.c (exp_fold_tree): Ensure return value is initialized.
335         Tidy etree_assert case.
336
337 2005-03-14  Alan Modra  <amodra@bigpond.net.au>
338
339         * po/tr.po: Commit new Turkish translation.
340
341 2005-03-11  Daniel Jacobowitz  <dan@codesourcery.com>
342
343         * Makefile.am: Remove references to em68klynx.o and esparclynx.o.
344         * Makefile.in: Regenerated.
345         * emulparams/m68klynx.sh, emulparams/sparclynx.sh: Remove.
346
347 2005-03-07  Nick Clifton  <nickc@redhat.com>
348
349         * po/fr.po: Updated translation.
350
351 2005-03-05  Alan Modra  <amodra@bigpond.net.au>
352
353         * po/ld.pot: Regenerate.
354
355 2005-03-02  Jan Beulich  <jbeulich@novell.com>
356
357         * ldmain.c (remove_output): Use unlink_if_ordinary instead of unlink.
358         * pe-dll.c (pe_dll_generate_implib): Likewise.
359
360 2005-02-24  Ben Elliston  <bje@au.ibm.com>
361
362         * ldfile.c: Remove GNU960 conditional code.
363         * emultempl/gld960.em: Likewise.
364         * emultempl/gld960c.em: Likewise.
365         * emultempl/lnk960.em: Likewise.
366
367 2005-02-24  Nick Clifton  <nickc@redhat.com>
368
369         * emultempl/lnk960.em (lnk960_before_parse): Remove redundant
370         empty string from calls to concat.
371
372 2005-02-23  Nick Clifton  <nickc@redhat.com>
373
374         * emultempl/lnk960.em (lnk960_before_parse): Terminate list of
375         arguments passed to concat() with a NULL.
376
377         * emultempl/m68kcoff.em: Include ldexp.h and ldlang.h because they
378         define types needed by ldfile.h
379
380 2005-02-23  Alan Modra  <amodra@bigpond.net.au>
381
382         * pe-dll.c: Warning fixes.
383         * emultempl/sunos.em: Likewise.
384
385 2005-02-22  Daniel Jacobowitz  <dan@codesourcery.com>
386
387         * ldlang.c (section_already_linked): Don't call
388         bfd_section_already_linked for dynamic objects.
389
390 2005-02-22  Alan Modra  <amodra@bigpond.net.au>
391
392         * ldexp.c: Warning fixes.
393         * ldwrite.c: Likewise.
394         * emultempl/elf32.em: Likewise.
395
396 2005-02-21  H.J. Lu  <hongjiu.lu@intel.com>
397
398         * ldlang.c (lang_add_section): Check SEC_TIC54X_BLOCK for TI
399         tic54x input only.
400         (lang_size_sections_1): Check SEC_COFF_SHARED_LIBRARY for COFF
401         and ECOFF output only.
402
403 2005-02-21  Alan Modra  <amodra@bigpond.net.au>
404
405         * config.in: Regenerate.
406         * configure: Regenerate.
407
408 2005-02-17  Zack Weinberg  <zack@codesourcery.com>
409
410         * ldexp.c (assigning_to_dot): New global flag.
411         (fold_name): If assigning_to_dot is true, object immediately to
412         an undefined symbol.
413         (exp_fold_tree): Set and clear assigning_to_dot around the
414         recursive call to exp_fold_tree to process the right-hand side
415         of an assignment to the location counter.
416
417 2005-02-17  Paul Brook  <paul@codesourcery.com>
418
419         * scripttempl/armbpabi.sc: Add dummy name to version block.
420
421 2005-02-17  Alan Modra  <amodra@bigpond.net.au>
422
423         * ldexp.c (new_abs): Init new.str.
424
425 2005-02-15  Mark Mitchell  <mark@codesourcery.com>
426
427         * configure.in (AC_CHECK_FUNCS): Add glob.
428         * configure: Regenerated.
429         * emultempl/elf32.em (<glob.h>): Do not include if HAVE_GLOB is
430         not defined.
431         (gld${EMULATION_NAME}_parse_ld_so_conf_include): Do not use glob
432         if HAVE_GLOB is not defined.
433
434 2005-02-16  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
435
436         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Define
437         lib_path if NATIVE is yes.
438
439 2005-02-16  Alan Modra  <amodra@bigpond.net.au>
440
441         * emultempl/ppc64elf.em (ppc_create_output_section_statements): Make
442         an error creating fake bfd fatal.
443         (ppc_before_allocation): Continue on after errors.
444         (gld${EMULATION_NAME}_finish): Likewise.
445
446 2005-02-15  Nick Clifton  <nickc@redhat.com>
447
448         * ldlex.l (YY_NO_UNPUT): Define so that the yy_unput function is
449         not declared.  It is not used and its presence causes a compile
450         time warning.
451
452 2005-02-11  Zack Weinberg  <zack@codesourcery.com>
453
454         * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed):
455         If st.st_ino is zero, do not treat the library as a duplicate.
456
457 2005-02-10  Jakub Jelinek  <jakub@redhat.com>
458
459         * emultempl/hppaelf.em (hppaelf_create_output_section_statements):
460         Set BFD_LINKER_CREATED on the stubs bfd.
461         * emultempl/ppc64elf.em (ppc_create_output_section_statements):
462         Likewise.
463
464 2005-02-08  Mark Mitchell  <mark@codesourcery.com>
465
466         * scripttempl/armbpabi.sc (VERSION): Make special section symbols
467         local.
468         (Image$$ER_RO$$Base): Define whenever RELOCATING.
469         (Image$$ER_RO$$Limit): Likewise.
470         (SHT$$INIT_ARRAY$$Base): Likewise.
471         (SHT$$INIT_ARRAY$$Limit): Likeise.
472
473 2005-02-10  Ben Elliston  <bje@au.ibm.com>
474
475         * emultempl/beos.em: Remove #if 0 and #if 1 blocks.
476
477 2005-02-08  Richard Sandiford  <rsandifo@redhat.com>
478
479         * configure.tgt (mips64*el-*-linux-gnu*): Define targ_extra_libpath
480         to include o32 and n64 emulations.
481         (mips64*-*-linux-gnu*): Likewise.
482
483 2005-02-08  Hans-Peter Nilsson  <hp@axis.com>
484
485         * ldmain.c (warning_callback, warning_find_reloc): Prepend
486         "warning: " to warning messages.
487
488 2005-02-04  Alan Modra  <amodra@bigpond.net.au>
489
490         * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment): Don't
491         look up symbol for etree_provide here.
492
493 2005-02-02  Daniel Jacobowitz  <dan@codesourcery.com>
494
495         * emulparams/elf32bmip.sh (TEXT_DYNAMIC): Always set.
496
497 2005-02-01  Edward Welbourne  <eddy@opera.com>
498             Nick Clifton  <nickc@redhat.com>
499
500         * ld.texinfo (Source Code Reference): New node describing how to
501         access linker script defined variables from source code.
502
503 2005-02-01  Alan Modra  <amodra@bigpond.net.au>
504
505         * ld.texinfo: Clarify --as-needed operation.
506
507 2005-01-31  Andrew Cagney  <cagney@gnu.org>
508
509         * configure: Regenerate to track ../gettext.m4.
510
511 2005-01-31  Nick Clifton  <nickc@redhat.com>
512
513         * ldver.c (ldversion): Bump reported copyright date to 2005.
514
515 2005-01-31  Nick Clifton  <nickc@redhat.com>
516
517         * configure.tgt: Remove obsolete targets m68k-lynxos and
518         sparc-lynxos.
519
520 2005-01-28  Julian Brown  <julian@codesourcery.com>
521
522         * emultempl/armelf.em (fix_v4bx): New variable.
523         (arm_elf_create_output_section_statements): Communicate fix_v4bx flag
524         value to bfd.
525         (PARSE_AND_LIST_PROLOGUE): Add option token OPTION_FIX_V4BX.
526         (PARSE_AND_LIST_LONGOPTS): Add option --fix-v4bx.
527         (PARSE_AND_LIST_OPTIONS): Add option --fix-v4bx.
528         (PARSE_AND_LIST_ARGS_CASES): Add option OPTION_FIX_V4BX.
529         * NEWS: Mention --fix-v4bx.
530         * ld.texinfo: Document --fix-v4bx.
531
532 2005-01-25  Mark Mitchell  <mark@codesourcery.com>
533
534         * emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS): Define, so
535         as to include .ARM.exidx$${Base,Limit}.
536         * ld/scripttempl/armbpabi.sc: Move .plt to end of text segment.
537         Define IMAGE$$ER_RO$${Base,Limit} and SHT$$INIT_ARRAY$${Base,Limit}.
538         Put .init_array, .fini_array, etc. into the read-only data
539         segment.
540
541 2005-01-25  Alan Modra  <amodra@bigpond.net.au>
542
543         * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Formatting.
544         (gld${EMULATION_NAME}_after_open): Ignore needed libs if they were
545         only needed by an as-needed lib that didn't get linked.
546
547 2005-01-23  Alan Modra  <amodra@bigpond.net.au>
548
549         * ld.texinfo (Output Section Keywords <CONSTRUCTORS>): Correct
550         __DTOR_LIST__ description.
551
552 2005-01-23  Alan Modra  <amodra@bigpond.net.au>
553
554         * ld.texinfo (Location Counter <dot outside sections>): Document
555         effects of orphan section placement, and ". = ." workaround.
556         * Makefile.in: Regenerate.
557
558 2005-01-22  Richard Sandiford  <rsandifo@redhat.com>
559
560         * emulparams/elf32bmip.sh (OTHER_GOT_SECTIONS): Add ". = .;".
561         * emulparams/elf32bmipn32-defs.sh (OTHER_GOT_SECTIONS): Likewise.
562
563 2005-01-21  Jakub Jelinek  <jakub@redhat.com>
564
565         * ldgram.y (AS_NEEDED): New token.
566         (input_list): Handle AS_NEEDED ( input_list ).
567         * ldlex.l (AS_NEEDED): Add.
568         * ld.texinfo: Document AS_NEEDED ().
569         * NEWS: Mention AS_NEEDED ().
570
571 2005-01-21  Ben Elliston  <bje@au.ibm.com>
572
573         * ldlang.c (lang_reasonable_defaults): Remove.
574         (lang_process): Don't call lang_reasonable_defaults.
575
576         * ldexp.c (exp_assop): Remove #if 0'd code.
577         (exp_print_tree): Likewise.
578         * ldlang.c (lang_memory_region_lookup): Likewise.
579         (open_output): Likewise.
580         (lang_do_assignments_1): Likewise.
581         (lang_place_orphans): Likewise.
582         (lang_enter_output_section_statement): Likewise.
583         (lang_reasonable_defaults): Likewise.
584         * ldlang.h (struct lang_input_statement_struct): Likewise.
585         * mri.c (mri_draw_tree): Likewise.
586         (mri_load): Likewise.
587         * pe-dll.c (generate_reloc): Likewise.
588         (make_import_fixup_entry): Likewise.
589         (pe_as16): Likewise.
590         * emultempl/beos.em (set_pe_subsystem): Likewise.
591         * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
592         * emultempl/pe.em: Likewise.
593         * emultempl/xtensaelf.em (xtensa_colocate_literals): Likewise.
594
595 2005-01-20  Daniel Jacobowitz  <dan@codesourcery.com>
596
597         * Makefile.am (ALL_EMULATIONS): Add earmelfb_linux_eabi.o.
598         (earmelfb_linux_eabi.c): New target.
599         * Makefile.in: Regenerated.
600         * configure.tgt (arm*b-*-linux-gnueabi): New target.
601         * emulparams/armelfb_linux_eabi.sh: New file.
602
603 2005-01-20  Nick Hudson  <skrll@netbsd.org>
604
605         PR ld/676
606         * emultempl/hppaelf.em (hppaelf_create_output_section_statements):
607         Handle bfd_elf32_hppa_nbsd_vec.
608
609 2005-01-19  Richard Sandiford  <rsandifo@redhat.com>
610
611         * ldmain.h (ld_sysroot): Change type to a constant string.
612         * ldmain.c (ld_sysroot): Likewise.
613         (get_relative_sysroot, get_sysroot): New functions, adding command-line
614         support for changing the sysroot.
615         (main): Call the new functions.
616         * lexsup.c (OPTION_SYSROOT): New.
617         (ld_options): Add --sysroot.
618         (parse_args): Add a dummy handler for it.
619         * ld.texinfo (--sysroot): Document.
620         * NEWS: Mention the new --sysroot option.
621
622 2005-01-18  Alan Modra  <amodra@bigpond.net.au>
623
624         * ldlang.c (section_already_linked): Adjust bfd_link_just_syms call.
625         (lang_place_orphans): Don't abort on just_syms_flag, instead call
626         bfd_link_just_syms.
627
628 2005-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
629
630         * defilep.y (def_name, def_library): Combine into...
631         (def_image_name): New function.  Strip name to basename,
632         with warning.
633
634 2005-01-12  Mark Kettenis  <kettenis@gnu.org>
635
636         * configure.in: Be sure to invoke config.sub using the shell.
637         * configure: Regenerate.
638
639 2005-01-11  Alan Modra  <amodra@bigpond.net.au>
640
641         * configure.host: Correct sed patterns for last change.
642
643 2005-01-10  Nick Clifton  <nickc@redhat.com>
644
645         PR binutils/609
646         * ldmisc.c (vfinfo): Add an extra argument: is_warning.  Use this
647         to determine whether config.make_executable should be set to FALSE in
648         conjunction with config.fatal_warnings.
649         (info_msg, minfo, lfinof): Pass FALSE as the extra argument.
650         (einfo): Pass TRUE as the extra argument.
651
652 2005-01-10  Greg Schaffer  <gschafer@zip.com.au>
653
654         * configure.host (linux targets): Use "${CC} -dumpspecs" instead
655         of "${CC} --print-file-name=specs" to appease GCC versions >= 4.0.
656         (ia64-*-aix): Delete - this target is obsolete, and would be
657         broken by this patch.
658
659 2005-01-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
660
661         * configure.host (sparc*-*-solaris2*): Rename into sparc-*-solaris2*.
662         (sparc64-sun-solaris2*): New host.
663
664 2005-01-06  Paul Brook  <paul@codesourcery.com>
665
666         * Makefie.am: Add earmelf_vxworks.
667         * Makefile.in: Regenerate.
668         * configure.tgt: Make arm-*-vxworks a separate case.
669         * emulparams/armelf_vxworks.sh: New function.
670
671 2005-01-06  Alan Modra  <amodra@bigpond.net.au>
672
673         * emultempl/ppc64elf.em (no_multi_toc): New var.
674         (gld${EMULATION_NAME}_finish): Pass to ppc64_elf_setup_section_lists.
675         (OPTION_NO_MULTI_TOC): Define.
676         (PARSE_AND_LIST_LONGOPTS): Add --no-multi-toc support.
677         (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise.
678
679 2005-01-05  Nick Clifton  <nickc@redhat.com>
680
681         PR binutils/614
682         * ldmisc.c (vfinfo): Alter output to conform to the GNU Coding
683         Standard's specification for parsable error messages.
684
685 2005-01-04  Paul Brook  <paul@codesourcery.com>
686
687         * Makefile.am: Correct dependency for earmsymbian.c.
688         * Makefile.in: Regenerate.
689
690 2004-12-28  Danny Smith  <dannysmith@users.sourceforge.net>
691
692         * emultempl/pe.em (set_pe_subsystem): Change second arg to
693         lang_add_entry to FALSE.
694
695 2004-12-23  Nick Clifton  <nickc@redhat.com>
696
697         PR 600
698         * emulparams/shelf.sh (.stack): Increase stack start address to
699         0x300000.
700
701 2004-12-20  Nick Clifton  <nickc@redhat.com>
702
703         * ldmain.c (main): Issue an error message if -static and -shared
704         are used together.
705
706 2004-12-17  Jakub Jelinek  <jakub@redhat.com>
707
708         * ldexp.h (exp_data_seg): Add min_base and maxpagesize fields.
709         * ldexp.c (fold_binary) <case DATA_SEGMENT_ALIGN>: Initialize them.
710         * ldlang.c (lang_size_sections): Use them to avoid wasting virtual
711         address space at DATA_SEGMENT_ALIGN.  Fix computation of expected
712         PT_GNU_RELRO segment end.
713
714 2004-12-14  P.J. Darcy  <darcypj@us.ibm.com>
715
716         * configure.tgt: Add s390x-ibm-tpf support.
717
718 2004-12-16  Martin Kögler  <mkoegler@auto.tuwien.ac.at>
719
720         * ldmisc.c (vfinfo): Handle the case where %B is passed a NULL
721         BFD.
722
723 2004-12-07  Ben Elliston  <bje@gnu.org>
724
725         * ldemul.h: Forward declare struct option.
726
727 2004-12-01  Danny Smith  <dannysmith@users.sourceforge.net>
728
729         * scripttempl/pe.sc (.data): Add .jcr subsection.
730
731 2004-11-30  Paul Brook  <paul@codesourcery.com>
732
733         * emultempl/armelf.em: Ignore -p and -no-pipeline-knowledge.
734
735 2004-11-30  Tero Niemela  <tero_niemela@yahoo.com>
736
737         * Makefile.am: Change LOCALEDIR to $(datadir)/share.
738         * Makefile.in: Regenerate.
739
740 2004-11-26  Melissa Mears  <asterisk@graces.dricas.com>
741
742         * emultempl/pe.em: Add --subsystem:xbox as well as
743         --subsystem:%d.
744         * ld.texinfo: (ld_options): Document acceptance of subsystem xbox
745         and numeric subsystems.
746
747 2004-11-24  Alan Modra  <amodra@bigpond.net.au>
748
749         * ldexp.c (fold_name): Correct PR 338 fix.
750
751 2004-11-19  Mark Mitchell  <mark@codesourcery.com>
752
753         * Makefile.am (ALL_EMULATIONS): Add earmelf_linux_eabi.o.
754         (earmelf_linux_eabi.c): New target.
755         * configure.tgt (arm*-*-linux-gnueabi): Handle it.
756         * emulparams/armelf_linux_eabi.sh: New file.
757         * Makefile.in: Regenerated.
758
759 2004-11-19  Nick Clifton  <nickc@redhat.com>
760
761         PR 518
762         * ld.texinfo (MEMORY): Update the descriptions of the ORIGIN and
763         LENGTH fields in the MEMORY command, to explicitly state that
764         symbols cannot be used in their expressions.
765
766 2004-11-19  Jon Beniston <jon@beniston.com>
767
768         * ld/ldlex.l: Allow ORIGIN and LENGTH in EXPRESSION.
769         * ld/ldgram.y: Add ORIGIN and LENGTH expressions.
770         * ld/ldexp.c (fold_name): Implement LENGTH() and ORIGIN() functions
771         which return the length and origin of a memory.
772         * ld/ld.texinfo: Document LENGTH() and ORIGIN() functions.
773         * NEWS: Mention support for ORIGIN and LENGTH operators.
774
775 2004-11-17  Daniel Jacobowitz  <dan@codesourcery.com>
776
777         * emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Don't use
778         a dynamic object for stubs.
779
780 2004-11-04  Paul Brook  <paul@codesourcery.com>
781
782         * ld.texinfo: Document --default-imported-symver.
783         * ldmain.c (main): Set link_info.default_imported_symver.
784         * lexsup.c (option_values): Add OPTION_DEFAULT_IMPORTED_SYMVER.
785         (ld_options): Add --default-imported-symver.
786         (parse_args): Handle OPTION_DEFAULT_IMPORTED_SYMVER.
787
788 2004-11-08  Inderpreet Singh   <inderpreetb@nioda.hcltech.com>
789             Vineet Sharma      <vineets@noida.hcltech.com>
790
791         * Makefile.am: Add entries for new maxq-coff target.
792         * Makefile.in: Regenerate.
793         * configure.tgt: Add support for maxq.
794         * emulparams/maxqcoff.sh: New File.
795         * scripttempl/maxqcoff.sc: New linker script for target maxq.
796         * NEWS: Mention the new target.
797
798 2004-11-04  Daniel Jacobowitz  <dan@debian.org>
799
800         * Makefile.am (ALL_EMULATIONS): Remove earmelf_oabi.o.
801         (earmelf_oabi.c): Remove rule.
802         * configure.tgt: Remove arm-*-oabi and thumb-*-oabi.
803         * emulparams/armelf_oabi.sh, emultempl/armelf_oabi.em: Delete files.
804         * Makefile.in: Regenerated.
805
806 2004-11-04  Hans-Peter Nilsson  <hp@axis.com>
807
808         * configure.tgt (crisv32-*-*): Handle like cris-*-* for non-aout.
809         * emulparams/criself.sh (INIT_START): Remove emitted "push srp".
810         (FINI_START): Ditto.
811         (INIT_END): Remove emitted "jump [sp+]".
812         (FINI_END): Ditto.
813
814 2004-11-04  Alan Modra  <amodra@bigpond.net.au>
815
816         * emultempl/ppc64elf.em (no_tls_opt): Rename from notlsopt.
817         (no_opd_opt, no_toc_opt): New static vars.
818         (ppc_before_allocation): Don't edit opt if no_opd_opt.  Call
819         ppc64_elf_edit_toc.
820         (OPTION_NO_OPD_OPT, OPTION_NO_TOC_OPT): Define.
821         (PARSE_AND_LIST_LONGOPTS): Add no-opd-optimize and no-toc-optimize.
822         (PARSE_AND_LIST_OPTIONS): Describe new options.
823         (PARSE_AND_LIST_ARGS_CASES): Handle them.
824
825 2004-10-27  Nick Clifton  <nickc@redhat.com>
826
827         * emultempl/alphaelf.em (alpha_after_parse): Add extra, NULL,
828         parameter to invocation of lang_section_start.
829         * emultempl/aix.em (_handle_option): Likewise.
830
831         * Makefile.am (eelf64alpha.c, eelf64alpha_fbsd.c,
832         eelf64alpha_nbsd.c): Add dependency upon emultempl/alphaelf.em.
833         * Makefile.in: Regenerate.
834
835 2004-10-26  Mark Mitchell  <mark@codesourcery.com>
836
837         * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Do not emit
838         __exidx_{start,end} when not relocating.
839
840 2004-10-25  Mark Mitchell  <mark@codesourcery.com>
841
842         * Makefile.in (earmsymbian.c): Depend on armbpabi.sc, not elf.sc.
843         * ldexp.h (segment_type): New type.
844         (segments): New variable.
845         * ldexp.c (segments): New variable.
846         (exp_print_token): Handle SEGMENT_START.
847         (fold_binary): Likewise.
848         * ldgram.y (SEGMENT_START): Declare it as a token.
849         (exp): Handle SEGMENT_START.
850         * ldlang.h (lang_address_statement_type): Add segment field.
851         (lang_section_start): Change prototype.
852         * ldlang.c (map_input_to_output_sections): Do not process section
853         assignments if a corresponding SEGMENT_START has already been
854         seen.
855         (lang_section_start): Add segment parameter.
856         * ldlex.l (SEGMENT_START): Add it.
857         * lexsup.c (seg_segment_start): New function.
858         (parse_args): Use it for -Tbss, -Tdata, and -Ttext.
859         * ld.texinfo (SEGMENT_START): Document it.
860         * emulparams/armsymbian.sh (EMBEDDED): Set it.
861         * scripttempl/armbpabi.sc: Use SEGMENT_START to control segment
862         base addresses.  Do not map relocations.
863         * NEWS: Mention SEGMENT_START.
864
865 2004-10-26  Paul Brook  <paul@codesourcery.com>
866
867         * ld.texinfo: Document --default-symver.
868         * ldmain.c (main): Set link_info.create_default_symver.
869         * lexsup.c (enum option_values): Add OPTION_DEFAULT_SYMVER.
870         (ld_options): Add default-symver.
871         (parse_args): Handle OPTION_DEFAULT_SYMVER.
872
873 2004-10-24 Danny Smith  <dannysmith@users.sourceforge.net>
874
875         * pe-dll.c (process_def_file): Don't export all symbols by default if
876         building a position-independent executable.
877
878 2004-10-21  H.J. Lu  <hongjiu.lu@intel.com>
879
880         PR 463
881         * ldmain.c (reloc_overflow): Accept a pointer to struct
882         bfd_link_hash_entry. Report symbol location for relocation
883         overflow.
884
885 2004-10-21  H.J. Lu  <hongjiu.lu@intel.com>
886
887         * genscripts.sh (libpath.exp): Really generate for first
888         emulation only.
889
890 2004-10-19  Danny Smith  <dannysmith@users.sourceforge.net>
891
892         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Simplify
893         comparison and replacement of filenames.
894
895 2004-10-19  H.J. Lu  <hongjiu.lu@intel.com>
896
897         PR 459
898         * ldlang.c (load_symbols): Use the same -Bdynamic/-Bstatic
899         option on linker script as the one for linker script.
900
901 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
902
903         * ldlang.c (struct excluded_lib, excluded_libs, add_excluded_libs)
904         (check_excluded_libs): New.
905         (load_symbols): Call check_excluded_libs.
906         * ldlang.h (add_excluded_libs): New prototype.
907         * emultempl/elf32.em (OPTION_EXCLUDED_LIBS): Define.
908         (gld${EMULATION_NAME}_add_options): Add --exclude-libs.
909         (gld${EMULATION_NAME}_handle_option): Handle --exclude-libs.
910         * ld.texinfo (Command Line Variables): Document --exclude-libs.
911         (Options Specific to i386 PE Targets): Remove --exclude-libs.
912
913 2004-10-15  Alan Modra  <amodra@bigpond.net.au>
914
915         * ldexp.c (exp_fold_tree): Don't immediately exit ld on a
916         failing link script assert.
917
918         * ldctor.c (ldctor_add_set_entry): Fix comment typo.
919
920 2004-10-14  H.J. Lu  <hongjiu.lu@intel.com>
921
922         PR 445
923         * emulparams/elf64_ia64.sh (SMALL_DATA_CTOR): Set.
924         (SMALL_DATA_DTOR): Set.
925         * emulparams/elf64_ia64_fbsd.sh (SMALL_DATA_CTOR): Unset.
926         (SMALL_DATA_DTOR): Unset.
927         * scripttempl/elf.sc: If SMALL_DATA_CTOR is set, move .ctors
928         after .data. If SMALL_DATA_DTOR is set, move .dtors after
929         .data.
930
931 2004-10-14  Alan Modra  <amodra@bigpond.net.au>
932
933         PR 63
934         * ldlang.h (lang_output_section_statement_type): Make "next" a
935         struct lang_output_section_statement_struct *.
936         (struct orphan_save): Move from elf32.em.  Add "name" and "flags".
937         (lang_output_section_find_by_flags, lang_insert_orphan): Declare.
938         * ldlang.c (lang_output_section_find_1): Adjust for changed
939         output_section_statement "next".
940         (strip_excluded_output_sections): Likewise.
941         (lang_record_phdrs): Likewise.
942         (lang_output_section_find_by_flags): New function.
943         (output_prev_sec_find): Move from pe.em.  Adjust iterator.
944         (lang_insert_orphan): New function.  Tail end of elf32.em's
945         place_orphan merged with that from pe.em.  Allow bfd_section to
946         be placed first.  New heuristic for placing new output section
947         statement in existing script, and accompanying split of __start
948         symbol alignment into a separate assignment to dot.
949         (lang_add_section): Consistently use output->bfd_section rather than
950         an alias, section->output_section.
951         (map_input_to_output_sections): Rename overly long arg.  Move
952         initialization of data_statement output section to here..
953         (lang_check_section_addresses): ..from here.
954         (print_assignment): Correct printing of etree_assert.
955         (print_all_symbols): Don't bomb if userdata is NULL.
956         (IGNORE_SECTION): Rearrange.
957         * emultempl/elf32.em (output_rel_find): Adjust interator.
958         (output_prev_sec_find): Delete.
959         (struct orphan_save): Delete.
960         (gld${EMULATION_NAME}_place_orphan): Cater for zero bfd_section
961         flags without creating a duplicate output section statement.
962         Revise code holding history of various orphan section placements.
963         Allow orphan sections to place before script specified output
964         sections.  Call lang_output_section_find_by_flags when placement
965         by name fails.  Use lang_insert_orphan.
966         * emultempl/mmo.em (output_prev_sec_find): Delete.
967         (struct orphan_save): Delete.
968         (mmo_place_orphan): Revise code holding history of orphan placement.
969         Allow orphans to place before existing output sections.  Use
970         lang_insert_orphan.
971         * emultempl/pe.em (output_prev_sec_find): Delete.
972         (struct orphan_save): Delete.
973         (gld_${EMULATION_NAME}_place_orphan): Revise to suit use of
974         lang_insert_orphan.
975
976 2004-10-13  Mark Mitchell  <mark@codesourcery.com>
977
978         * scripttempl/armbpabi.sc: Do not put .gnu.version.* into a
979         loadable segment.
980
981 2004-10-13  Alan Modra  <amodra@bigpond.net.au>
982
983         PR 44
984         * ldcref.c (check_section_sym_xref): Delete.
985         (check_local_sym_xref): New function.
986         (check_nocrossrefs): Adjust call.
987         * emultempl/pe.em (struct orphan_save): Add os_tail.
988         (place_orphan): Backport assorted fixes from elf32.em.
989
990 2004-10-12  Bob Wilson  <bob.wilson@acm.org>
991
992         * emultempl/xtensaelf.em: Use ISO C90 formatting.
993
994 2004-10-11  Jakub Jelinek  <jakub@redhat.com>
995
996         * emultempl/elf32.em (gld${EMULATION_NAME}_parse_ld_so_conf): Avoid
997         getline for portability.
998
999         * emultempl/elf32.em (gld${EMULATION_NAME}_ld_so_conf): New structure.
1000         (gld${EMULATION_NAME}_parse_ld_so_conf,
1001         gld${EMULATION_NAME}_parse_ld_so_conf_include): New functions.
1002         (gld${EMULATION_NAME}_check_ld_so_conf): Use them.
1003
1004 2004-10-11  Alan Modra  <amodra@bigpond.net.au>
1005
1006         PR 423
1007         * ldfile.c (ldfile_try_open_bfd): Ensure dynamic objects are
1008         rejected when linking statically.
1009
1010 2004-10-08  Daniel Jacobowitz  <dan@debian.org>
1011
1012         * configure.tgt: Include elf_x86_64 for i[3-7]86-*-solaris2*.
1013
1014 2004-10-07  Bob Wilson  <bob.wilson@acm.org>
1015
1016         * ld.texinfo (Xtensa): Describe new linker relaxation to optimize
1017         assembler-generated longcall sequences.  Describe new --size-opt
1018         option.
1019         * emulparams/elf32xtensa.sh (OTHER_SECTIONS): Add .xt.prop section.
1020         * emultempl/xtensaelf.em (remove_section,
1021         replace_insn_sec_with_prop_sec, replace_instruction_table_sections,
1022         elf_xtensa_after_open): New.
1023         (OPTION_OPT_SIZEOPT, OPTION_LITERAL_MOVEMENT,
1024         OPTION_NO_LITERAL_MOVEMENT): Define.
1025         (elf32xtensa_size_opt, elf32xtensa_no_literal_movement): New globals.
1026         (PARSE_AND_LIST_LONGOPTS): Add size-opt and [no-]literal-movement.
1027         (PARSE_AND_LIST_OPTIONS): Add --size-opt.
1028         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_OPT_SIZEOPT,
1029         OPTION_LITERAL_MOVEMENT, and OPTION_NO_LITERAL_MOVEMENT.
1030         (LDEMUL_AFTER_OPEN): Set to elf_xtensa_after_open.
1031         * scripttempl/elfxtensa.sc: Update with changes from elf.sc.
1032         * Makefile.am (eelf32xtensa.c): Update dependencies.
1033         * Makefile.in: Regenerate.
1034
1035 2004-10-07  Jeff Baker  <jbaker@qnx.com>
1036
1037         * lexsup.c: Handle --warn-shared-textrel option.
1038         (ld_options): Restore alpha sorting of options.
1039         * ldmain.c (main): Initialise warn_shared_info field to FALSE.
1040         * ld.texinfo: Add documentation for --warn-shared-textrel.
1041         * NEWS: Added mention of --warn-shared-textrel option.
1042
1043 2004-10-05  Tomer Levi  <Tomer.Levi@nsc.com>
1044
1045         * emultempl/crxelf.em (disable_relaxation): Add.
1046         (crxelf_before_allocation): Enable --relax option by default.
1047         (PARSE_AND_LIST_PROLOGUE): Add OPTION_NO_RELAX.
1048         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --no-relax.
1049         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_NO_RELAX.
1050
1051 2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>
1052
1053         * NEWS: Mention SORT_BY_NAME, SORT_BY_ALIGNMENT and
1054         --sort-section name|alignment.
1055
1056         * ld.texinfo: Document SORT_BY_NAME, SORT_BY_ALIGNMENT and
1057         --sort-section name|alignment.
1058
1059         * ld.h (sort_type): New enum.
1060         (wildcard_spec): Change the type of `sorted' to sort_type.
1061
1062         * ldgram.y (SORT): Removed.
1063         (SORT_BY_NAME): Added.
1064         (SORT_BY_ALIGNMENT): Added.
1065         (wildcard_spec): Updated `sorted'. Handle SORT_BY_NAME and
1066         SORT_BY_ALIGNMENT.
1067         (input_section_spec_no_keep): Updated `sorted'.
1068         (statement): Replace SORT with SORT_BY_NAME.
1069
1070         * ldlang.c (compare_section): New function to compare 2
1071         sections with different sorting schemes.
1072         (wild_sort): Updated. Use compare_section.
1073         (update_wild_statements): New function.
1074         (lang_process): Call update_wild_statements before
1075         map_input_to_output_sections.
1076
1077         * ldlex.l (SORT_BY_NAME): New.
1078         (SORT_BY_ALIGNMENT): New.
1079         (SORT): Return SORT_BY_NAME.
1080
1081         * ldmain.c (sort_section): New. Defined.
1082         (main): Initialize it to none.
1083
1084         * lexsup.c (option_values): Add OPTION_SORT_SECTION.
1085         (ld_options): Add an entry for OPTION_SORT_SECTION.
1086         (parse_args): Handle OPTION_SORT_SECTION.
1087
1088         * mri.c (mri_draw_tree): Updated `sorted'.
1089
1090 2004-10-04  Jakub Jelinek  <jakub@redhat.com>
1091
1092         * ldgram.y (DATA_SEGMENT_RELRO_END): Add one argument.
1093         * scripttempl/elf.sc (DATA_SEGMENT_RELRO_END): Add 0 as first
1094         argument.
1095         (DATA_SEGMENT_RELRO_GOTPLT_END): Pass $SEPARATE_GOTPLT as first
1096         and . as second argument.
1097         (GOTPLT): Move $DATA_SEGMENT_RELRO_GOTPLT_END before the section.
1098         * ldexp.c (fold_unary): Remove DATA_SEGMENT_RELRO_END handling here.
1099         (fold_binary): Add it here.  Insert padding to make relro_end
1100         COMMONPAGESIZE bytes aligned.  For DATA_SEGMENT_ALIGN in
1101         exp_dataseg_relro_adjust phase just use previously computed
1102         exp_data_seg.base.
1103         * ldlang.c (lang_size_sections): Set exp_data_seg.base for
1104         relro_adjust here.  Call lang_size_sections_1 once more if there
1105         was too big padding at DATA_SEGMENT_RELRO_END.
1106         * ld.texinfo (DATA_SEGMENT_RELRO_END): Add documentation.
1107
1108 2004-10-01  Paul Brook  <paul@codesourcery.com>
1109
1110         * emulparams/armelf.sh: Add unwinding table sections.
1111
1112 2004-09-30  Filip Navara  <navaraf@reactos.com>
1113
1114         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Generate
1115         correct base address for position independant executables.
1116         * pe-dll.c (pe_dll_fill_sections): Don't mark position independant
1117         executables as DLLs.
1118
1119 2004-09-30  Paul Brook  <paul@codesourcery.com>
1120
1121         * ld.texinfo: Document --target2=abs.
1122         * emulparms/armsymbian.sh (TARGET2_TYPE): Set.
1123
1124 2004-09-29  Nick Clifton  <nickc@redhat.com>
1125
1126         * scripttempl/xstormy16.sc: Only perform the assignments to the
1127         ROM region when not performing a relocatable link.  The ROM region
1128         does not start at address 0, but the sections will.
1129         * Makefile.am: Fix linker script dependency for the generation of
1130         eelf32xstormy16.c.
1131         * Makefile.in: Regenerate.
1132
1133 2004-09-18  Filip Navara  <navaraf@reactos.com>
1134
1135         * emulparams/arm_epoc_pe.sh, emulparams/armpe.sh, emulparams/i386pe.sh,
1136         emulparams/i386pe_posix.sh, emulparams/mcorepe.sh,
1137         emulparams/mipspe.sh, emulparams/ppcpe.sh, scripttempl/pe.sc: Define
1138         TARGET_PAGE_SIZE.
1139         * scripttempl/pe.sc: Make the virtual address and file offset synced if
1140         the alignment is lower than the target page size.
1141
1142 2004-09-27  Filip Navara  <navaraf@reactos.com>
1143
1144         * emultempl/pe.em (gld_${EMULATION_NAME}_unrecognized_file): Allow
1145         def_file_parse to handle pe_def_file if NULL and prevent crash with
1146         invalid .def files.
1147
1148 2004-09-27  Alan Modra  <amodra@bigpond.net.au>
1149
1150         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Enable
1151         --emit-stub-syms automatically when --emit-relocs.
1152
1153 2004-09-24  Paul Brook  <paul@codeosurcery.com>
1154
1155         * scripttempl/elf.sc: Keep .preinit_array, .init_array and
1156         .fini_array sections.
1157
1158 2004-09-19  Andreas Schwab  <schwab@suse.de>
1159
1160         * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Adjust data segment
1161         base so that relro end is suitably aligned.
1162
1163 2004-09-17  Paul Brook  <paul@codesourcery.com>
1164
1165         * ld.texinfo: Rename arm-specific section.  Document --target*
1166         * emulparams/armelf_fbsd.sh: Set TARGET2_TYPE.
1167         * emulparams/armelf_linux.sh: Ditto.
1168         * emulparams/armelf_nbsd.sh: Ditto.
1169         * emultempl/armelf.em: Set default for TARGET2_TYPE.
1170         (target2_type): New variable.
1171         (arm_elf_before_allocation): Don't pass target1_type.
1172         (arm_elf_create_output_section_statements): New function.
1173         (PARSE_AND_LIST_PROLOGUE): Add OPTION_TARGET2.
1174         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --target=.
1175         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_TARGET2.
1176         (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Set.
1177         * emultempl/armelf_oabi.em (_before_allocation): Remove extra
1178         argument to bfd_elf32_arm_process_before_allocation.
1179
1180 2004-09-17  Alan Modra  <amodra@bigpond.net.au>
1181
1182         * ldexp.c (fold_name): Update u.undef.next refs.
1183         * emultempl/pe.em: Likewise.
1184         * emultempl/sunos.em: Likewise.
1185
1186 2004-09-17  Alan Modra  <amodra@bigpond.net.au>
1187
1188         * Makefile.am: Run "make dep-am".
1189         * Makefile.in: Regenerate.
1190         * config.in: Regenerate.
1191         * configure: Regenerate.
1192         * aclocal.m4: Regenerate.
1193         * po/ld.pot: Regenerate.
1194
1195 2004-09-16  Tomer Levi  <Tomer.Levi@nsc.com>
1196
1197         * scripttempl/elf32crx.sc (.init): Add KEEP for section's *personality*.
1198         (.fini): Likewise.
1199         (.jcr): Likewise.
1200
1201 2004-09-16  Alan Modra  <amodra@bigpond.net.au>
1202
1203         * emultempl/armelf_oabi.em (before_allocation): Add extra zero param
1204         to bfd_elf32_arm_process_before_allocation call.
1205
1206 2004-09-13  Paul Brook  <paul@codesourcery.com>
1207
1208         * emulparams/armsymbian.sh: Set TARGET1_IS_REL.
1209         * emultempl/armelf.em: Use TARGET1_IS_REL.  Add --target1-{rel,abs}.
1210
1211 2004-09-07  H.J. Lu  <hongjiu.lu@intel.com>
1212
1213         * configure: Regenerated with autconfig 2.13.
1214
1215 2004-09-07  Andreas Schwab  <schwab@suse.de>
1216
1217         * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Apply data segment
1218         alignment before adjusting DATA_SEGMENT_RELRO_END.
1219
1220 2004-09-06  Mark Mitchell  <mark@codesourcery.com>
1221
1222         * emulparams/armsymbian.sh: Use armbpabi script.
1223         * scripttempl/armbpabi.sc: New script.
1224
1225 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
1226
1227         * Makefile.am (ALL_EMULATIONS): Add earmsymbian.o.
1228         (earmsymbian.c): New target.
1229         * configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*.
1230         * Makefile.in: Regenerated.
1231         * aclocal.m4: Likewise.
1232         * configure: Likewise.
1233         * emulparams/armsymbian.sh: New file.
1234
1235 2004-09-03  Tomer Levi  <Tomer.Levi@nsc.com>
1236
1237         * scripttempl/elf32crx.sc: Edit file with comments.
1238         (.init): Add new section.
1239         (.fini): Likewise.
1240         (.ctor): Control the linkage order.
1241         (.dtor): Likewise.
1242
1243 2004-08-27  Nick Clifton  <nickc@redhat.com>
1244
1245         * emultempl/pe.em (after_open): Do not assume that either bfd is
1246         an archive.
1247
1248 2004-08-26  Alan Modra  <amodra@bigpond.net.au>
1249
1250         * ldlang.c (lang_init): Don't compare with TRUE.
1251
1252 2004-08-25  Dmitry Diky  <diwil@spec.ru>
1253
1254         * emulparams/msp430all.sh: Fix RAM sizes for all targets.
1255         * scripttempl/elf32msp430.sc: Add .profiler section definition.
1256
1257 2004-08-24  H.J. Lu  <hongjiu.lu@intel.com>
1258
1259         * ldlang.c (wildcardp): Defined as a macro with strpbrk.
1260
1261 2004-08-19  Mark Mitchell  <mark@codesourcery.com>
1262
1263         * configure.tgt (arm*-*-symbianelf*): New target.
1264         (arm*-*-eabi*): Likewise.
1265
1266 2004-08-19  Jakub Jelinek  <jakub@redhat.com>
1267
1268         * emultempl/ppc64elf.em (non_overlapping_opd): New variable.
1269         (ppc_before_allocation): Pass it to ppc64_elf_edit_opd).
1270         (OPTION_NON_OVERLAPPING_OPD): Define.
1271         (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Add
1272         --non-overlapping-opd option.
1273
1274 2004-08-18  Alan Modra  <amodra@bigpond.net.au>
1275
1276         PR 338
1277         * ldexp.c (fold_name): Don't call bfd_link_add_undef if the symbol
1278         was already on the undefs list.
1279
1280 2004-08-17  Alan Modra  <amodra@bigpond.net.au>
1281
1282         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Dot
1283         prefix the symbol field too.
1284
1285 2004-08-13  Alan Modra  <amodra@bigpond.net.au>
1286
1287         * ldmain.c (link_callbacks): Remove "error_handler".
1288         * ldmisc.c: Include elf-bfd.h.
1289         (vfinfo): Sort comment.  Handle %A.  Use %A instead of
1290         bfd_get_section_indent.
1291         (error_handler): Delete.
1292         * ldmisc.h (error_handler): Delete declaration.
1293
1294 2004-08-10  Alan Modra  <amodra@bigpond.net.au>
1295
1296         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Call
1297         ppc64_elf_restore_symbols.
1298
1299 2004-08-09  Alan Modra  <amodra@bigpond.net.au>
1300
1301         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Error if
1302         .toc is too large on relocatable linking.
1303
1304 2004-08-09  Alan Modra  <amodra@bigpond.net.au>
1305
1306         * emultempl/ppc64elf.em (ppc_after_open): Delete.
1307         (LDEMUL_AFTER_OPEN): Don't define.
1308
1309 2004-08-02  Stephane Carrez  <stcarrez@nerim.fr>
1310
1311         * ld.texinfo (Top): Document specific options of 68HC11 and 68HC12.
1312
1313 2004-08-01  Stephane Carrez  <stcarrez@nerim.fr>
1314
1315         * scripttempl/elfm68hc12.sc: Align text, rodata and data section
1316         on power of 2.
1317
1318 2004-07-27  Jason Thorpe  <thorpej@wasabisystems.com>
1319
1320         * emulparams/hppanbsd.sh (OUTPUT_FORMAT): Set to "elf32-hppa-netbsd".
1321
1322 2004-07-26  Dmitry Diky  <diwil@spec.ru>
1323
1324         * Makefile.am: Add new subtargets: msp430x1610, msp430x1611,
1325         msp430x1612, msp430x415, msp430x417, msp430xG437, msp430xG438,
1326         msp430xG439.
1327         * configure.tgt: Likewise.
1328         * emulparams/msp430all.sh: Likewise.
1329         * Makefile.in: Regenerate.
1330
1331 2004-07-23  Nick Clifton  <nickc@redhat.com>
1332
1333         * emultempl/elf32.em (_place_orphan): Use an already existing
1334         section name if that section does not have any flags set.
1335
1336 2004-07-21  H.J. Lu  <hongjiu.lu@intel.com>
1337
1338         * ldlang.c (already_linked_hash_entry): Removed.
1339         (already_linked): Likewise.
1340         (already_linked_table): Likewise.
1341         (section_already_linked): Call bfd_section_already_linked.
1342         (lang_process): Replace already_linked_table_init with
1343         bfd_section_already_linked_table_init and check return. Replace
1344         already_linked_table_free with bfd_section_already_linked_table_free.
1345
1346 2004-07-21  Nick Clifton  <nickc@redhat.com>
1347
1348         * ldlang.c (init_os): Make sure that the newly allocated userdata
1349         structure is zeroed out.
1350
1351 2004-07-19  H.J. Lu  <hongjiu.lu@intel.com>
1352
1353         * NEWS: Mention the new --add-needed/--no-add-needed and
1354         --as-needed/--no-as-needed options.
1355
1356 2004-07-19  H.J. Lu  <hongjiu.lu@intel.com>
1357
1358         * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): Also
1359         check the add_needed field.
1360         (dt_needed): New struct.
1361         (gld${EMULATION_NAME}_try_needed): Change the first argument
1362         to a pointer to struct dt_needed. Check the DYN_NO_ADD_NEEDED
1363         bit in the file where the DT_NEEDED entry comes from.
1364         (gld${EMULATION_NAME}_search_needed): Change the second
1365         argument to a pointer to struct dt_needed.
1366         (gld${EMULATION_NAME}_check_ld_so_conf): Updated.
1367         (gld${EMULATION_NAME}_after_open): Likewise.
1368
1369         * ld.texinfo: Add --add-needed document.
1370         * ldlang.c (new_afile): Set p->add_needed.
1371         * ldlang.h (lang_input_statement_type): Add add_needed field.
1372         * ldmain.h (add_needed): Declare.
1373         * ldmain.c (add_needed): New global var.
1374         * lexsup.c (option_values): Add OPTION_ADD_NEEDED and
1375         OPTION_NO_ADD_NEEDED.
1376         (ld_options): Likewise.
1377         (parse_args): Handle them.
1378
1379 2004-07-13  Christof Petig  <christof@petig-baender.de>
1380
1381         * emultempl/pe.em (make_import_fixup): Use bfd_get_32 to correct
1382         for endian-ness of extracted addend.
1383
1384 2004-07-13  Danny Smith  <dannysmith@usesr.sourceforge.net>
1385
1386         * pe-dll.c (auto_export):  Filter on just the import prefix,
1387         "_imp_", not "_imp__".
1388
1389 2004-07-09  Nick Clifton  <nickc@redhat.com>
1390
1391         * configure.tgt: Change sh-sybmian-elf to sh-*-symbianelf.
1392
1393 2004-07-06  Tomer Levi  <Tomer.Levi@nsc.com>
1394
1395         * Makefile.am (ALL_EMULATIONS): Add eelf32crx.o.
1396         (eelf32crx.c): New target.
1397         * Makefile.in: Regenerate.
1398         * configure.tgt: Handle crx-*-elf*.
1399         * emulparams/elf32crx.sh: New file.
1400         * emultempl/crxelf.em: New file.
1401         * scripttempl/elf32crx.sc: New file.
1402         * NEWS: Mention new target.
1403
1404 2004-07-06  Nick Clifton  <nickc@redhat.com>
1405
1406         * Makefile.am: Add eshlsymbian.c.
1407         * Makefile.in: Regenerate.
1408         * configure.tgt: Add sh*-symbian-elf target.
1409         * emulparams/shlsymbian.sh: New file.  Configure the
1410         sh-symbian-elf linker scripts.
1411         * scripttemp/elf32sh-symbian.sc: New file.  Linker script
1412         template for the sh-symbian-elf target.
1413
1414 2004-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1415
1416         * emulparams/hppa64linux.sh: Define PLT_BEFORE_GOT.
1417         * emulparams/hppalinux.sh: Likewise.
1418         * scripttempl/elf.sc: Place .plt just before .got when .plt is in
1419         data segment and PLT_BEFORE_GOT is defined.
1420
1421 2004-07-03  Aaron W. LaFramboise  <aaron98wiridge9@aaronwl.com>
1422
1423         * ld.texinfo (WIN32): Document PE weak symbols.
1424
1425 2004-07-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1426
1427         * emulparams/shlelf32_linux.sh (COMMONPAGESIZE): Set to 4KB.
1428
1429 2004-07-01  H.J. Lu  <hongjiu.lu@intel.com>
1430
1431         * ldmisc.c (vfinfo): Call bfd_get_section_ident to identify
1432         the section.
1433
1434 2004-06-29  Alan Modra  <amodra@bigpond.net.au>
1435
1436         * ldlang.c (lang_reset_memory_regions): Save last relax pass section
1437         size in rawsize.
1438
1439 2004-06-24  Alan Modra  <amodra@bigpond.net.au>
1440
1441         * ldlang.c (print_output_section_statement): Don't print size before
1442         relaxation.
1443         (IGNORE_SECTION): Remove bfd arg.  Update all callers.
1444
1445         * ldexp.c (fold_name): .. See below.
1446         * ldlang.c (section_already_linked, print_output_section_statement,
1447         print_input_section, insert_pad, size_input_section,
1448         lang_check_section_addresses, lang_size_sections_1,
1449         lang_size_sections, lang_do_assignments_1, lang_set_startof,
1450         lang_one_common, lang_reset_memory_regions, lang_process,
1451         lang_abs_symbol_at_end_of, lang_do_version_exports_section): ..
1452         * ldwrite.c (build_link_order, clone_section, ds, split_sections): ..
1453         * pe-dll.c (process_def_file, generate_reloc): ..
1454         * emultempl/elf32.em (gld${EMULATION_NAME}_find_statement_assignment,
1455         gld${EMULATION_NAME}_before_allocation): ..
1456         * emultempl/mmix-elfnmmo.em (mmix_after_allocation): ..
1457         * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_before_allocation,
1458         sh64_elf_${EMULATION_NAME}_after_allocation): ..
1459         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): ..
1460         * emultempl/xtensaelf.em (ld_assign_relative_paged_dot,
1461         ld_local_file_relocations_fit, ld_xtensa_insert_page_offsets): Use
1462         "size" instead of "_raw_size" and "_cooked_size".  Expand
1463         bfd_section_size macro invocations.
1464
1465 2004-06-22  Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
1466
1467         * ld/scripttemp/pe.sc (.CRT): Define ___crt_xc_start__,
1468         ___crt_xc_end__, ___crt_xi_start__, ___crt_xi_end__, ___crt_xl_start__,
1469         ___crt_xp_start__, ___crt_xp_end__, ___crt_xt_start__ and
1470         ___crt_xt_end__.
1471         (.tls): Define ___tls_start__ and ___tls_end__.
1472
1473 2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
1474
1475         * emulparams/elf32frvfd.sh (GENERATE_PIE_SCRIPT): Set to yes.
1476
1477 2004-06-18  Adam Nemet  <anemet@lnxw.com>
1478
1479         * configure.in: Set EXTRA_SHLIB_EXTENSION to .a for LynxOS.
1480         * configure: Regenerate.
1481
1482 2004-06-15  Jakub Jelinek  <jakub@redhat.com>
1483
1484         * scripttempl/elf.sc: Readd KEEP and .gcc_except_table.* to
1485         .gcc_except_table output sections lost accidentally with
1486         -z relro patch.
1487
1488 2004-06-15  Alan Modra  <amodra@bigpond.net.au>
1489
1490         * ldwrite.c (build_link_order): Use bfd_get_section_size
1491         instead of bfd_get_section_size_before_reloc or _raw_size.
1492         * pe-dll.c (process_def_file): Likewise.
1493
1494 2004-06-14  Alan Modra  <amodra@bigpond.net.au>
1495
1496         From Richard Wirth <r.wirth@wirthware.de>
1497         * ldlang.c (lang_finish): Don't free lang_definedness_table.
1498
1499 2004-05-29  Alan Modra  <amodra@bigpond.net.au>
1500
1501         * ldlang.c (gc_section_callback): Move SEC_EXCLUDE twiddles..
1502         (lang_gc_sections): .. to a LANG_FOR_EACH_INPUT_STATEMENT loop here.
1503
1504 2004-05-28  Alan Modra  <amodra@bigpond.net.au>
1505
1506         * ldlang.c: Formatting.  Wrap long lines, expand bfd_get_section_flags
1507         throughout file.
1508         * lexsup.c: Formatting.  Wrap long lines.
1509         * ldwrite.c: Update copyright date.
1510
1511         * ldlang.c (lang_add_section): Don't twidlle SEC_EXCLUDE here.
1512         (output_section_callback): Nor SEC_KEEP here.
1513         (gc_section_callback): Twiddle SEC_EXCLUDE here.
1514         (lang_gc_wild): Delete.  Fold into..
1515         (lang_gc_sections_1): ..here.  Only call bfd_gc_sections when garbage
1516         collecting.
1517         (lang_process): Always call lang_gc_sections.
1518         (lang_place_orphans): Handle SEC_EXCLUDE sections.
1519         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Remove
1520         SEC_EXCLUDE code.
1521
1522 2004-05-26  H.J. Lu  <hongjiu.lu@intel.com>
1523
1524         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Clear
1525         SEC_EXCLUDE on non-SEC_DEBUGGING sections for relocatable link.
1526         * ldlang.c (lang_add_section): Likewise.
1527
1528 2004-05-26  Alan Modra  <amodra@bigpond.net.au>
1529
1530         * ldlang.c (lang_add_section): Set SEC_EXCLUDE for SEC_GROUP
1531         sections when doing a final link.  Clear SEC_EXCLUDE when doing
1532         a relocable link, except for SEC_DEBUGGING sections.
1533         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Use the
1534         same condition here to drop SEC_EXCLUDE orphan sections.
1535
1536 2004-05-25  Alan Modra  <amodra@bigpond.net.au>
1537
1538         * ldlang.c (lang_process): Call bfd_merge_sections later, and
1539         only when not a relocatable link.
1540         (print_input_section): Handle SEC_EXCLUDE sections.
1541         (size_input_section): Don't update dot on SEC_EXCLUDE sections.
1542         (lang_do_assignments_1): Likewise.
1543         * ldwrite.c (build_link_order): Ignore SEC_EXCLUDE input sections.
1544         * emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Likewise.
1545         * emultempl/hppaelf.em (build_section_lists): Likewise.
1546         * emultempl/ppc64elf.em (build_toc_list): Likewise.
1547         (build_section_lists): Likewise.
1548
1549 2004-05-23  Andreas Schwab  <schwab@suse.de>
1550
1551         * ld.texinfo (Options): Fix typo in last change.
1552
1553 2004-05-21  Andy Chittenden  <achittenden@bluearc.com>
1554
1555         * ld.h (ld_config_type): Add new field: hash_table_size.
1556         * ldmain.c: Initialise the new field to zero.  If it is non-zero
1557         after parsing the linker's command line call
1558         bfd_hash_set_default_size.
1559         * lexsup.c (option_values): Add OPTION_HASH_SIZE.
1560         (ld_options): Add hash-size.
1561         (parse_args): Parse --hash-size option.  Allow
1562         --reduce-memory-overheads to set the default hash table size as
1563         well.
1564         * ld.texinfo: Document the new switch.  Also mention that
1565         --reduce-memory-overheads can affect the hash table size.
1566         * NEWS: Mention the new feature.
1567
1568 2004-05-19  J"orn Rennecke <joern.rennecke@superh.com>
1569
1570         * NEWS: Mention new linker map file generation and the
1571         --reduce-memory-overheads option.
1572         * ld.texinfo: Document --reduce-memory-overheads option.
1573         * ld.h (map_symbol_def): New struct.
1574         (struct user_section_struct, section_userdata_type): Rename to:
1575         (struct lean_user_section_struct, lean_section_userdata_type).
1576         (struct fat_user_section_struct, fat_section_userdata_type): New.
1577         (SECTION_USERDATA_SIZE): Define.
1578         (args_type): New member reduce_memory_overheads.
1579         * ldlang.c (map_obstack): New static variable.
1580         (init_map_userdata, print_all_symbols, sort_def_symbol): New functions.
1581         (lang_map): Unless command_line.reduce_memory_overheads is set,
1582         initialize lists of defined symbols for each section.
1583         (print_input_section): Unless command_line.reduce_memory_overheads
1584         is set, use print_all_symbols.
1585         (init_os): Use lean_section_userdata_type / SECTION_USERDATA_SIZE.
1586         * ldmain.c (main): Initialize command_line.reduce_memory_overheads.
1587         * lexsup.c (enum option_values): Add OPTION_REDUCE_MEMORY_OVERHEADS.
1588         (ld_options): Add entry for --reduce-memory-overheads.
1589         (parse_args): Handle OPTION_REDUCE_MEMORY_OVERHEADS.
1590
1591 2004-05-19  Jakub Jelinek  <jakub@redhat.com>
1592
1593         * ldgram.y (sect_constraint): New.
1594         (ONLY_IF_RO, ONLY_IF_RW): New tokens.
1595         (section): Add sect_constraint.  Pass additional argument
1596         to lang_enter_output_section_statement.
1597         * mri.c (mri_draw_tree): Pass additional argument to
1598         lang_enter_output_section_statement.
1599         * emultempl/pe.em (place_orphan): Likewise.
1600         (output_prev_sec_find): Disregard output section statements with
1601         constraint == -1.
1602         * emultempl/mmo.em (output_prev_sec_find): Likewise.
1603         (mmo_place_orphan): Pass additional argument to
1604         lang_enter_output_section_statement.
1605         * emultempl/elf32.em (output_prev_sec_find): Disregard output section
1606         statements with constraint == -1.
1607         (place_orphan): Pass additional argument to
1608         lang_enter_output_section_statement.
1609         * ldlang.c (lang_enter_overlay_section): Likewise.
1610         (lang_output_section_find_1): New.
1611         (lang_output_section_find): Use it.
1612         (lang_output_section_statement_lookup_1): New.
1613         (lang_output_section_statement_lookup): Use it.
1614         (check_section_callback, check_input_sections): New.
1615         (map_input_to_output_sections): Check if all input sections
1616         are readonly if ONLY_IF_RO or ONLY_IF_RW was seen.
1617         (strip_excluded_output_sections): Disregard output section statements
1618         with constraint == -1.
1619         (lang_record_phdrs): Likewise.
1620         (lang_enter_output_section_statement): Add constraint argument.
1621         Use lang_output_section_statement_lookup_1.
1622         * ldlang.h (lang_output_section_statement_type): Add constraint
1623         and all_input_readonly fields.
1624         (lang_enter_output_section_statement): Adjust prototype.
1625         * ldlex.l (ONLY_IF_RO, ONLY_IF_RW): New tokens.
1626         * scripttempl/elf.sc (.eh_frame, .gcc_except_table): Move into text
1627         segment if all input sections are readonly.
1628
1629 2004-05-19  Adam Nemet  <anemet@lnxw.com>
1630
1631         * scripttempl/i386lynx.sc: Remove file.
1632
1633 2004-05-17  Bob Wilson  <bob.wilson@acm.org>
1634
1635         * ld.texinfo (Output Section Address): Correct subsection name.
1636
1637 2004-05-17  Adam Nemet  <anemet@lnxw.com>
1638
1639         * configure.tgt (powerpc-*-lynxos* case): New case.
1640         * configure.host (i[3-7]86-*-lynxos* case): Remove case.
1641         * emulparams/ppclynx.sh: New file.
1642         * emulparams/i386lynx.sh (SCRIPT_NAME): Update to LynxOS 4.0.
1643         * Makefile.am (ALL_EMULATIONS): Add eppclynx.o
1644         (ei386lynx.c): Update rule to LynxOS 4.0 ELF.
1645         (eppclynx.c): New rule.
1646         * Makefile.in: Regenerate.
1647
1648 2004-05-13  Joel Sherrill <joel@oarcorp.com>
1649
1650         * configure.tgt (or32-*-rtems*): Switch to elf and
1651         support versioned targets.
1652
1653 2004-05-13  Nick Clifton  <nickc@redhat.com>
1654
1655         * po/fr.po: Updated French translation.
1656
1657 2004-05-11  Jakub Jelinek  <jakub@redhat.com>
1658
1659         * genscripts.sh: Generate -z combreloc -z now -z relro scripts
1660         for binaries, -shared and -pie.
1661         * emulparams/elf_i386.sh (SEPARATE_GOTPLT): Set.
1662         * emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Set.
1663         * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Rename to...
1664         (OTHER_RELRO_SECTIONS): ... this.
1665         * ldlex.l (DATA_SEGMENT_RELRO_END): Add.
1666         * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
1667         -z relro and -z norelro.
1668         (gld${EMULATION_NAME}_list_options): Add it to usage.
1669         (gld${EMULATION_NAME}_get_script): Return -z combreloc -z now
1670         -z relro scripts when appropriate.
1671         * scripttempl/elf.sc: Unset SEPARATE_GOTPLT if RELRO_NOW is set.
1672         Create separate .got.plt section if SEPARATE_GOTPLT.
1673         Move sections which are only written during relocation handling
1674         to the beginning of RW segment.  If NO_SMALL_DATA, move .got
1675         before .data.  Add DATA_SEGMENT_RELRO_END directive.
1676         Include OTHER_RELRO_SECTIONS.
1677         * ldgram.y (DATA_SEGMENT_RELRO_END): Add.
1678         * ldexp.c (exp_print_token): Handle DATA_SEGMENT_RELRO_END.
1679         (fold_unary): Likewise.
1680         (fold_binary): Handle -z relro.
1681         * ldexp.h (struct exp_data_seg): Add exp_dataseg_relro_seen and
1682         exp_dataseg_relro_adjust phases.  Add relro_end field.
1683         * ldmain.c (main): Initialize link_info.relro to FALSE.
1684         * ldlang.c (lang_size_sections): Handle -z relro.
1685
1686 2004-05-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1687
1688         * scripttempl/avr.sc: Do not set LMA for "eeprom" section.
1689
1690 2004-05-07  J"orn Rennecke <joern.rennecke@superh.com>
1691
1692         * ldlang.c (print_padding_statement): Cast size_t to bfd_vma
1693         before printing it with %W.
1694
1695 2004-05-07  Brian Ford  <ford@vss.fsi.com>
1696             DJ Delorie  <dj@redhat.com>
1697
1698         * emultempl/pe.em (real_flags): New static.
1699         (OPTION_LARGE_ADDRESS_AWARE): New define.
1700         (gld${EMULATION_NAME}_add_options): Add --large-address-aware option.
1701         (gld_${EMULATION_NAME}_list_options): Likewise.
1702         (gld${EMULATION_NAME}_handle_option): Likewise.
1703         (gld_${EMULATION_NAME}_after_open): Pass real_flags to PE private data.
1704         * ld.texinfo: Document it.
1705         * NEWS: Mention it.
1706
1707 2004-05-07  Brian Ford  <ford@vss.fsi.com>
1708
1709         * NEWS: Mention DWARF 2 support for i386pe.
1710
1711 2004-05-05  Alexandre Oliva  <aoliva@redhat.com>
1712
1713         * emulparams/elf32frvfd.sh (OUTPUT_FORMAT): Switch to new
1714         elf32-frvfdpic.
1715
1716 2004-04-30  Alan Modra  <amodra@bigpond.net.au>
1717
1718         * ldlang.c (unique_section_p): Pass section parm, return true on
1719         group sections.
1720         (output_section_callback): Adjust.
1721         * ldlang.h (unique_section_p): Update prototype.
1722         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust.
1723
1724 2004-04-30  Eric Botcazou  <ebotcazou@act-europe.fr>
1725
1726         * ld.texinfo (--gc-sections): Remove restriction for
1727         dynamic linking.
1728
1729 2004-04-29  Brian Ford  <ford@vss.fsi.com>
1730
1731         * scripttempl/pe.sc: Handle .debug* and .gnu.linkonce.wi.* sections
1732         for DWARF 2/3.  Update stab section's syntax.
1733
1734 2004-04-29  Alan Modra  <amodra@bigpond.net.au>
1735
1736         * pe-dll.c: Revert changes accidentally committed 2004-03-08.
1737         (fill_edata): Correct pointer arithmetic.
1738
1739 2004-04-21  Chris Demetriou  <cgd@broadcom.com>
1740
1741         * ld.texinfo: Remove MIPS --embedded-relocs documentation.
1742         * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Remove definition.
1743         * emulparams/mipsidt.sh (TEMPLATE_NAME): Use generic.em.
1744         (EXTRA_EM_FILE): Use mipsecoff.em
1745         * emulparams/mipsidtl.sh (TEMPLATE_NAME): Use generic.em.
1746         (EXTRA_EM_FILE): Use mipsecoff.em
1747         * emultempl/mipsecoff.em: Restructure to be included as an
1748         extra emulation file.
1749         (check_sections, gld${EMULATION_NAME}_after_open)
1750         (gld${EMULATION_NAME}_after_allocation)
1751         (gld${EMULATION_NAME}_get_script)
1752         (ld_${EMULATION_NAME}_emulation): Remove
1753         (gld${EMULATION_NAME}_before_parse): Rename to...
1754         (mipsecoff_before_parse): This.
1755         (LDEMUL_BEFORE_PARSE): Define.
1756         * emultempl/mipself.em: Remove file.
1757         * scripttempl/mips.sc (.rel.sdata): Do not include in output.
1758         (__runtime_reloc_start, __runtime_reloc_stop): Stop providing
1759         these symbols.
1760         * Makefile.am: Remove dependencies on emultempl/mipself.em.
1761         * Makefile.in: Regenerate.
1762
1763 2004-04-21      Anil Paranjpe   <anilp1@kpitcummins.com>
1764
1765         * ld.texinfo (synthesizing on H8/300): Information about linker
1766         relaxation support for bit manipulation instructions and system
1767         control instructions is added.
1768
1769 2004-04-21  Hans-Peter Nilsson  <hp@axis.com>
1770
1771         * NEWS: Mention change in DEFINED semantics.
1772
1773 2004-04-21  Eric Botcazou  <ebotcazou@act-europe.fr>
1774
1775         * scripttempl/elf.sc (.text): Add KEEP for .text.*personality*.
1776         (.data): Add KEEP for .gnu.linkonce.d.*personality*.
1777         (.gcc_except_table): Add KEEP for self and accept .gcc_except_table.*.
1778
1779 2004-04-21  Ben Elliston  <bje@au.ibm.com>
1780
1781         * ld.texinfo (Simple Example): Add missing punctuation.
1782
1783 2004-04-20  Chris Demetriou  <cgd@broadcom.com>
1784
1785         * NEWS: Note that MIPS --embedded-relocs option is deprecated.
1786
1787 2004-04-19  Jakub Jelinek  <jakub@redhat.com>
1788
1789         * ldlang.c (lang_do_assignments_1): Handle .tbss output section
1790         specially.
1791
1792 2004-04-18  Danny Smith  <dannysmith@users.sourceforge.net>
1793
1794         * scriptempl/pe.sc:  Put numbered .ctors.* after .ctors
1795         with default priority. Likewise for dtors.
1796
1797 2004-04-11  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
1798
1799         * configure.host: Remove mips*-dec-bsd* target.
1800         * configure.tgt: Likewise.
1801
1802 2004-04-08  Richard Sandiford  <rsandifo@redhat.com>
1803
1804         * emulparams/elf32bsmip.sh (EXTRA_EM_FILE): Define to irix.
1805         * emulparams/elf64bmip.sh (EXTRA_EM_FILE): Likewise.
1806         * emulparams/elf32bmipn32.sh (EXTRA_EM_FILE): Likewise.
1807         * emultempl/irix.em: New file.
1808         * Makefile.am (eelf32bsmip.c, eelf32bmipn32.c, eelf64bmip.c): Update
1809         dependencies.
1810         * Makefile.in: Regenerate.
1811
1812 2004-04-01  Paul Brook  <paul@codesourcery.com>
1813
1814         * emultempl/armelf.em (byteswap_code): Add.
1815         (arm_elf_before_allocation): Pass extra parameter.
1816         (PARSE_AND_LIST_PROLOGUE): Add OPTION_BE8.
1817         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add be8.
1818         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_BE8.
1819         * emultempl/armelf_oabi.em: Pass extra parameter.
1820         * ld.texinfo: Document --be8.
1821
1822 2004-03-30  Stan Shebs  <shebs@apple.com>
1823
1824         Remove long-obsolete MPW support.
1825         * mpw-config.in, mpw-make.sed, mac-ld.r: Remove files.
1826         * Makefile.am (mpw): Remove file-presynthesizing actions.
1827         * Makefile.in: Likewise.
1828         * ldfile.c (slash): Remove MPW case.
1829         * ldlex.l [MPW]: Remove unused definition.
1830
1831 2004-03-30  Galit Heller  <Galit.Heller@nsc.com>
1832
1833         * Makefile.am (ALL_EMULATIONS): Add eelf32cr16c.o.
1834         (eelf32cr16c.c): New target.
1835         * Makefile.in: Regenerate.
1836         * configure.tgt: Handle cr16c-*-elf*.
1837         * emulparams/elf32cr16c.sh: New file.
1838         * scripttempl/elfcr16c.sc: Likewise
1839         * NEWS: Mention support for new target.
1840
1841 2004-03-30  Nick Clifton  <nickc@redhat.com>
1842
1843         * po/sv.po: Updated Swedish translation.
1844
1845 2004-03-27  Alan Modra  <amodra@bigpond.net.au>
1846
1847         * emultempl/elf32.em: Update new bfd_elf_discard_info name.
1848         * emultempl/hppaelf.em: Likewise.
1849         * emultempl/ppc64elf.em: Likewise.
1850         * emultempl/sh64elf.em: Likewise.
1851
1852 2004-03-25  Alan Modra  <amodra@bigpond.net.au>
1853
1854         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Update
1855         size_dynamic_sections call.
1856
1857 2004-03-23  Alan Modra  <amodra@bigpond.net.au>
1858
1859         PR 51.
1860         * emultempl/ppc64elf.em (ppc_create_output_section_statements): Set
1861         link_info.wrap_char.
1862
1863 2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>
1864
1865         * lexsup.c (parse_args): Don't set unresolved_syms_in_objects
1866         or unresolved_syms_in_shared_libs for -Bdynamic and -Bstatic.
1867
1868 2004-03-20  Alexandre Oliva  <aoliva@redhat.com>
1869
1870         * emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb.
1871
1872 2004-03-19  Alan Modra  <amodra@bigpond.net.au>
1873
1874         * config.in: Regenerate.
1875         * po/ld.pot: Regenerate.
1876
1877 2004-03-18  Alan Modra  <amodra@bigpond.net.au>
1878
1879         * ld.texinfo: Add --as-needed doco.
1880         * ldmain.c (as_needed): New global var.
1881         * ldmain.h (as_needed): Declare.
1882         * lexsup.c (option_values): Add OPTION_AS_NEEDED and
1883         OPTION_NO_AS_NEEDED.
1884         (ld_options): Likewise.
1885         (parse_args): Handle them.
1886         * ldlang.h (lang_input_statement_type): Add as_needed field.
1887         * ldlang.c (new_afile): Set p->as_needed.
1888         * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): New function.
1889         (gld${EMULATION_NAME}_try_needed): Use bfd_elf_set_dyn_lib_class.
1890         (ld_${EMULATION_NAME}_emulation): Set LDEMUL_RECOGNIZED_FILE entry.
1891
1892         * ldlang.c (open_input_bfds): Remove useless cast.
1893         (lang_do_assignments_1): Likewise.
1894         (lang_for_each_input_section): Delete.
1895
1896 2004-03-17  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1897
1898         * configure.tgt: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff*.
1899
1900 2004-03-08  Danny Smith  <dannysmith@users.sourceforge.net>
1901
1902         * pe-dll.c (pe_dll_generate_implib): Skip sections marked as
1903         private when building implib.
1904
1905 2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
1906
1907         * ldlang.c (lang_add_section): Don't force SEC_LOAD on
1908         SEC_THREAD_LOCAL.
1909         (IGNORE_SECTION): Ignore .tbss sections too.
1910         (lang_size_sections_1): .tbss sections do not advance dot.
1911
1912 2004-03-01  Andreas Schwab  <schwab@suse.de>
1913
1914         * ld.texinfo (Options): Fix example for --wrap.
1915
1916 2004-02-25  Danny Smith  <dannysmith@users.sourceforge.net>
1917
1918         * pe-dll.c (fill_edata): Check that exported_symbol_sections is
1919         not NULL.
1920
1921 2004-02-23  Ian Lance Taylor  <ian@wasabisystems.com>
1922
1923         * ldlang.c (lang_check): Use %P, not %E, in error message.
1924
1925 2004-02-23  Nathan Sidwell  <nathan@codesourcery.com>
1926
1927         * ldlang.h (struct lang_output_section_state): Change processed
1928         field's type.
1929         * ldexp.c (check, invalid): Remove.
1930         (fold_name): Move valid_p assignments. Create undefined symbol
1931         when needed. Directly exampine section's processd flag.
1932         * ldlang.c (lang_output_section_statement_lookup): Adjust
1933         processed field init.
1934         (lang_size_sections_1): Allow LOADADDR when determining section's
1935         VMA. Adjust error message. Fold data statement's expr.
1936         (lang_size_sections): Correctly increment lang_statement_iteration.
1937
1938 2004-02-23  Alan Modra <amodra@bigpond.net.au>
1939
1940         * ldexp.c (fold_tree): Follow indirect symbols.
1941
1942 2004-02-20  Nathan Sidwell  <nathan@codesourcery.com>
1943
1944         * ldgram.y (exp): Add two operand ALIGN.
1945         * ldexp.c (fold_binary): Add ALIGN_K case.
1946         * ld.texinfo (ALIGN): Document two operand version.
1947
1948 2004-02-19  Nathan Sidwell  <nathan@codesourcery.com>
1949
1950         * ldlang.c (map_input_to_output_sections): Initialize sections
1951         mentioned in a data statement expression.
1952         (lang_do_assignments_1): Add data statement's expression's
1953         section's vma.
1954
1955 2004-02-18  Nathan Sidwell  <nathan@codesourcery.com>
1956
1957         * ldgram.y (statement_anywhere): Add assert rule.
1958         * ldlang.c (exp_init_os): Add assert case.
1959
1960 2004-02-14  Andrew Cagney  <cagney@redhat.com>
1961
1962         * ldmain.c (remove_output): Call bfd_cache_close.
1963
1964 2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
1965
1966         * emulparams/elf32bmipn32-defs.sh (OTHER_SECTIONS): Discard
1967         .MIPS.content* and .MIPS.events* sections.
1968
1969 2004-02-09  Daniel Jacobowitz  <drow@mvista.com>
1970
1971         * emulparams/armelf.sh, emulparams/armelf_linux.sh: Move
1972         .note.gnu.arm.ident to after allocated sections.  Mark its
1973         address as 0.
1974
1975 2004-02-09  Daniel Jacobowitz  <drow@mvista.com>
1976
1977         * emulparams/armelf_linux.sh (COMMONPAGESIZE): Set to 4KB.
1978         * emulparams/elf32bmip.sh (COMMONPAGESIZE): Likewise.
1979         * emulparams/elf32bmipn32.sh (COMMONPAGESIZE): Likewise.
1980         * emulparams/elf32btsmipn32.sh (COMMONPAGESIZE): Likewise.
1981         * emulparams/shlelf_linux.sh (COMMONPAGESIZE): Likewise.
1982
1983 2004-02-05  Nick Clifton  <nickc@redhat.com>
1984
1985         * emultempl/pe.em (_after_open): Fix typo in previous delta.
1986
1987 2004-02-04  Danny Smith  <dannysmith@users.sourceforge.net>
1988
1989         * emultempl/pe.em (_after_open): Fix thinko in 2003-12-18 patch.
1990
1991 2004-01-28  Alan Modra  <amodra@bigpond.net.au>
1992
1993         * genscripts.sh: Fix typo.
1994
1995         * genscripts.sh: Apply $LIBPATH_SUFFIX to $tool_lib and $libdir too.
1996
1997 2004-01-24  Jakub Jelinek  <jakub@redhat.com>
1998
1999         * emulparams/elf64_ia64.sh: Put .rela.opd into
2000         OTHER_GOT_RELOC_SECTIONS instead of OTHER_PLT_RELOC_SECTIONS.
2001
2002 2004-01-20  Danny Smith  <dannysmith@users.sourceforge.net>
2003
2004         * pe-dll.c (pe_create_import_fixup): Clear WP_TEXT flag.
2005         * ld.texinfo (--omagic): Note that writable text section
2006         does not conform to published PE-COFF specs.
2007         (--enable-auto-import): Likewise.
2008
2009 2004-01-15  Alan Modra  <amodra@bigpond.net.au>
2010
2011         * emulparams/elf32ppc.sh (COMMONPAGESIZE): Define.
2012
2013 2004-01-13  Nick Clifton  <nickc@redhat.com>
2014
2015         * ldlang.c (lang_get_regions): Add extra parameter 'have_vma'
2016         which if true will prevent the LMA region being used as a
2017         replacement for a default VMA region.
2018         (lang_leave_output_section_statement): Pass extra parameter.
2019         (lang_leave_overlay): Likewise.
2020         * ld.texinfo (Output Section LMA): Document that the LMA
2021         region can be set to the VMA region if no VMA has been set.
2022         * ldlang.h (struct lang_output_section_phdr_list): Create a
2023         typedef for this type.  Minor formatting fixes.
2024
2025 2004-01-13  Nick Clifton  <nickc@redhat.com>
2026
2027         * ldlang.c (lang_size_sections_1): If dot is advanced, then
2028         assume that the section should be allocated.
2029
2030 2004-01-13  Alan Modra  <amodra@bigpond.net.au>
2031
2032         * ldlang.c (IGNORE_SECTION): Don't ignore SEC_ALLOC && !SEC_LOAD
2033         sections.  Do ignore SEC_NEVER_LOAD sections.
2034         (lang_size_sections_1): Remove test made redundant with the above.
2035
2036 2004-01-09  Alan Modra  <amodra@bigpond.net.au>
2037
2038         * emultempl/ppc64elf.em (ppc_before_allocation): Clear cached
2039         program_header_size.
2040
2041 2004-01-06  Alexandre Oliva  <aoliva@redhat.com>
2042
2043         2003-11-28  Alexandre Oliva  <aoliva@redhat.com>
2044         * emulparams/elf32frvfd.sh (EMBEDDED): Clear.
2045         2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
2046         * emulparams/elf32frvfd.sh (STACK_ADDR): Unset.
2047         (MAXPAGESIZE): Set to 64Kb.
2048         (OTHER_READONLY_SECTIONS): Define __ROFIXUP_LIST__ and
2049         __ROFIXUP_END__.  Don't map .rofixup.got any more.
2050         * emulparams/elf32frv.sh (NOP): Set.
2051         2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
2052         * configure.tgt: Add frv-*-*linux*.
2053         2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
2054         * Makefile.am (ALL_EMULATIONS): Added eelf32frvfd.o.
2055         (eelf32frvfd.c): New.
2056         * configure.tgt <frv-*-*>: Added it to targ_extra_emuls.
2057         * emulparams/elf32frv.sh: Reverted previous two patches.
2058         * emulparams/elf32frvfd.sh: New.
2059         * Makefile.in: Rebuilt.
2060         2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
2061         * emulparams/elf32frv.sh (OTHER_READONLY_SECTIONS): Added
2062         .rofixup.got to .rofixup.
2063         2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
2064         * emulparams/elf32frv.sh (MAXPAGESIZE): Make it 256KiB, not 256B.
2065         (TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT): Set.
2066
2067 2004-01-05  Jakub Jelinek  <jakub@redhat.com>
2068
2069         * emulparams/elf_s390.sh (NO_SMALL_DATA): Set to yes.
2070         * emulparams/elf64_s390.sh (NO_SMALL_DATA): Set to yes.
2071
2072 2004-01-03  Alan Modra  <amodra@bigpond.net.au>
2073
2074         * ldexp.c (align_n): Make static.
2075         * ldexp.h (align_n): Delete declaration.
2076         * ldlang.h (lang_enter_output_section_statement): Remove
2077         block_value param.
2078         * ldlang.c (lang_enter_output_section_statement): Likewise.
2079         (TO_ADDR, TO_SIZE): Define.
2080         (opb_shift): New var.
2081         (init_opb): New function.
2082         (print_input_section): Call init_opb and use TO_ADDR.
2083         (print_data_statement, print_reloc_statement): Likewise.
2084         (print_padding_statement): Likewise.
2085         (size_input_section): Use TO_SIZE and TO_ADDR, and global opb_shift.
2086         (lang_check_section_addresses): Likewise.
2087         (lang_size_sections_1): Likewise.
2088         (lang_do_assignments_1): Likewise.
2089         (lang_set_startof): Likewise.
2090         (lang_one_common): Likewise.  Combine power_of_two and opb_shift align.
2091         (lang_process): Call init_opb.
2092         (lang_abs_symbol_at_end_of): Use TO_ADDR and global opb_shift.
2093         (lang_enter_overlay_section): Adjust
2094         lang_enter_output_section_statement call.
2095         * ldgram.y: Likewise.
2096         * mri.c (mri_draw_tree): Likewise.
2097         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Likewise.
2098         * emultempl/mmo.em (mmo_place_orphan): Likewise.
2099         * emultempl/pe.em (gld${EMULATION_NAME}_place_orphan): Likewise.
2100
2101         * ldfile.c (ldfile_set_output_arch): Add defarch param.
2102         * ldfile.h (ldfile_set_output_arch): Ditto.
2103         * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Use
2104         ldfile_set_output_arch.
2105         * emultempl/beos.em (gld${EMULATION_NAME}_before_parse): Ditto.
2106         * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Ditto.
2107         * emultempl/linux.em (gld${EMULATION_NAME}_before_parse): Ditto.
2108         * emultempl/mipsecoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
2109         * emultempl/pe.em (gld${EMULATION_NAME}_before_parse): Ditto.
2110         * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse): Ditto.
2111         * ldgram.y: Adjust ldfile_set_output_arch call.
2112         * emultempl/armcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
2113         * emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Ditto.
2114         * emultempl/armelf_oabi.em (gld${EMULATION_NAME}_before_parse): Ditto.
2115         * emultempl/generic.em (gld${EMULATION_NAME}_before_parse): Ditto.
2116         * emultempl/gld960c.em (gld960_set_output_arch): Ditto.
2117         * emultempl/m68kcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
2118         * emultempl/ticoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
2119
2120 2004-01-02  Bernardo Innocenti  <bernie@develer.com>
2121
2122         * configure.tgt: Add m68k-uClinux target.
2123
2124 For older changes see ChangeLog-0203
2125 \f
2126 Local Variables:
2127 mode: change-log
2128 left-margin: 8
2129 fill-column: 74
2130 version-control: never
2131 End: