bfd/
[external/binutils.git] / ld / ChangeLog
1 2005-12-07  Thiemo Seufer  <ths@networkno.de>
2             H.J. Lu  <hongjiu.lu@intel.com>
3
4         PR ld/1932
5         * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
6         Adjust bfd_elf_record_link_assignment call.
7
8         * ldexp.c (exp_fold_tree_1): Remove call to bfd_hide_symbol.
9
10 2005-11-25  Jan Beulich  <jbeulich@novell.com>
11
12         * Makefile.am: Make configdoc.texi writeable before trying
13         to write to it.
14         * Makefile.in: Refresh.
15
16 2005-11-24  Alan Modra  <amodra@bigpond.net.au>
17
18         * ldlang.c (lang_output_section_find_by_flags): Add match_type param.
19         Run two passes, first using match_type, second without.
20         * ldlang.h (lang_match_sec_type_func): New typedef.
21         (lang_output_section_find_by_flags): Update prototype.
22         bfd_match_sections_by_type and lang_output_section_find_by_flags.
23         * emultempl/pe.em (place_orphan): Likewise.
24
25 2005-11-24  Alan Modra  <amodra@bigpond.net.au>
26
27         * ldlang.c (lang_insert_orphan): Skip first assignment to dot
28         in script when looking for place to insert orphan statements.
29
30 2005-11-18  Alan Modra  <amodra@bigpond.net.au>
31
32         * emulparams/elf64ppc.sh (.tocbss): Use new section alignment scheme.
33         (.got, .toc1, .opd): Likewise.
34
35 2005-11-18  Alan Modra  <amodra@bigpond.net.au>
36
37         * ldlang.c (lang_size_sections_1): Revert 2005-11-16 functional
38         changes to section alignment.
39         * ldmisc.c (vfinfo): Handle %ld and %lu.
40
41 2005-11-16  Mark Mitchell  <mark@codesourcery.com>
42
43         * Makefile.am (configdoc.texi): Set top_srcdir in configdoc.texi..
44         * Makefile.in: Regenerated.
45         * ld.texinfo: Include configdoc.texi and ldver.texi in man pages.
46         Add @file documentation.
47
48 2005-11-17  Alan Modra  <amodra@bigpond.net.au>
49
50         * ldlang.h (lang_input_section_type): Remove "ifile" field.
51         (lang_insert_orphan, lang_add_section): Update prototypes.
52         * ldlang.c (lang_insert_orphan): Remove "file" param.
53         (lang_add_section): Likewise.  Update all callers.
54         (wild_sort): Get an input section's bfd via "section->owner".
55         (size_input_section): Access just_syms_flag via bfd usrdata.
56         (lang_place_orphans): Update ldemul_place_orphan call.
57         * ldemul.h (ldemul_place_orphan): Remove input_statement param.
58         (struct ld_emulation_xfer_struct <place_orphan>): Likewise.
59         * ldemul.c (ldemul_place_orphan): Likewise.
60         * ldwrite.c (build_link_order): Access just_syms_flag via bfd usrdata.
61         * emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Likewise.
62         * emultempl/beos.em (sort_by_file_name): Access bfd by section->owner.
63         (sort_sections): Likewise.
64         (place_orphan): Remove "file" param.  Adjust lang_add_section call.
65         * emultempl/elf32.em (place_orphan): Remove "file" param.  Adjust
66         lang_add_section and lang_insert_orphan calls.
67         * emultempl/hppaelf.em (hppaelf_add_stub_section): Adjust
68         lang_add_section call.
69         (build_section_lists): Access just_syms_flag via bfd usrdata.
70         * emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Adjust
71         lang_add_section call.
72         * emultempl/mmo.em (mmo_place_orphan): Remove "file" param.  Adjust
73         lang_add_section and lang_insert_orphan calls.
74         * emultempl/pe.em (place_orphan): Likewise.  Access bfd via section
75         owner.
76         * emultempl/ppc64elf.em (ppc_add_stub_section): Adjust
77         lang_add_section call.
78         (build_toc_list): Access just_syms_flag via bfd usrdata.
79         (build_section_lists): Likewise.
80         * emultempl/xtensaelf.em (elf_xtensa_place_orphan): Remove "file"
81         param.  Adjust place_orphan call.
82         (ld_build_required_section_dependence): Access bfd via section owner.
83
84 2005-11-16  Alan Modra  <amodra@bigpond.net.au>
85
86         * ldlang.h (lang_output_section_statement_type): Add prev.
87         * ldlang.c (new_afile): Always init header.type.
88         (output_statement_newfunc): Set os.prev.
89         (output_prev_sec_find): Use os.prev.
90         (lang_enter_output_section_statement): Formatting.
91         (lang_final, lang_add_target, lang_add_fill): Likewise.
92         (lang_add_data, lang_add_reloc): Likewise.
93         (lang_add_attribute): Only alloc the header.
94
95 2005-11-16  Alan Modra  <amodra@bigpond.net.au>
96
97         * ld.texinfo (Forced Output Alignment): Specify that this is an
98         alignment increase, not an override.
99         * ldlang.c (init_os): Set output section alignment here..
100         (lang_add_section): ..rather than here.
101         (lang_size_sections_1): Consolidate alignment code.  Warn if section
102         alignment affects start address when explicit address given.
103
104 2005-11-07  Steve Ellcey  <sje@cup.hp.com>
105
106         * configure: Regenerate after modifying bfd/warning.m4.
107
108 2005-11-07  Olaf Hering  <olh@suse.de>
109
110         * ldmain.c (main): Add \n to error message.
111
112 2005-11-04  Alan Modra  <amodra@bigpond.net.au>
113
114         * ldlang.c (struct output_statement_hash_entry): Don't indirect to os.
115         (output_statement_newfunc): Rewrite.
116         (lang_output_section_find_1): Merge into..
117         (lang_output_section_find): ..here.
118         (lang_output_section_statement_lookup_1): Rewrite to handle
119         multiple sections with the same name.
120         (output_statement_table_init): Commonise error message.
121         (lang_init, open_output): Likewise.
122
123 2005-11-03  Paul Brook  <paul@codesourcery.com>
124
125         * scripttempl/elf.sc: Add .init_array.* and .fini_array.*.
126         * scripttempl/armbpabi.sc: Make init/fini array consistent with
127         elf.sc.
128         * scripttempl/elf32sh-symbian.sc: Ditto.
129         * scripttempl/elfxtensa.sc: Ditto.
130
131 2005-11-03  Alan Modra  <amodra@bigpond.net.au>
132
133         * ldlang.h (lang_output_section_statement_type): Rearrange.  Remove
134         memspec.  Make "processed" a bitfield.
135         (lang_data_statement_type, lang_reloc_statement_type): Rename
136         output_vma to output_offset.
137         * ldlang.c (lang_output_section_statement_lookup_1): Init
138         all_input_readonly.  Don't init memspec.
139         (init_os): Remove incorrect comment.
140         (print_data_statement, print_reloc_statement): Adjust for
141         lang_data_statement_type and lang_reloc_statement_type change.
142         (lang_size_sections_1, lang_add_reloc): Likewise.
143         * ldwrite.c (build_link_order): Likewise.
144
145 2005-10-30  Mark Mitchell  <mark@codesourcery.com>
146
147         * lexsup.c (help): Document "@FILE".
148
149 2005-10-30  H.J. Lu  <hongjiu.lu@intel.com>
150
151         * Makefile.am: Run "make dep-am".
152         * Makefile.in: Regenerated.
153
154         * dep-in.sed: Replace " ./" with " ".
155
156 2005-10-25  Arnold Metselaar  <arnold.metselaar@planet.nl>
157
158         * Makefile.am: Add support for Z80
159         * Makefile.in: Regenerated
160         * configure.tgt: Add z80-*-coff
161         * emulparams/z80.sh: New file.
162         * emultempl/z80.em: New file.
163         * scripttempl/z80.sc New file.
164         * NEWS: Mention this new support.
165
166 2005-10-25  Alan Modra  <amodra@bigpond.net.au>
167
168         * po/ld.pot: Regenerate.
169
170 2005-10-25  Chris Metcalf <cdmetcalf@comcast.net>
171
172         * ld.texinfo (--reduce-memory-overheads): Fix typo.
173
174 2005-10-23  H.J. Lu  <hongjiu.lu@intel.com>
175
176         PR ld/1487
177         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
178         bfd_match_sections_by_type to match section types.
179
180         * ldlang.c (init_os): Take the input section. Call
181         bfd_init_private_section_data if the input section isn't NULL.
182         (exp_init_os): Pass NULL to init_os.
183         (map_input_to_output_sections): Likewise.
184         (lang_add_section): Pass the input section to init_os.
185
186 2005-10-19  Paul Brook  <paul@codesourcery.com>
187
188         * emulparams/armelf.sh: Add .ARM.attributes to OTHER_SECTIONS.
189
190 2005-10-15  H.J. Lu  <hongjiu.lu@intel.com>
191
192         PR ld/1467
193         * emultempl/elf32.em: Include "elf-bfd.h".
194         (gld${EMULATION_NAME}_place_orphan): Check section type and
195         don't use section name for ELF input sections.
196
197         * ld.texinfo: Document orphan section processing.
198
199         * ldlang.c (lang_output_section_find_by_flags): Match section
200         types by calling bfd_match_sections_by_type.
201
202 2005-10-13  Mark Mitchell  <mark@codesourcery.com>
203
204         * ld.texino: Describe double-quoted string syntax for version
205         nodes.
206         * ldlang.h (lang_new_vers_pattern): Add literal_p parameter.
207         * ldgram.y (vers_defns): Allow NAME as well as VERS_IDENTIFIER.
208         Adjust calls to lang_new_vers_pattern to pass literal_p argument.
209         * ldlang.c (lang_vers_match): Fix indentation.  Do not glob-match
210         version nodes without a pattern.
211         (lang_new_vers_pattern): Add literal_p parameter.
212         (lang_do_version_exports_section): Pass it.
213
214 2005-10-12  Mark Mitchell  <mark@codesourcery.com>
215
216         * NEWS: Mention @file.
217
218 2005-10-05  H.J. Lu  <hongjiu.lu@intel.com>
219
220         PR ld/1396
221         * ldcref.c (check_refs): Accept bfd_boolean.
222         (check_local_sym_xref): Pass FALSE to check_refs.
223         (check_nocrossref): Pass TRUE to check_refs.
224         (check_refs_info): Add bfd_boolean.
225         (check_refs): Add bfd_boolean to check_refs_info.
226         (check_reloc_refs): Match relocations with proper symbols.
227
228         * ldmisc.c (vfinfo): Don't add extra ":\n".
229
230 2005-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
231
232         * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Set
233         default entry symbol to ENTRY here.
234         * scripttempl/pe.sc: Not here.
235
236 2005-09-30  James E Wilson  <wilson@specifix.com>
237
238         * ldlang.c (lang_startup): Add missing ": " to einfo call.
239
240 2005-09-30  H.J. Lu  <hongjiu.lu@intel.com>
241
242         * Makefile.am: Run "make dep-am".
243         * Makefile.in: Regenerated.
244         * aclocal.m4: Likewise.
245
246 2005-09-30  H.J. Lu  <hongjiu.lu@intel.com>
247
248         * ldlang.c (output_statement_hash_entry): New type.
249         (output_statement_table): New variable for hash table.
250         (output_statement_newfunc): New function.
251         (output_statement_table_init): Likewise.
252         (output_statement_table_free): Likewise.
253         (lang_init): Call output_statement_table_init.
254         (lang_finish): Renamed to ...
255         (lang_end): This.
256         (lang_process): Updated.
257         (lang_finish): New function.
258         (lang_output_section_find_1): Use hash table.
259         (lang_output_section_statement_lookup_1): Likewise.
260
261         * ldlang.h (lang_finish): New.
262
263         * ldmain.c (main): Call lang_finish.
264
265 2005-09-30  Mark Mitchell  <mark@codesourcery.com>
266
267         * ldmain.c (main): Use expandargv.
268
269 2005-09-30  Catherine Moore  <clm@cm00re.com>
270
271         * Makefile.am: Bfin support.
272         * Makefile.in: Regenerated.
273         * aclocal.m4: Regenerated.
274         * configure.tgt: Bfin support.
275         * emulparams/bfin.sh: New file.
276         * emultempl/bfin.em: New file.
277
278 2005-09-30  Matthias Kurz  <mk@baerlap.north.de>
279
280         * ld.h: Prevent the inclusion of <libintl.h> from the Solaris
281         version of <locale.h> when ENABLE_NLS is not defined.
282
283 2005-09-27  H.J. Lu  <hongjiu.lu@intel.com>
284
285         * ld.texinfo (ALIGN): Document it as forcing output section
286         alignment.
287
288         * ldgram.y (ALIGN): Support it for forcing output section
289         alignment.
290
291 2005-09-20  Alan Modra  <amodra@bigpond.net.au>
292
293         * ldlang.h (lang_output_section_statement_struct): Change type of
294         "processed" to bfd_boolean.
295         * ldexp.c (fold_name): Update references to os->processed.
296         * ldlang.c (lang_output_section_statement_lookup_1): Likewise.
297         (lang_size_sections_1): Likewise.
298         (lang_reset_memory_regions): Likewise.
299
300         PR ld/1353
301         * ldlang.c (lang_size_sections_1): Process addr_tree earlier,
302         so that unused output section statements affect dot.
303
304 2005-09-08  Jakub Jelinek  <jakub@redhat.com>
305
306         * ld.texinfo: Document -z {no,}execstack, -z {no,}relro
307         and --eh-frame-hdr options.
308
309 2005-09-07  Alan Modra  <amodra@bigpond.net.au>
310
311         * ldexp.c (fold_name <SIZEOF>): Return 0 for non-existent section.
312         (exp_fold_tree_1): Print assert message only in final stage of
313         linking.  Trigger assertion failure if expression cannot be
314         evaluated.
315
316 2005-09-06  H.J. Lu  <hongjiu.lu@intel.com>
317
318         PR ld/1263
319         * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): Check
320         --just-symbols on DSO.
321
322 2005-08-18  Alan Modra  <amodra@bigpond.net.au>
323
324         * scripttempl/elf.sc: Remove commented out defines.
325
326 2005-08-18  Alan Modra  <amodra@bigpond.net.au>
327
328         * emulparams/a29k.sh: Delete.
329         * emulparams/ebmon29k.sh: Delete.
330         * emulparams/sa29200.sh: Delete.
331         * Makefile.am: Remove a29k support.
332         * configure.tgt: Likewise.
333         * ld.texinfo: Likewise.
334         * Makefile.in: Regenerate.
335
336 2005-08-17  Jakub Jelinek  <jakub@redhat.com>
337
338         * ldgram.y (vers_defns): Don't lose pattern list before
339         extern NAME {}.  Handle global, local and extern symbol names.
340
341 2005-08-17  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
342
343         * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
344         Don't increment rel_count of .cranges here.  Set rawsize of .cranges.
345
346 2005-08-10  Nick Clifton  <nickc@redhat.com>
347
348         * pe-dll.c (pe_exe_fill_sections): Call lang_reset_memory_regions
349         before lang_size_sections.
350
351 2005-08-09  Alan Modra  <amodra@bigpond.net.au>
352
353         * emulparams/hppa64linux.sh (LARGE_SECTIONS): Remove .tbss.
354
355 2005-08-08  Eric Doenges <Eric.Doenges@betty-tv.com>
356
357         * Makefile.am (ALL_EMULATIONS): Add msp430x21xx variants.
358         Add rules to build these emulations.
359         * Makefile.in: Regenerate.
360         * configure.tgt (msp430): Add the new variants to the
361         targ_extra_emuls list.
362         * emulparams/msp430all.sh: Add entries for the msp430x21xx
363         variants.
364
365 2005-08-05  H.J. Lu  <hongjiu.lu@intel.com>
366
367         * ld.texinfo: Document PROVIDE_HIDDEN.
368
369         * ldexp.c (exp_fold_tree_1): Hide a provided symbol if asked.
370         (exp_provide): Add and set hidden.
371
372         * ldexp.h (etree_type): Add hidden to assign.
373
374         * ldgram.y (PROVIDE_HIDDEN): New.
375         * ldlex.l (PROVIDE_HIDDEN): Likewise.
376
377         * scripttempl/elf.sc: Use PROVIDE_HIDDEN on array bound
378         symbols.
379
380 2005-08-05  Alan Modra  <amodra@bigpond.net.au>
381
382         * emulparams/elf_x86_64.sh: Revert last change.
383         * scripttempl/elf.sc (REL_LARGE, LARGE_SECTIONS): Define here.
384
385 2005-08-05  Alan Modra  <amodra@bigpond.net.au>
386
387         * emulparams/armelf.sh (OTHER_BSS_END_SYMBOLS): Split out from
388         OTHER_END_SYMBOLS.
389         * emulparams/armelf_linux.sh: Likewise.
390         * emulparams/armnto.sh: Likewise.
391         * emulparams/criself.sh: Likewise.
392         * emulparams/elf32mcore.sh: Likewise.
393         * emulparams/criself.sh (OTHER_SYMBOLS): Define.
394         * emulparams/crislinux.sh (OTHER_SYMBOLS): Define.
395         (OTHER_END_SYMBOLS): Don't define.
396         * emulparams/elf32fr30.sh: Likewise.
397         * emulparams/elf64mmix.sh: Likewise.
398         * emulparams/hppa64linux.sh: Likewise.
399         * emulparams/m32relf.sh: Likewise.
400         * emulparams/vxworks.sh: Likewise.
401         * scripttempl/armbpabi.sc (OTHER_BSS_SECTIONS): Delete.
402         (OTHER_BSS_END_SYMBOLS): Add.
403         (OTHER_END_SYMBOLS): Move before current end sym definitions.
404         (OTHER_SYMBOLS): Replace OTHER_END_SYMBOLS near end of script.
405         * scripttempl/elf.sc: Likewise.
406         * scripttempl/elf32sh-symbian.sc: Likewise.
407         * scripttempl/elf_chaos.sc: Likewise.
408         * scripttempl/elfxtensa.sc: Likewise.
409         * scripttempl/iq2000.sc: Likewise.
410         * scripttempl/xstormy16.sc: Likewise.
411
412         * scripttempl/elf.sc (LBSS, LARGE_SECTIONS): Delete.
413         (REL_LDATA, REL_LBSS, REL_LRODATA): Delete.
414         (REL_LARGE, LARGE_SECTIONS): Add.
415         * emulparams/elf_x86_64.sh (LARGE_SECTIONS): Define as script text.
416         (REL_LARGE): Define.
417         * emulparams/hppa64linux.sh (OTHER_BSS_SECTIONS): Don't define.
418         (LARGE_SECTIONS): Define.
419         * emulparams/hppa64linux.sh (OTHER_BSS_SECTIONS): Don't define.
420         (LARGE_SECTIONS): Define.
421
422 2005-08-04  Alan Modra  <amodra@bigpond.net.au>
423
424         * ldemul.c (ldemul_do_assignments, do_assignments_default): Delete.
425         * ldemul.h (ldemul_do_assignments, do_assignments_default): Delete.
426         (struct ld_emulation_xfer_struct): Remove do_assignments field.
427         * ldlang.c (lang_do_assignments): Don't call ldemul_do_assignments.
428         * emulparams/elf32ppc.sh (SDATA_START_SYMBOLS): New.
429         (SDATA2_START_SYMBOLS, SBSS_START_SYMBOLS, SBSS_END_SYMBOLS): New.
430         * emultempl/aix.em (ld_*_emulation): Delete do_assignments init.
431         * emultempl/armcoff.em: Likewise.
432         * emultempl/beos.em: Likewise.
433         * emultempl/generic.em: Likewise.
434         * emultempl/gld960.em: Likewise.
435         * emultempl/gld960c.em: Likewise.
436         * emultempl/linux.em: Likewise.
437         * emultempl/lnk960.em: Likewise.
438         * emultempl/m68kcoff.em: Likewise.
439         * emultempl/pe.em: Likewise.
440         * emultempl/sunos.em: Likewise.
441         * emultempl/ticoff.em: Likewise.
442         * emultempl/vanilla.em: Likewise.
443         * emultempl/elf32.em: Likewise.
444         (gld*_provide_bound_symbols): Delete.
445         (gld*_provide_init_fini_syms): Delete.
446         (gld*_before_allocation): Don't call ldemul_do_assignments.
447         * emultempl/ppc32elf.em (ppc_do_assignments): Delete.
448         (LDEMUL_DO_ASSIGNMENTS): Delete.
449         * scripttempl/elf.sc: Provide init/fini syms.  Add SBSS_START_SYMBOLS,
450         SBSS_END_SYMBOLS, SDATA2_START_SYMBOLS.
451
452 2005-08-04  Alan Modra  <amodra@bigpond.net.au>
453
454         * Makefile.am (eelf32m32c.c): Fix dependencies.
455         * Makefile.in: Regenerate.
456
457 2005-08-04  Alan Modra  <amodra@bigpond.net.au>
458
459         * ldemul.c (ldemul_finish): Call ld_emulation->finish unconditionally.
460         (finish_default): New function.
461         * ldemul.h (finish_default): Declare.
462         * emultempl/aix.em (gld*_before_allocation): Call
463         before_allocation_default rather than strip_excluded_output_sections.
464         (ld_*_emulation): Init finish field to finish_default.
465         * emultempl/armcoff.em: Likewise.
466         * emultempl/beos.em: Likewise.
467         * emultempl/elf32.em: Likewise.
468         * emultempl/generic.em: Likewise.
469         * emultempl/gld960.em: Likewise.
470         * emultempl/gld960c.em: Likewise.
471         * emultempl/hppaelf.em: Likewise.
472         * emultempl/linux.em: Likewise.
473         * emultempl/lnk960.em: Likewise.
474         * emultempl/m68kcoff.em: Likewise.
475         * emultempl/mmo.em: Likewise.
476         * emultempl/pe.em: Likewise.
477         * emultempl/ppc64elf.em: Likewise.
478         * emultempl/sunos.em: Likewise.
479         * emultempl/ticoff.em: Likewise.
480         * emultempl/vanilla.em: Likewise.
481
482 2005-08-03  Alan Modra  <amodra@bigpond.net.au>
483
484         * ldlang.c (exp_init_os): Handle etree_provide.
485         * emulparams/armelf.sh (OTHER_END_SYMBOLS): Rename from..
486         (OTHER_BSS_END_SYMBOLS): ..this.
487         * emulparams/armelf_linux.sh: Likewise.
488         * emulparams/armnto.sh: Likewise.
489         * emulparams/criself.sh: Likewise.
490         * emulparams/crislinux.sh: Likewise.
491         * emulparams/elf32frv.sh: Likewise.
492         * emulparams/elf32mcore.sh: Likewise.
493         * emulparams/elf32ppc.sh: Likewise.
494         * emulparams/elf32ppclinux.sh: Likewise.
495         * emulparams/hppa64linux.sh: Likewise.
496         * scripttempl/armbpabi.sc: Substitute $OTHER_END_SYMBOLS, not
497         $OTHER_BSS_END_SYMBOLS.
498         * scripttempl/elf32sh-symbian.sc: Likewise.
499         * scripttempl/elf_chaos.sc: Likewise.
500         * scripttempl/iq2000.sc: Likewise.
501         * scripttempl/xstormy16.sc: Likewise.
502         * scripttempl/elf.sc: Likewise.  Delete __bss_start comment.
503         * scripttempl/elfxtensa.sc: Likewise.
504
505 2005-07-29  Nick Clifton  <nickc@redhat.com>
506
507         * ldmain.c (main): Allow -shared and -static to be used together.
508         * ld.texinfo (-static): Mention that it is allowed with -shared.
509
510 2005-07-28  DJ Delorie  <dj@redhat.com>
511
512         * ldlang.c (lang_output_section_statement_lookup_1): Don't cast a
513         unary & address operator, as that breaks GCC's strict aliasing
514         rules.
515
516 2005-07-25  Jan Hubicka  <jh@suse.cz>
517             H.J. Lu  <hongjiu.lu@intel.com>
518
519         * emulparams/elf_x86_64.sh (LARGE_SECTIONS): New.
520
521         * scripttempl/elf.sc: Updated for large section support.
522
523 2005-07-21  Ralf Corsepius  <ralf.corsepius@rtems.org>
524
525         * configure.tgt: Remove i[3-7]86-*-rtemself*.
526         Remove sparc-*-rtemself*.
527
528 2005-07-21  Ben Elliston  <bje@gnu.org>
529
530         * ldgram.y (ldgram_want_filename): Remove unused static.
531
532 2005-07-20  DJ Delorie  <dj@redhat.com>
533
534         * emulparams/elf32m32c.sh (TEMPLATE_NAME): New.
535         (EXTRA_EM_FILE): New.
536
537 2005-07-19  H.J. Lu  <hongjiu.lu@intel.com>
538
539         * ldmain.c (main): Reindent.
540
541 2005-07-19  Paul Brook  <paul@codesourcery.com>
542
543         * configure.host (HOSTING_CRT0): Parse output of gcc --help --verbose
544         to determine dynamic linker name.
545
546 2005-07-18  Nick Clifton  <nickc@redhat.com>
547
548         * configure.tgt: Restore alpha ordering to list of arches.
549
550 2005-07-16  Alan Modra  <amodra@bigpond.net.au>
551
552         * emultempl/elf32.em (gld*_provide_init_fini_syms): Prototype.
553         (gld*_before_allocation): Call ldemul_do_assignments rather than
554         gld*_provide_init_fini_syms directly.
555         * emultempl/ppc32elf.em (gld*_after_allocation): Delete.
556         (ppc_do_assignments): New function.
557         (LDEMUL_AFTER_ALLOCATION): Don't define.
558         (LDEMUL_DO_ASSIGNMENTS): Define.
559
560 2005-07-16  Alan Modra  <amodra@bigpond.net.au>
561
562         * Makefile.am: Run "make dep-am".
563         (emipsidt.c, emipsidtl.c): Depend on generic.em.
564         * Makefile.in: Regenerate.
565
566 2005-07-15  Alan Modra  <amodra@bigpond.net.au>
567
568         * ldemul.c (ldemul_do_assignments): New function.
569         (do_assignments_default): New function.
570         * ldemul.h (ldemul_do_assignments): Declare.
571         (do_assignments_default): Declare.
572         (struct ld_emulation_xfer_struct): Add do_assignments.
573         * ldlang.c (lang_do_assignments) Call ldemul_do_assignments.
574         * emultempl/aix.em (ld_*_emulation): Init do_assignments field.
575         * emultempl/armcoff.em: Likewise.
576         * emultempl/beos.em: Likewise.
577         * emultempl/generic.em: Likewise.
578         * emultempl/gld960.em: Likewise.
579         * emultempl/gld960c.em: Likewise.
580         * emultempl/linux.em: Likewise.
581         * emultempl/lnk960.em: Likewise.
582         * emultempl/m68kcoff.em: Likewise.
583         * emultempl/pe.em: Likewise.
584         * emultempl/sunos.em: Likewise.
585         * emultempl/ticoff.em: Likewise.
586         * emultempl/vanilla.em: Likewise.
587         * emultempl/elf32.em: Likewise, to call gld*_provide_init_fini_syms.
588         (gld*_find_exp_assignment): Adjust bfd_elf_record_link_assignment call.
589
590 2005-07-14  Jim Blandy  <jimb@redhat.com>
591
592         Add support for the Renesas M32C and M16C.
593         * Makefile.am (ALL_EMULATIONS): Add eelf32m32c.o.
594         (eelf32m32c.c): New target.
595         * Makefile.in: Regenerated.
596         * configure.tgt: Add case for m32c-*-elf.
597         * emulparams/elf32m32c.sh: New file.
598
599 2005-07-14  Alan Modra  <amodra@bigpond.net.au>
600
601         * ldlang.c (strip_excluded_output_sections): Don't call
602         bfd_gc_sections.
603         * emultempl/elf32.em (gld*_provide_bound_symbols): Move.
604         (gld*_provide_init_fini_syms): Move.
605         (gld*_before_allocation): Call the above from here..
606         (gld*_finish): ..not here.  Call _bfd_elf_fix_excluded_sec_syms.
607         * emultempl/hppaelf.em (hppaelf_finish): Likewise.
608         * emultempl/ppc64elf.em (ppc_finish): Likewise.
609
610 2005-07-10  Ralf Corsepius <ralf.corsepius@rtems.org>
611
612         * configure.tgt: Remove sparc*-*-rtemsaout*, i[3-7]86-go32-rtems*,
613         i[3-7]86-*-rtemscoff*, hppa*-*-rtems*, mips*el-*-rtems*,
614         powerpcle-*-rtems*.
615
616 2005-07-09  Christopher Faylor  <cgf@timesys.com>
617
618         * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Enable runtime
619         relocation by default.
620         (compute_dll_image_base): Avoid linking into cygwin dll address space.
621
622 2005-07-08  Alan Modra  <amodra@bigpond.net.au>
623
624         * ldlang.c (wild_sort): Formatting.
625         (strip_excluded_output_sections): Strip zero size sections here.
626         * emultempl/elf32.em (gld*_strip_empty_sections): Delete.
627         (gld*_finish): Don't call the above.
628         * emultempl/hppaelf.em (hppaelf_finish): Likewise.
629         * emultempl/ppc64elf.em (ppc_finish): Likewise.
630
631 2005-07-05  Paul Brook  <paul@codesourcery.com>
632
633         * Makefile.am (ALL_EMULATIONS): Add eelf32ppcvxworks.o.
634         (eelf32ppcvxworks.o): Add dependencies.
635         * Makefile.in: Regenerate.
636         * configure.tgt: Add entry for powerpc-vxworks.
637         * emulparams/elf32-ppc.c: Mention elf32ppcvxworks.sh in comment.
638         * emulparams/elf32ppcvxworks.sh: New file.
639         * emultempl/ppc32elf.em (bfd_elf32_powerpc_vxworks_vec): Declare.
640         (is_ppc_elf32_vec): New function.
641         (ppc_after_open, ppc_before_allocation,
642         gld${EMULATION_NAME}_after_allocation): Use it.
643
644 2005-07-05  Peter S. Mazinger" <ps.m@gmx.net>
645
646         * emulparams/elf32bmip.sh (GENERATE_PIE_SCRIPT): Define as "yes".
647         * emulparams/elf32bmipn32-defs.sh (GENERATE_PIE_SCRIPT): Define as "yes".
648
649 2005-07-04  Mike Frysinger <vapier@gentoo.org>
650
651         * emulparams/hppalinux.sh (GENERATE_PIE_SCRIPT): Fix typo in
652         name.
653
654 2005-07-04  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
655
656         * emulparams/m32relf_linux.sh (GENERATE_PIE_SCRIPT): Set to yes.
657
658 2005-07-04  Aurelien Jarno  <aurel32@debian.org>
659
660         * emultempl/elf32.em: Enable use of ld.so.conf for *-*-k*bsd-*.
661
662 2005-07-01  Alan Modra  <amodra@bigpond.net.au>
663
664         * scripttempl/elf.sc (.gcc_except_table): Don't KEEP.
665
666 2005-06-30  Ben Elliston  <bje@gnu.org>
667
668         * Makefile.am (check-DEJAGNU): Don't search for expect.
669         * Makefile.in: Regenerate.
670
671 2005-06-30  Ben Elliston  <bje@gnu.org>
672
673         * Makefile.am (EXPECT): Set to expect.
674         (RUNTEST): Likewise, set to runtest.
675         * Makefile.in: Regenerate.
676
677 2005-06-16  Alexander Klimov  <alserkli@inbox.ru>
678
679         * emultempl/armelf.em: Add quotes to avoid a null test
680         expression.
681
682 2005-06-12  Daniel Jacobowitz  <dan@codesourcery.com>
683
684         * ld.texinfo (Command Line Options): Add @item for --hash-size.
685
686 2005-06-10  Alan Modra  <amodra@bigpond.net.au>
687
688         * scripttempt/elf.sc (.bss): Align tail in a way that allows
689         empty section pruning.
690
691 2005-06-09  Steve Ellcey  <sje@cup.hp.com>
692
693         * configure.in (AM_BINUTILS_WARNINGS): Add.
694         (BFD_NEED_DECLARATION) Replace with AC_CHECK_DECLS.
695         * config.in: Regenerate.
696         * configure: Regenerate.
697         * sysdep.h (NEED_DECLARATION_*): Replace with HAVE_DECL_*
698         * ldmain.c: Ditto.
699
700 2005-06-09  Alan Modra  <amodra@bigpond.net.au>
701
702         * ldexp.c (fold_unary <ALIGN_K>): Revert last change.
703
704 2005-06-09  Alan Modra  <amodra@bigpond.net.au>
705
706         * ld.h (lang_phase_type): Move to..
707         * ldexp.h: ..here.  Add lang_mark_phase_enum.
708         (node_type): Remove etree_undef and etree_unspec.
709         (exp_data_seg): Delete.
710         (struct ldexp_control, expld): New.
711         (invalid, exp_mark_used_section): Delete.
712         (exp_fold_tree, exp_get_vma, exp_get_value_int, exp_get_fill,
713         exp_get_abs_int): Update prototypes.
714         * ldexp.c (assigning_to_dot): Delete.
715         (expld): Define.
716         (make_abs): Operate directly on expld.result.  Update all callers.
717         (new_abs): Likewise.  Return void.
718         (new_rel_from_abs): Rename from new_rel_from_section.
719         (new_rel, new_rel_from_abs): Operate on expld.result and return void.
720         Update all callers.
721         (fold_unary): Operate on expld.result and return void.  Remove
722         "current_section", "allocation_done", "dot", "dotp" and "mark_used"
723         params.  Update all callers.
724         (fold_binary, fold_trinary, fold_name, exp_fold_tree_1): Likewise.
725         (fold_unary <ALIGN_K>): Ensure alignment is absolute.
726         (fold_unary <ABSOLUTE>): Use make_abs.
727         (fold_unary <DATA_SEGMENT_END>): Evaluate mark_phase as for
728         allocating_phase.
729         (fold_binary <DATA_SEGMENT_ALIGN, DATA_SEGMENT_RELRO_END, >): Ditto.
730         (fold_binary <'%','/'>): Don't error if marking.
731         (fold_name <SIZEOF_HEADERS>): Don't call bfd_sizeof_headers when
732         marking.
733         (fold_name <NAME>): Remove FIXME; -R is handled correctly.  Don't
734         error when marking.
735         (fold_name <ADDR, LOADADDR, SIZEOF>): Don't set SEC_KEEP.
736         (exp_fold_tree_1): Don't error when marking.
737         (exp_fold_tree_1 <etree_rel>): Evaluate in all phases except first.
738         (exp_fold_tree_1 <etree_assign to dot>): Don't check for NULL
739         current section, instead check for NULL dotp.
740         (exp_fold_tree_1 <etree_provide>): Don't evaluate the assignment
741         source unless the symbol is referenced and undefined.
742         (exp_fold_tree): Remove "allocation_done" and "dot" params.  Save
743         params to expld.
744         (exp_fold_tree_no_dot): Remove "current_section", "allocation_done
745         and "mark_used" params.  Save params to expld.  Update all callers.
746         (exp_assop): Do without temp var.
747         (exp_print_tree <etree_undef>): Delete code.
748         (exp_get_vma): Remove "allocation_done" param.  Correct error return.
749         (exp_get_fill, exp_get_abs_int): Likewise.
750         (exp_get_value_int): Remove "allocation_done" param.
751         (exp_mark_used_section): Delete.
752         * ldgram.y (fill_exp): Update exp_get_fill call.
753         (origin_spec, length_spec): Update exp_get_vma call.
754         * ldlang.c (lang_init): Don't bother clearing lang_statement_iteration.
755         (lang_mark_used_section_1, lang_mark_used_section): Delete.
756         (strip_excluded_output_sections): Call one_lang_size_sections_pass in
757         marking mode.  Merge old lang_mark_used_section code.  Correct handling
758         of output sections with excluded input sections and data statements.
759         Don't drop non-zero sized sections.  Don't zap os->bfd_section.
760         Do set SEC_EXCLUDE when appropriate.
761         (print_output_section_statement): Update for changed ldexp.c
762         interface.
763         (print_assignment, lang_size_sections_1): Likewise.
764         (lang_do_assignments_1, lang_enter_output_section_statement): Likewise.
765         (lang_new_phdr, lang_record_phdrs): Likewise.
766         (lang_size_sections): Likewise.
767         (insert_pad): Use following statement if it is a pad, rather than
768         creating a new one.
769         (lang_size_sections_1 <lang_output_section_statement_enum>): Do
770         process ignored output section to set vma and lma, but don't
771         update dot for these sections.  Don't error if marking.
772         (lang_size_sections_1 <lang_assignment_statement_enum>): Don't
773         update dot for ignored sections.
774         (lang_size_sections_1 <lang_data_statement_enum>): Don't mark absolute
775         section with SEC_ALLOC.
776         (one_lang_size_sections_pass): New function.
777         (lang_size_sections): Remove first five params.  Set expld.phase on
778         entry and exit.   Use one_lang_size_sections_pass.
779         (lang_do_assignments): Remove all params.  Update all callers.
780         (lang_reset_memory_regions): Clear os->processed for all output
781         section statements.
782         * ldlang.h (lang_do_assignments): Update prototype.
783         (lang_size_sections): Likewise.
784         (one_lang_size_sections_pass): Declare.
785         * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update
786         lang_size_sections and lang_do_assignments calls.
787         * emultempl/elf32.em (layout_sections_again): Likewise.
788         * emultempl/ppc64elf.em (ppc_before_allocation): Use
789         one_lang_size_sections_pass.
790
791 2005-06-08  Aldy Hernandez  <aldyh@redhat.com>
792
793         * emulparams/elf32ms1.sh: New.
794
795 2005-06-07  Eric Christopher  <echristo@redhat.com>
796
797         * Makefile.am (eelf32ms1.c): Use tab.
798         * Makefile.in: Regenerate.
799
800 2005-06-07  Aldy Hernandez  <aldyh@redhat.com>
801             Michael Snyder  <msnyder@redhat.com>
802             Stan Cox  <scox@redhat.com>
803
804         * configure.tgt: Same.
805
806         * Makefile.am (ALL_EMULATIONS): Depend on eelf32ms1.o.
807         (eelf32ms1.c): Add eelf32ms1.c rule.
808
809         * Makefile.in: Regenerate.
810
811 2005-06-06  Alan Modra  <amodra@bigpond.net.au>
812
813         * emultempl/ppc64elf.em (ppc_before_allocation): Always run
814         ppc64_elf_edit_opd.
815
816 2005-06-05  H.J. Lu  <hongjiu.lu@intel.com>
817
818         * ldexp.c (exp_mark_used_section): Set SEC_KEEP on current
819         section only if the symbol will be defined.
820
821 2005-06-04  H.J. Lu  <hongjiu.lu@intel.com>
822
823         PR 992
824         * ldexp.c (exp_mark_used_section): Set SEC_KEEP on current
825         section for etree_assign, etree_provide and etree_provided.
826         Call fold_binary on etree_binary.
827
828         * ldlang.c (lang_mark_used_section_1): Handle load base.
829
830 2005-06-03  Alan Modra  <amodra@bigpond.net.au>
831
832         * ldmain.c (link_callbacks): Add einfo.
833         (add_archive_element): Use passed info, not link_info.
834         (constructor_callback): Likewise.
835         (reloc_overflow): Don't handle null bfd specially.
836         (reloc_dangerous, unattached_reloc): Likewise.
837         * ldmisc.c (vfinfo <B>): Print "ld generated" for null bfd.
838         (vfinfo <C, D, G>): Handle null bfd.  Wrap comments.
839
840 2005-06-02  Alan Modra  <amodra@bigpond.net.au>
841
842         * ldexp.h (etree_value_type): Use "asection *" in place of
843         "struct lang_output_section_statement_struct *" for "section".
844         (exp_fold_tree): Likewise.
845         (exp_mark_used_section): Likewise.
846         * ldexp.c (new_rel, new_rel_from_section, fold_unary, fold_binary,
847         fold_trinary, fold_name, exp_fold_tree_1, exp_fold_tree,
848         exp_mark_used_section): Likewise for "current_section" param.
849         (make_abs, new_abs, exp_binop, exp_unop, exp_get_vma, exp_get_fill,
850         exp_get_abs_int): Adjust for above changes.
851         * ldlang.c (lang_mark_used_section_1, print_assignment,
852         lang_size_sections_1, lang_do_assignments_1): Likewise.
853         * ldexp.c (fold_name): Init entire result struct.
854
855 2005-06-01  Maciej W. Rozycki  <macro@linux-mips.org>
856
857         * emulparams/elf32btsmip.sh: Unset DATA_ADDR.
858
859 2005-05-31  Zack Weinberg  <zack@codesourcery.com>
860
861         * ldlang.c (entry_symbol_default): New file-scope global.
862         (lang_finish): Use it, not a hardwired "start".
863         (lang_default_entry): Set it.
864         * ldlang.h: Declare lang_default_entry.
865         * emultempl/beos.em, emultempl/pe.em: Use lang_default_entry,
866         not lang_add_entry, to override default entry point symbol.
867
868 2005-05-29  Richard Henderson  <rth@redhat.com>
869
870         * emulparams/elf64alpha.sh (PLT): New.
871         (TEXT_PLT): New.
872         * emultempl/alphaelf.em (disable_relaxation): New.
873         (limit_32bit): Rename from elf64alpha_32bit; update all users.
874         (elf64_alpha_use_secureplt): Declare.
875         (bfd_elf64_alpha_vec, bfd_elf64_alpha_freebsd_vec): Declare.
876         (alpha_after_open): New.
877         (alpha_before_allocation): New.
878         (OPTION_NO_RELAX, OPTION_SECUREPLT, OPTION_NO_SECUREPLT): New.
879         (PARSE_AND_LIST_LONGOPTS): Include them.
880         (PARSE_AND_LIST_OPTIONS): Likewise.
881         (PARSE_AND_LIST_ARGS_CASES): Likewise.
882         (LDEMUL_AFTER_OPEN, LDEMUL_BEFORE_ALLOCATION): New.
883         * scripttempl/elf.sc (TEXT_PLT): New.
884         (PLT): Use it.
885
886 2005-05-27  Andreas Schwab  <schwab@suse.de>
887
888         * configure.host (HOSTING_LIBS): Add libunwind.a if it exists.
889
890 2005-05-24  Alan Modra  <amodra@bigpond.net.au>
891
892         * emultempl/ppc32elf.em (after_allocation): Don't call
893         ppc_elf_set_sdata_syms when relocatable.
894
895 2005-05-21  H.J. Lu  <hongjiu.lu@intel.com>
896
897         * Makefile.am (ld.1): Revert the last 2 changes.
898         (info-recursive): Depend on ld.1.
899         * Makefile.in: Regenerated.
900
901 2005-05-21  H.J. Lu  <hongjiu.lu@intel.com>
902
903         * Makefile.am (ld.1): Depend on "info" instead of
904         "configdoc.texi ldver.texi".
905         * Makefile.in: Regenerated.
906
907 2005-05-21  H.J. Lu  <hongjiu.lu@intel.com>
908
909         * Makefile.am (ld.1): Depend on "info".
910         * Makefile.in: Regenerated.
911
912 2005-05-19  Zack Weinberg  <zack@codesourcery.com>
913
914         * Makefile.am: Have 'all' depend on 'info' and 'ld.1'.
915         * Makefile.in: Regenerate.
916
917 2005-05-17  Zack Weinberg  <zack@codesourcery.com>
918
919         * ld-arm/mixed-app.d: Adjust expected disassembly a little.
920
921 2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
922
923         * Makefile.am (ldver.texi): Don't use $<.
924         * Makefile.in: Regenerated.
925
926 2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
927
928         * Makefile.am (AM_MAKEINFOFLAGS, TEXI2DVI): Explicitly include
929         $(srcdir) before $(BFDDIR)/doc.
930         * Makefile.in: Regenerated.
931
932 2005-05-17  H.J. Lu  <hongjiu.lu@intel.com>
933
934         PR 797
935         * ldexp.c (exp_fold_tree_1): Renamed from exp_fold_tree and
936         take take a bfd_boolean, mark_used. Ignore assert failure if
937         mark_used is TRUE.
938         (exp_fold_tree) Call exp_fold_tree_1 with mark_used == FALSE.
939         (exp_fold_tree_no_dot): Updated to take a bfd_boolean,
940         mark_used and pass down.
941         (fold_unary): Likewise.
942         (fold_binary): Likewise.
943         (fold_trinary): Likewise.
944         (exp_binop): Add FALSE to call to exp_fold_tree_no_dot.
945         (exp_trinop): Likewise.
946         (exp_unop): Likewise.
947         (exp_nameop): Likewise.
948         (exp_get_vma): Likewise.
949         (exp_get_fill): Likewise.
950         (exp_get_abs_int): Likewise.
951         (fold_name): Likewise. Set SEC_KEEP in output section flags.
952         (exp_mark_used_section): New.
953
954         * ldexp.h (exp_mark_used_section): New.
955
956         * ldlang.c (lang_output_section_statement_lookup_1): Set the
957         ignored field to FALSE.
958         (lang_mark_used_section_1): New.
959         (lang_mark_used_section): Call lang_mark_used_section_1.
960         (strip_excluded_output_sections): Call lang_mark_used_section
961         and check for unused sections.
962         (lang_size_sections_1): Skip an output section if it should
963         be ignored.
964         (lang_do_assignments_1): Likewise.
965         (lang_process): Don't call lang_mark_used_section here.
966
967         * ldlang.h (lang_output_section_statement_type): Change
968         all_input_readonly to bitfield. Add ignored.
969
970 2005-05-17  Lennert Buytenhek  <buytenh@wantstofly.org>
971             Peter S. Mazinger" <ps.m@gmx.net>
972
973         * emulparams/armelf_linux.sh (GENERATE_PIE_SCRIPT): Define as "yes".
974         * emulparams/hppalinux.sh (GENERATE_PIE_SCRIPT): Define as "yes".
975
976 2005-05-17  Julian Brown <julian@codesourcery.com>
977
978         * ldlang.c (print_assignment): Do not rely upon a valid result
979         having a section associated with it.
980
981 2005-05-17  Nick Clifton  <nickc@redhat.com>
982
983         * ldlang.c (Scan_for_self_assignment): Check an assignment tree to
984         see if the same value is being used on the rhs as on the lhs.
985         (print_assignment): Call scan_for_self_assignment and if it
986         returns true, do no display the result of the computation but
987         instead just the final value of the symbol on the lhs.
988         * ld.texinfo: Document this behaviour and provide an example of
989         when it will happen.
990
991 2005-05-15  Daniel Jacobowitz  <dan@codesourcery.com>
992
993         * Makefile.am (AM_MAKEINFOFLAGS): Define.
994         (TEXI2DVI): Define.
995         (ldver.texi): Depend on distributed files instead of built files.
996         (ld.info): Include $(srcdir) in the rule target.  Remove actions.
997         (ld.dvi): Remove actions.
998         (MAINTAINERCLEANFILES): Add configdoc.texi.
999         (CONFIG_STATUS_DEPENDENCIES): Add bfd/configure.in.
1000         (install-data-local): Renamed from install.
1001         (Makefile): Remove explicit dependency.
1002         * acinclude.m4: Remove obsolete code.
1003         * configure.in: Update AC_PREREQ.  Remove extra $CONFIG_SHELL.
1004         * Makefile.in, aclocal.m4, config.in, configure: Regenerated.
1005
1006 2005-05-11  Bob Wilson  <bob.wilson@acm.org>
1007
1008         * scripttempl/elfxtensa.sc: Sync up with elf.sc.
1009         * emulparams/elf32xtensa.sh (PLT, GOT): Define.
1010
1011 2005-05-11  Alan Modra  <amodra@bigpond.net.au>
1012
1013         * ldgram.y: Add SPECIAL token.
1014         (sect_constraint): Handle SPECIAL.
1015         * ldlang.c (lang_output_section_find_1): Don't match SPECIAL.
1016         (map_input_to_output_sections): Likewise.
1017         * ldlex.l (SPECIAL): Define.
1018         * emulparams/elf32ppc.sh (DATA_GOT, SDATA_GOT, SEPARATE_GOTPLT,
1019         GOT, PLT, GOTPLT): Define.
1020         * emultempl/ppc32elf.em (old_plt, old_got): New static vars.
1021         (ppc_after_open): New function.
1022         (PARSE_AND_LIST_PROLOGUE): Define OPTION_OLD_LPT and OPTION_OLD_GOT.
1023         (PARSE_AND_LIST_LONGOPTS): Add "bss-plt" and "sdata-got".
1024         (PARSE_AND_LIST_OPTIONS): Document them.
1025         (PARSE_AND_LIST_ARGS_CASES): Handle them.
1026         (LDEMUL_AFTER_OPEN): Define.
1027         * scripttempl/elf.sc (PLT): Don't override existing define.
1028         (DATA_GOT, SDATA_GOT): Define and use to enable alternate got
1029         placement rather than using NO_SMALL_DATA.  Emit GOTPLT for RELRO_NOW.
1030
1031 2005-05-10  Alan Modra  <amodra@bigpond.net.au>
1032
1033         * scripttempl/elf.sc (DATA_SEGMENT_RELRO_GOTPLT_END): Delete.
1034         (DATA_SEGMENT_RELRO_END): Use SEPARATE_GOTPLT value.
1035         (GOTPLT): Remove DATA_SEGMENT_RELRO_GOTPLT_END.  Place after
1036         DATA_SEGMENT_RELRO_END in script.
1037
1038 2005-05-09  H.J. Lu  <hongjiu.lu@intel.com>
1039
1040         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
1041         Don't use a removed section.
1042
1043 2005-05-09  H.J. Lu  <hongjiu.lu@intel.com>
1044
1045         * ldmain.c (reloc_overflow): Use output_bfd if the symbol
1046         is defined in the ABS section.
1047
1048 2005-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1049
1050         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_init_fini_syms):
1051         Put back !link_info.relocatable.
1052
1053 2005-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1054
1055         PR 878
1056         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_init_fini_syms):
1057         Just check link_info.executable.
1058
1059 2005-05-06  Nick Clifton  <nickc@redhat.com>
1060
1061         * Update the address and phone number of the FSF organization in
1062         the GPL notices in the following files:
1063         aclocal.m4, deffile.h, deffilep.y, fdl.texi, ld.h, ldcref.c,
1064         ldctor.c, ldctor.h, ldemul.c, ldexp.c, ldexp.h, ldfile.c,
1065         ldfile.h, 20ldgram.y, ldint.texinfo, ldlang.c, ldlang.h, ldlex.h,
1066         ldlex.l, ldmain.c, ldmain.h, ldmisc.c, ldmisc.h, ldver.c, ldver.h,
1067         ldwrite.c, ldwrite.h, lexsup.c, mri.c, mri.h, pe-dll.c, pe-dll.h,
1068         sysdep.h, emultempl/aix.em, emultempl/alphaelf.em,
1069         emultempl/armcoff.em, emultempl/armelf.em, emultempl/beos.em,
1070         emultempl/crxelf.em, emultempl/elf32.em, emultempl/generic.em,
1071         emultempl/gld960.em, emultempl/gld960c.em, emultempl/hppaelf.em,
1072         emultempl/ia64elf.em, emultempl/irix.em,  emultempl/linux.em,
1073         emultempl/lnk960.em, emultempl/m68hc1xelf.em,
1074         emultempl/m68kcoff.em, emultempl/m68kelf.em,
1075         emultempl/mipsecoff.em, emultempl/mmix-elfnmmo.em,
1076         emultempl/mmixelf.em, emultempl/mmo.em, emultempl/needrelax.em,
1077         emultempl/pe.em, emultempl/ppc32elf.em, emultempl/ppc64elf.em,
1078         emultempl/sh64elf.em, emultempl/sunos.em, emultempl/ticoff.em,
1079         emultempl/vanilla.em, emultempl/xtensaelf.em
1080
1081 2005-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1082
1083         * scripttempl/elf.sc: Document the usage of __bss_start.
1084
1085 2005-05-05  Paul Brook  <paul@codesourcery.com>
1086
1087         * Makefile.am: Add eelf_i386_vxworks.
1088         * Makefile.in: Regenerate.
1089         * configure.tgt: Make i?86-*-vxworks use targ_emul=elf_i386_vxworks.
1090         * emulparams/elf_i386_vxworks.sh: New file.
1091         * emulparams/vxworks.sh: New file.
1092         * scripttempl/elf.sc: Add DATA_END_SYMBOLS and ETEXT_NAME.
1093
1094 2005-05-04  H.J. Lu  <hongjiu.lu@intel.com>
1095
1096         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
1097         Call _bfd_elf_provide_section_bound_symbols.
1098
1099 2005-05-04  Alan Modra  <amodra@bigpond.net.au>
1100
1101         * ldemul.c: Include bfdlink.h.
1102         (ldemul_before_allocation): Assume before_allocation is non-zero.
1103         (before_allocation_default): Call strip_excluded_output_sections.
1104         * ldlang.c (stripped_excluded_sections): New variable.
1105         (lang_add_section): Build input section list for each output
1106         section, attached via map_head and map_tail pointers.
1107         (strip_excluded_output_sections): Make global.  Traverse the
1108         input section lists to find which output sections can go.  Clear
1109         link_order pointers and set stripped_excluded_sections.
1110         (lang_process): Call strip_excluded_output_sections.
1111         * ldlang.h (strip_excluded_output_sections): Declare.
1112         * ldwrite.c: Update throuhout for link_order_head -> map_head change.
1113         * emultempl/aix.em (before_allocation): Call
1114         strip_excluded_output_sections.
1115         * emultempl/armcoff.em (before_allocation): Likewise.
1116         * emultempl/beos.em (before_allocation): Likewise.
1117         * emultempl/linux.em (before_allocation): Likewise.
1118         * emultempl/pe.em (before_allocation): Likewise.
1119         * emultempl/sunos.em (before_allocation): Likewise.
1120         * emultempl/elf32.em (before_allocation): Likewise.  Call
1121         bfd_elf_size_dynsym_hash_dynstr too.
1122         * emultempl/lnk960.em (lnk960_before_allocation): Delete.
1123         (ld_lnk960): Use before_allocation_default.
1124
1125 2005-05-02  H.J. Lu  <hongjiu.lu@intel.com>
1126
1127         * emultempl/elf32.em (gld${EMULATION_NAME}_strip_empty_section):
1128         Updated for bfd_section_list_remove change.
1129         * ldlang.c (lang_insert_orphan): Likewise.
1130         (strip_excluded_output_sections): Likewise.
1131         (sort_sections_by_lma): New.
1132         (lang_check_section_addresses): Sort the sections before
1133         checking addresses.
1134
1135 2005-04-29  Ralf Corsepius <ralf.corsepius@rtems.org>
1136
1137         * configure.tgt: Add h8300*-*-rtemscoff.
1138         Switch h8300*-*-rtems* to elf.
1139
1140 2005-04-29  Ben Elliston  <bje@au.ibm.com>
1141
1142         * ldgram.y (lang_memory_region_type): Make static.
1143         (ldgram_want_filename): Likewise.
1144         * ldemul.c (ld_emulation): Make static.
1145         * ldfile.h (ldfile_find_command_file): Remove extern.
1146         * ldfile.c (ldfile_find_command_file): Make static.
1147         * ldlang.h (unique_section_list): Remove extern declaration.
1148         * ldlang.c (unique_section_list): Make static.
1149         * mri.h (symbol_truncate): Remove extern declaration.
1150         * mri.c (symbol_truncate): Make static.
1151         (order, only_load, address, alias): Likewise.
1152         (alignment, subalignment): Likewise.
1153
1154 2005-04-27  H.J. Lu  <hongjiu.lu@intel.com>
1155
1156         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
1157         Use the first SEC_ALLOC section which isn't SEC_READONLY or the
1158         last SEC_ALLOC section if such a section doesn't exist.
1159
1160 2005-04-24  Mark Kettenis  <kettenis@gnu.org>
1161
1162         * configure.host: Add *-*-openbsd support.
1163
1164 2005-04-15  Julian Brown  <julian@codesourcery.com>
1165
1166         * ld.texinfo: Document --use-blx.
1167         * emultempl/armelf.em (use_blx): New variable.
1168         (arm_elf_create_output_section_statements): Communicate value of
1169         use_blx to bfd.
1170         (PARSE_AND_LIST_PROLOGUE): Add OPTION_USE_BLX.
1171         (PARSE_AND_LIST_OPTIONS): Add --use-blx option.
1172         (PARSE_AND_LIST_ARGS_CASES): Add OPTION_USE_BLX case.
1173
1174 2005-04-14  Alan Modra  <amodra@bigpond.net.au>
1175
1176         * Makefile.am (NO_WERROR): Define.  Use instead of -Wno-error.
1177         * configure.in: Include ../bfd/warning.m4 contents.
1178         * Makefile.in: Regenerate.
1179         * configure: Regenerate.
1180
1181 2005-04-12  Alan Modra  <amodra@bigpond.net.au>
1182
1183         * Makefile.am: Run "make dep-am".
1184         (ldgram.o, ldlex.o, deffilep.o): Add -Wno-error to command.
1185         * Makefile.in: Regenerate.
1186         * config.in: Regenerate.
1187
1188 2005-04-11  Alan Modra  <amodra@bigpond.net.au>
1189
1190         * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Ignore
1191         as_needed libs that were not needed.
1192         (gld${EMULATION_NAME}_check_needed): Likewise.
1193
1194 2005-04-07  Nick Clifton  <nickc@redhat.com>
1195
1196         * emultempl/m68kcoff.em: Include ldexp.h and ldlang.h so that
1197         ldfile.h can use the lang_input_statement type.
1198
1199 2005-04-06  Jakub Jelinek  <jakub@redhat.com>
1200
1201         * ldlang.c: Formatting.
1202         (walk_wild_consider_section): Remember return value from wildcardp.
1203         (is_simple_wild): Use strcspn instead of 2 strpbrk calls and strlen.
1204         (wild_spec_can_overlap): Use strcspn instead of strpbrk and strlen.
1205
1206 2005-04-06  Robert O'Callahan  <rocallahan@novell.com>
1207
1208         * ld.h (lean_section_userdata_type): Remove.
1209         (fat_section_userdata_type): Remove file field.
1210         (SECTION_USERDATA_SIZE): Remove.
1211         * ldlang.c (init_os): Eliminate initialization of unused
1212         lean_section_userdata_type.
1213
1214         * ldlang.h (callback_t, walk_wild_section_handler_t): New
1215         typedefs.
1216         (struct lang_wild_statement_struct): Add walk_wild_section_handler
1217         and handler_data fields.
1218         * ldlang.c (callback_t): Removed.
1219         (walk_wild_consider_section, walk_wild_section_general,
1220         section_iterator_callback, find_section, is_simple_wild,
1221         match_simple_wild, walk_wild_section_specs1_wild0,
1222         walk_wild_section_specs1_wild1, walk_wild_section_specs2_wild1,
1223         walk_wild_section_specs3_wild2, walk_wild_section_specs4_wild2,
1224         wild_spec_can_overlap, analyze_walk_wild_section_handler): New
1225         functions.
1226         (lang_add_wild): Call analyze_walk_wild_section_handler.
1227         (walk_wild_section): Renamed to walk_wild_section_general and
1228         created a wrapper function.
1229         (section_iterator_callback_data): New typedef.
1230
1231 2005-04-04  Nick Clifton  <nickc@redhat.com>
1232
1233         * configure.in: Add a check for <unistd.h> providing a prototype
1234         for getopt() which is compatible with the one in
1235         include/getopt.h.  If so then define HAVE_DECL_GETOPT.
1236         * configure: Regenerate.
1237         * config.in (HAVE_DECL_GETOPT): Add.
1238         * ldemul.c: Include config.h
1239         * lexsup.c: Likewise.
1240         * emultempl/elf32.sc: Likewise.
1241
1242 2005-03-29  Alan Modra  <amodra@bigpond.net.au>
1243
1244         * emultempl/elf32.em (gld${EMULATION_NAME}_layout_sections_again):
1245         New function, extracted from static void gld${EMULATION_NAME}_finish.
1246         (gld${EMULATION_NAME}_strip_empty_sections): Likewise.
1247         (gld${EMULATION_NAME}_provide_init_fini_syms): Likewise.
1248         * emultempl/ppc64elf.em: Revert last change.
1249         (ppc_layout_sections_again): Use
1250         gld${EMULATION_NAME}_layout_sections_again.
1251         (ppc_finish): Don't call gld${EMULATION_NAME}_finish.  Instead call
1252         gld${EMULATION_NAME}_strip_empty_sections and
1253         gld${EMULATION_NAME}_provide_init_fini_syms.
1254         * emultempl/hppaelf.em: Similarly.
1255
1256 2005-03-29  Alan Modra  <amodra@bigpond.net.au>
1257
1258         * emultempl/ppc64elf.em (need_laying_out): Delete.  Remove all refs.
1259         (ppc_finish): Don't call bfd_elf_discard_info.
1260         * emultempl/hppaelf.em: Similarly.
1261
1262 2005-03-24  Nick Clifton  <nickc@redhat.com>
1263
1264         * po/fr.po: Updated French translation.
1265
1266 2005-03-23  Mike Frysinger  <vapier@gentoo.org>
1267             Nick Clifton  <nickc@redhat.com>
1268
1269         * configure.host: Accept any C library to accompany a GNU Linux
1270         implementation, not just the GNU C library.
1271         * configure.tgt: Likewise.
1272         * emultempl/elf32.em: Likewise.
1273
1274 2005-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1275
1276         * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols): New
1277         (gld${EMULATION_NAME}_finish): Call
1278         gld${EMULATION_NAME}_provide_bound_symbols to provide
1279         __preinit_array_start, __preinit_array_end, __init_array_start,
1280         __init_array_end, __fini_array_start and __fini_array_end.
1281
1282         * scripttempl/elf.sc: Don't provide __preinit_array_start,
1283         __preinit_array_end, __init_array_start, __init_array_end,
1284         __fini_array_start nor __fini_array_end.
1285
1286 2005-03-23  Alan Modra  <amodra@bigpond.net.au>
1287
1288         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Set
1289         SEC_EXCLUDE on .gnu.warning sections.
1290
1291 2005-03-22  Alan Modra  <amodra@bigpond.net.au>
1292
1293         * scripttempl/elf.sc (SBSS): Don't provide sbss start and end syms.
1294
1295 2005-03-21  Alan Modra  <amodra@bigpond.net.au>
1296
1297         * emultempl/ppc32elf.em (gld${EMULATION_NAME}_after_allocation): New
1298         function.
1299         (LDEMUL_AFTER_ALLOCATION): Define.
1300
1301 2005-03-21  Alan Modra  <amodra@bigpond.net.au>
1302
1303         * emultempl/ppc64elf.em (ppc_finish): Rename from
1304         gld${EMULATION_NAME}_finish.  Call gld${EMULATION_NAME}_finish.
1305         (LDEMUL_FINISH): Update.
1306         * emultempl/hppaelf.em (hppaelf_finish, LDEMUL_FINISH): Likewise.
1307         * emultempl/m68hc1xelf.em (m68hc11elf_finish, LDEMUL_FINISH): Likewise.
1308
1309 2005-03-18  Julian Brown  <julian@codesourcery.com>
1310
1311         * scripttempl/armbpapi.sc (.rel.dyn): Add .rel.init_array,
1312         .rel.fini_array.
1313         (.rela.dyn): Add .rela.init_array, .rela.fini_array.
1314         (SECTIONS): Add .rel.other, .rela.other, .reli.other after PLT relocs.
1315
1316 2005-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1317
1318         * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Don't set
1319         bfd_section when removing unused empty output sections for
1320         non-relocatable link.
1321
1322 2005-03-19  Alan Modra  <amodra@bigpond.net.au>
1323
1324         * ldlang.c (lang_insert_orphan): Use old section_tail rather than
1325         traversing the bfd section list to find pointer to new section.
1326
1327 2005-03-18  Alan Modra  <amodra@bigpond.net.au>
1328
1329         * scripttempl/elf.sc: When CREATE_SHLIB, put .sdata2 and .sbss2
1330         input sections into .sdata and .sbss output respectively.
1331
1332 2005-03-16  David Heine  <dlheine@tensilica.com>
1333             Bob Wilson  <bob.wilson@acm.org>
1334
1335         * ldlang.c (IGNORE_SECTION): Remove check for zero size.
1336         (lang_check_section_addresses): Ignore zero size sections here.
1337
1338 2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>
1339
1340         * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Remove
1341         unused empty output sections for non-relocatable link.
1342
1343         * ld.h (args_type): Remove gc_sections.
1344
1345         * ldlang.c (lang_mark_used_section): New.
1346         (lang_gc_sections): Use link_info.gc_sections instead of
1347         command_line.gc_sections.
1348         * ldmain.c (main): Likewise.
1349         * lexsup.c (parse_args): Likewise.
1350         * ldlang.c (lang_process): Call lang_mark_used_section.
1351
1352         * ldmain.c (main): Initialize link_info.gc_sections to FALSE.
1353
1354 2005-03-16  Nick Clifton  <nickc@redhat.com>
1355             Ben Elliston  <bje@au.ibm.com>
1356
1357         * configure.in (werror): New switch: Add -Werror to the
1358         compiler command line.  Enabled by default.  Disable via
1359         --disable-werror.
1360         * configure: Regenerate.
1361
1362 2005-03-16  Alan Modra  <amodra@bigpond.net.au>
1363
1364         * emulparams/elf32ppclinux.sh (OTHER_READWRITE_SECTION): Delete.
1365         (OTHER_RELRO_SECTIONS): Set this instead.
1366
1367 2005-03-15  Nick Clifton  <nickc@redhat.com>
1368
1369         * NEWS: Add cutoff for changes in 2.16 release.
1370
1371 2005-03-15  Mikkel Krautz  <krautz@gmail.com>
1372
1373         * configure.tgt (x86_64-elf): Add target.
1374
1375 2005-03-15  Alan Modra  <amodra@bigpond.net.au>
1376
1377         * po/es.po: Commit new Spanish translation.
1378
1379 2005-03-14  Alan Modra  <amodra@bigpond.net.au>
1380
1381         * ldexp.c (exp_fold_tree): Ensure return value is initialized.
1382         Tidy etree_assert case.
1383
1384 2005-03-14  Alan Modra  <amodra@bigpond.net.au>
1385
1386         * po/tr.po: Commit new Turkish translation.
1387
1388 2005-03-11  Daniel Jacobowitz  <dan@codesourcery.com>
1389
1390         * Makefile.am: Remove references to em68klynx.o and esparclynx.o.
1391         * Makefile.in: Regenerated.
1392         * emulparams/m68klynx.sh, emulparams/sparclynx.sh: Remove.
1393
1394 2005-03-07  Nick Clifton  <nickc@redhat.com>
1395
1396         * po/fr.po: Updated translation.
1397
1398 2005-03-05  Alan Modra  <amodra@bigpond.net.au>
1399
1400         * po/ld.pot: Regenerate.
1401
1402 2005-03-02  Jan Beulich  <jbeulich@novell.com>
1403
1404         * ldmain.c (remove_output): Use unlink_if_ordinary instead of unlink.
1405         * pe-dll.c (pe_dll_generate_implib): Likewise.
1406
1407 2005-02-24  Ben Elliston  <bje@au.ibm.com>
1408
1409         * ldfile.c: Remove GNU960 conditional code.
1410         * emultempl/gld960.em: Likewise.
1411         * emultempl/gld960c.em: Likewise.
1412         * emultempl/lnk960.em: Likewise.
1413
1414 2005-02-24  Nick Clifton  <nickc@redhat.com>
1415
1416         * emultempl/lnk960.em (lnk960_before_parse): Remove redundant
1417         empty string from calls to concat.
1418
1419 2005-02-23  Nick Clifton  <nickc@redhat.com>
1420
1421         * emultempl/lnk960.em (lnk960_before_parse): Terminate list of
1422         arguments passed to concat() with a NULL.
1423
1424         * emultempl/m68kcoff.em: Include ldexp.h and ldlang.h because they
1425         define types needed by ldfile.h
1426
1427 2005-02-23  Alan Modra  <amodra@bigpond.net.au>
1428
1429         * pe-dll.c: Warning fixes.
1430         * emultempl/sunos.em: Likewise.
1431
1432 2005-02-22  Daniel Jacobowitz  <dan@codesourcery.com>
1433
1434         * ldlang.c (section_already_linked): Don't call
1435         bfd_section_already_linked for dynamic objects.
1436
1437 2005-02-22  Alan Modra  <amodra@bigpond.net.au>
1438
1439         * ldexp.c: Warning fixes.
1440         * ldwrite.c: Likewise.
1441         * emultempl/elf32.em: Likewise.
1442
1443 2005-02-21  H.J. Lu  <hongjiu.lu@intel.com>
1444
1445         * ldlang.c (lang_add_section): Check SEC_TIC54X_BLOCK for TI
1446         tic54x input only.
1447         (lang_size_sections_1): Check SEC_COFF_SHARED_LIBRARY for COFF
1448         and ECOFF output only.
1449
1450 2005-02-21  Alan Modra  <amodra@bigpond.net.au>
1451
1452         * config.in: Regenerate.
1453         * configure: Regenerate.
1454
1455 2005-02-17  Zack Weinberg  <zack@codesourcery.com>
1456
1457         * ldexp.c (assigning_to_dot): New global flag.
1458         (fold_name): If assigning_to_dot is true, object immediately to
1459         an undefined symbol.
1460         (exp_fold_tree): Set and clear assigning_to_dot around the
1461         recursive call to exp_fold_tree to process the right-hand side
1462         of an assignment to the location counter.
1463
1464 2005-02-17  Paul Brook  <paul@codesourcery.com>
1465
1466         * scripttempl/armbpabi.sc: Add dummy name to version block.
1467
1468 2005-02-17  Alan Modra  <amodra@bigpond.net.au>
1469
1470         * ldexp.c (new_abs): Init new.str.
1471
1472 2005-02-15  Mark Mitchell  <mark@codesourcery.com>
1473
1474         * configure.in (AC_CHECK_FUNCS): Add glob.
1475         * configure: Regenerated.
1476         * emultempl/elf32.em (<glob.h>): Do not include if HAVE_GLOB is
1477         not defined.
1478         (gld${EMULATION_NAME}_parse_ld_so_conf_include): Do not use glob
1479         if HAVE_GLOB is not defined.
1480
1481 2005-02-16  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1482
1483         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Define
1484         lib_path if NATIVE is yes.
1485
1486 2005-02-16  Alan Modra  <amodra@bigpond.net.au>
1487
1488         * emultempl/ppc64elf.em (ppc_create_output_section_statements): Make
1489         an error creating fake bfd fatal.
1490         (ppc_before_allocation): Continue on after errors.
1491         (gld${EMULATION_NAME}_finish): Likewise.
1492
1493 2005-02-15  Nick Clifton  <nickc@redhat.com>
1494
1495         * ldlex.l (YY_NO_UNPUT): Define so that the yy_unput function is
1496         not declared.  It is not used and its presence causes a compile
1497         time warning.
1498
1499 2005-02-11  Zack Weinberg  <zack@codesourcery.com>
1500
1501         * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed):
1502         If st.st_ino is zero, do not treat the library as a duplicate.
1503
1504 2005-02-10  Jakub Jelinek  <jakub@redhat.com>
1505
1506         * emultempl/hppaelf.em (hppaelf_create_output_section_statements):
1507         Set BFD_LINKER_CREATED on the stubs bfd.
1508         * emultempl/ppc64elf.em (ppc_create_output_section_statements):
1509         Likewise.
1510
1511 2005-02-08  Mark Mitchell  <mark@codesourcery.com>
1512
1513         * scripttempl/armbpabi.sc (VERSION): Make special section symbols
1514         local.
1515         (Image$$ER_RO$$Base): Define whenever RELOCATING.
1516         (Image$$ER_RO$$Limit): Likewise.
1517         (SHT$$INIT_ARRAY$$Base): Likewise.
1518         (SHT$$INIT_ARRAY$$Limit): Likeise.
1519
1520 2005-02-10  Ben Elliston  <bje@au.ibm.com>
1521
1522         * emultempl/beos.em: Remove #if 0 and #if 1 blocks.
1523
1524 2005-02-08  Richard Sandiford  <rsandifo@redhat.com>
1525
1526         * configure.tgt (mips64*el-*-linux-gnu*): Define targ_extra_libpath
1527         to include o32 and n64 emulations.
1528         (mips64*-*-linux-gnu*): Likewise.
1529
1530 2005-02-08  Hans-Peter Nilsson  <hp@axis.com>
1531
1532         * ldmain.c (warning_callback, warning_find_reloc): Prepend
1533         "warning: " to warning messages.
1534
1535 2005-02-04  Alan Modra  <amodra@bigpond.net.au>
1536
1537         * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment): Don't
1538         look up symbol for etree_provide here.
1539
1540 2005-02-02  Daniel Jacobowitz  <dan@codesourcery.com>
1541
1542         * emulparams/elf32bmip.sh (TEXT_DYNAMIC): Always set.
1543
1544 2005-02-01  Edward Welbourne  <eddy@opera.com>
1545             Nick Clifton  <nickc@redhat.com>
1546
1547         * ld.texinfo (Source Code Reference): New node describing how to
1548         access linker script defined variables from source code.
1549
1550 2005-02-01  Alan Modra  <amodra@bigpond.net.au>
1551
1552         * ld.texinfo: Clarify --as-needed operation.
1553
1554 2005-01-31  Andrew Cagney  <cagney@gnu.org>
1555
1556         * configure: Regenerate to track ../gettext.m4.
1557
1558 2005-01-31  Nick Clifton  <nickc@redhat.com>
1559
1560         * ldver.c (ldversion): Bump reported copyright date to 2005.
1561
1562 2005-01-31  Nick Clifton  <nickc@redhat.com>
1563
1564         * configure.tgt: Remove obsolete targets m68k-lynxos and
1565         sparc-lynxos.
1566
1567 2005-01-28  Julian Brown  <julian@codesourcery.com>
1568
1569         * emultempl/armelf.em (fix_v4bx): New variable.
1570         (arm_elf_create_output_section_statements): Communicate fix_v4bx flag
1571         value to bfd.
1572         (PARSE_AND_LIST_PROLOGUE): Add option token OPTION_FIX_V4BX.
1573         (PARSE_AND_LIST_LONGOPTS): Add option --fix-v4bx.
1574         (PARSE_AND_LIST_OPTIONS): Add option --fix-v4bx.
1575         (PARSE_AND_LIST_ARGS_CASES): Add option OPTION_FIX_V4BX.
1576         * NEWS: Mention --fix-v4bx.
1577         * ld.texinfo: Document --fix-v4bx.
1578
1579 2005-01-25  Mark Mitchell  <mark@codesourcery.com>
1580
1581         * emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS): Define, so
1582         as to include .ARM.exidx$${Base,Limit}.
1583         * ld/scripttempl/armbpabi.sc: Move .plt to end of text segment.
1584         Define IMAGE$$ER_RO$${Base,Limit} and SHT$$INIT_ARRAY$${Base,Limit}.
1585         Put .init_array, .fini_array, etc. into the read-only data
1586         segment.
1587
1588 2005-01-25  Alan Modra  <amodra@bigpond.net.au>
1589
1590         * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Formatting.
1591         (gld${EMULATION_NAME}_after_open): Ignore needed libs if they were
1592         only needed by an as-needed lib that didn't get linked.
1593
1594 2005-01-23  Alan Modra  <amodra@bigpond.net.au>
1595
1596         * ld.texinfo (Output Section Keywords <CONSTRUCTORS>): Correct
1597         __DTOR_LIST__ description.
1598
1599 2005-01-23  Alan Modra  <amodra@bigpond.net.au>
1600
1601         * ld.texinfo (Location Counter <dot outside sections>): Document
1602         effects of orphan section placement, and ". = ." workaround.
1603         * Makefile.in: Regenerate.
1604
1605 2005-01-22  Richard Sandiford  <rsandifo@redhat.com>
1606
1607         * emulparams/elf32bmip.sh (OTHER_GOT_SECTIONS): Add ". = .;".
1608         * emulparams/elf32bmipn32-defs.sh (OTHER_GOT_SECTIONS): Likewise.
1609
1610 2005-01-21  Jakub Jelinek  <jakub@redhat.com>
1611
1612         * ldgram.y (AS_NEEDED): New token.
1613         (input_list): Handle AS_NEEDED ( input_list ).
1614         * ldlex.l (AS_NEEDED): Add.
1615         * ld.texinfo: Document AS_NEEDED ().
1616         * NEWS: Mention AS_NEEDED ().
1617
1618 2005-01-21  Ben Elliston  <bje@au.ibm.com>
1619
1620         * ldlang.c (lang_reasonable_defaults): Remove.
1621         (lang_process): Don't call lang_reasonable_defaults.
1622
1623         * ldexp.c (exp_assop): Remove #if 0'd code.
1624         (exp_print_tree): Likewise.
1625         * ldlang.c (lang_memory_region_lookup): Likewise.
1626         (open_output): Likewise.
1627         (lang_do_assignments_1): Likewise.
1628         (lang_place_orphans): Likewise.
1629         (lang_enter_output_section_statement): Likewise.
1630         (lang_reasonable_defaults): Likewise.
1631         * ldlang.h (struct lang_input_statement_struct): Likewise.
1632         * mri.c (mri_draw_tree): Likewise.
1633         (mri_load): Likewise.
1634         * pe-dll.c (generate_reloc): Likewise.
1635         (make_import_fixup_entry): Likewise.
1636         (pe_as16): Likewise.
1637         * emultempl/beos.em (set_pe_subsystem): Likewise.
1638         * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
1639         * emultempl/pe.em: Likewise.
1640         * emultempl/xtensaelf.em (xtensa_colocate_literals): Likewise.
1641
1642 2005-01-20  Daniel Jacobowitz  <dan@codesourcery.com>
1643
1644         * Makefile.am (ALL_EMULATIONS): Add earmelfb_linux_eabi.o.
1645         (earmelfb_linux_eabi.c): New target.
1646         * Makefile.in: Regenerated.
1647         * configure.tgt (arm*b-*-linux-gnueabi): New target.
1648         * emulparams/armelfb_linux_eabi.sh: New file.
1649
1650 2005-01-20  Nick Hudson  <skrll@netbsd.org>
1651
1652         PR ld/676
1653         * emultempl/hppaelf.em (hppaelf_create_output_section_statements):
1654         Handle bfd_elf32_hppa_nbsd_vec.
1655
1656 2005-01-19  Richard Sandiford  <rsandifo@redhat.com>
1657
1658         * ldmain.h (ld_sysroot): Change type to a constant string.
1659         * ldmain.c (ld_sysroot): Likewise.
1660         (get_relative_sysroot, get_sysroot): New functions, adding command-line
1661         support for changing the sysroot.
1662         (main): Call the new functions.
1663         * lexsup.c (OPTION_SYSROOT): New.
1664         (ld_options): Add --sysroot.
1665         (parse_args): Add a dummy handler for it.
1666         * ld.texinfo (--sysroot): Document.
1667         * NEWS: Mention the new --sysroot option.
1668
1669 2005-01-18  Alan Modra  <amodra@bigpond.net.au>
1670
1671         * ldlang.c (section_already_linked): Adjust bfd_link_just_syms call.
1672         (lang_place_orphans): Don't abort on just_syms_flag, instead call
1673         bfd_link_just_syms.
1674
1675 2005-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
1676
1677         * defilep.y (def_name, def_library): Combine into...
1678         (def_image_name): New function.  Strip name to basename,
1679         with warning.
1680
1681 2005-01-12  Mark Kettenis  <kettenis@gnu.org>
1682
1683         * configure.in: Be sure to invoke config.sub using the shell.
1684         * configure: Regenerate.
1685
1686 2005-01-11  Alan Modra  <amodra@bigpond.net.au>
1687
1688         * configure.host: Correct sed patterns for last change.
1689
1690 2005-01-10  Nick Clifton  <nickc@redhat.com>
1691
1692         PR binutils/609
1693         * ldmisc.c (vfinfo): Add an extra argument: is_warning.  Use this
1694         to determine whether config.make_executable should be set to FALSE in
1695         conjunction with config.fatal_warnings.
1696         (info_msg, minfo, lfinof): Pass FALSE as the extra argument.
1697         (einfo): Pass TRUE as the extra argument.
1698
1699 2005-01-10  Greg Schaffer  <gschafer@zip.com.au>
1700
1701         * configure.host (linux targets): Use "${CC} -dumpspecs" instead
1702         of "${CC} --print-file-name=specs" to appease GCC versions >= 4.0.
1703         (ia64-*-aix): Delete - this target is obsolete, and would be
1704         broken by this patch.
1705
1706 2005-01-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
1707
1708         * configure.host (sparc*-*-solaris2*): Rename into sparc-*-solaris2*.
1709         (sparc64-sun-solaris2*): New host.
1710
1711 2005-01-06  Paul Brook  <paul@codesourcery.com>
1712
1713         * Makefie.am: Add earmelf_vxworks.
1714         * Makefile.in: Regenerate.
1715         * configure.tgt: Make arm-*-vxworks a separate case.
1716         * emulparams/armelf_vxworks.sh: New function.
1717
1718 2005-01-06  Alan Modra  <amodra@bigpond.net.au>
1719
1720         * emultempl/ppc64elf.em (no_multi_toc): New var.
1721         (gld${EMULATION_NAME}_finish): Pass to ppc64_elf_setup_section_lists.
1722         (OPTION_NO_MULTI_TOC): Define.
1723         (PARSE_AND_LIST_LONGOPTS): Add --no-multi-toc support.
1724         (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise.
1725
1726 2005-01-05  Nick Clifton  <nickc@redhat.com>
1727
1728         PR binutils/614
1729         * ldmisc.c (vfinfo): Alter output to conform to the GNU Coding
1730         Standard's specification for parsable error messages.
1731
1732 2005-01-04  Paul Brook  <paul@codesourcery.com>
1733
1734         * Makefile.am: Correct dependency for earmsymbian.c.
1735         * Makefile.in: Regenerate.
1736
1737 2004-12-28  Danny Smith  <dannysmith@users.sourceforge.net>
1738
1739         * emultempl/pe.em (set_pe_subsystem): Change second arg to
1740         lang_add_entry to FALSE.
1741
1742 2004-12-23  Nick Clifton  <nickc@redhat.com>
1743
1744         PR 600
1745         * emulparams/shelf.sh (.stack): Increase stack start address to
1746         0x300000.
1747
1748 2004-12-20  Nick Clifton  <nickc@redhat.com>
1749
1750         * ldmain.c (main): Issue an error message if -static and -shared
1751         are used together.
1752
1753 2004-12-17  Jakub Jelinek  <jakub@redhat.com>
1754
1755         * ldexp.h (exp_data_seg): Add min_base and maxpagesize fields.
1756         * ldexp.c (fold_binary) <case DATA_SEGMENT_ALIGN>: Initialize them.
1757         * ldlang.c (lang_size_sections): Use them to avoid wasting virtual
1758         address space at DATA_SEGMENT_ALIGN.  Fix computation of expected
1759         PT_GNU_RELRO segment end.
1760
1761 2004-12-14  P.J. Darcy  <darcypj@us.ibm.com>
1762
1763         * configure.tgt: Add s390x-ibm-tpf support.
1764
1765 2004-12-16  Martin Kögler  <mkoegler@auto.tuwien.ac.at>
1766
1767         * ldmisc.c (vfinfo): Handle the case where %B is passed a NULL
1768         BFD.
1769
1770 2004-12-07  Ben Elliston  <bje@gnu.org>
1771
1772         * ldemul.h: Forward declare struct option.
1773
1774 2004-12-01  Danny Smith  <dannysmith@users.sourceforge.net>
1775
1776         * scripttempl/pe.sc (.data): Add .jcr subsection.
1777
1778 2004-11-30  Paul Brook  <paul@codesourcery.com>
1779
1780         * emultempl/armelf.em: Ignore -p and -no-pipeline-knowledge.
1781
1782 2004-11-30  Tero Niemela  <tero_niemela@yahoo.com>
1783
1784         * Makefile.am: Change LOCALEDIR to $(datadir)/share.
1785         * Makefile.in: Regenerate.
1786
1787 2004-11-26  Melissa Mears  <asterisk@graces.dricas.com>
1788
1789         * emultempl/pe.em: Add --subsystem:xbox as well as
1790         --subsystem:%d.
1791         * ld.texinfo: (ld_options): Document acceptance of subsystem xbox
1792         and numeric subsystems.
1793
1794 2004-11-24  Alan Modra  <amodra@bigpond.net.au>
1795
1796         * ldexp.c (fold_name): Correct PR 338 fix.
1797
1798 2004-11-19  Mark Mitchell  <mark@codesourcery.com>
1799
1800         * Makefile.am (ALL_EMULATIONS): Add earmelf_linux_eabi.o.
1801         (earmelf_linux_eabi.c): New target.
1802         * configure.tgt (arm*-*-linux-gnueabi): Handle it.
1803         * emulparams/armelf_linux_eabi.sh: New file.
1804         * Makefile.in: Regenerated.
1805
1806 2004-11-19  Nick Clifton  <nickc@redhat.com>
1807
1808         PR 518
1809         * ld.texinfo (MEMORY): Update the descriptions of the ORIGIN and
1810         LENGTH fields in the MEMORY command, to explicitly state that
1811         symbols cannot be used in their expressions.
1812
1813 2004-11-19  Jon Beniston <jon@beniston.com>
1814
1815         * ld/ldlex.l: Allow ORIGIN and LENGTH in EXPRESSION.
1816         * ld/ldgram.y: Add ORIGIN and LENGTH expressions.
1817         * ld/ldexp.c (fold_name): Implement LENGTH() and ORIGIN() functions
1818         which return the length and origin of a memory.
1819         * ld/ld.texinfo: Document LENGTH() and ORIGIN() functions.
1820         * NEWS: Mention support for ORIGIN and LENGTH operators.
1821
1822 2004-11-17  Daniel Jacobowitz  <dan@codesourcery.com>
1823
1824         * emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Don't use
1825         a dynamic object for stubs.
1826
1827 2004-11-04  Paul Brook  <paul@codesourcery.com>
1828
1829         * ld.texinfo: Document --default-imported-symver.
1830         * ldmain.c (main): Set link_info.default_imported_symver.
1831         * lexsup.c (option_values): Add OPTION_DEFAULT_IMPORTED_SYMVER.
1832         (ld_options): Add --default-imported-symver.
1833         (parse_args): Handle OPTION_DEFAULT_IMPORTED_SYMVER.
1834
1835 2004-11-08  Inderpreet Singh   <inderpreetb@nioda.hcltech.com>
1836             Vineet Sharma      <vineets@noida.hcltech.com>
1837
1838         * Makefile.am: Add entries for new maxq-coff target.
1839         * Makefile.in: Regenerate.
1840         * configure.tgt: Add support for maxq.
1841         * emulparams/maxqcoff.sh: New File.
1842         * scripttempl/maxqcoff.sc: New linker script for target maxq.
1843         * NEWS: Mention the new target.
1844
1845 2004-11-04  Daniel Jacobowitz  <dan@debian.org>
1846
1847         * Makefile.am (ALL_EMULATIONS): Remove earmelf_oabi.o.
1848         (earmelf_oabi.c): Remove rule.
1849         * configure.tgt: Remove arm-*-oabi and thumb-*-oabi.
1850         * emulparams/armelf_oabi.sh, emultempl/armelf_oabi.em: Delete files.
1851         * Makefile.in: Regenerated.
1852
1853 2004-11-04  Hans-Peter Nilsson  <hp@axis.com>
1854
1855         * configure.tgt (crisv32-*-*): Handle like cris-*-* for non-aout.
1856         * emulparams/criself.sh (INIT_START): Remove emitted "push srp".
1857         (FINI_START): Ditto.
1858         (INIT_END): Remove emitted "jump [sp+]".
1859         (FINI_END): Ditto.
1860
1861 2004-11-04  Alan Modra  <amodra@bigpond.net.au>
1862
1863         * emultempl/ppc64elf.em (no_tls_opt): Rename from notlsopt.
1864         (no_opd_opt, no_toc_opt): New static vars.
1865         (ppc_before_allocation): Don't edit opt if no_opd_opt.  Call
1866         ppc64_elf_edit_toc.
1867         (OPTION_NO_OPD_OPT, OPTION_NO_TOC_OPT): Define.
1868         (PARSE_AND_LIST_LONGOPTS): Add no-opd-optimize and no-toc-optimize.
1869         (PARSE_AND_LIST_OPTIONS): Describe new options.
1870         (PARSE_AND_LIST_ARGS_CASES): Handle them.
1871
1872 2004-10-27  Nick Clifton  <nickc@redhat.com>
1873
1874         * emultempl/alphaelf.em (alpha_after_parse): Add extra, NULL,
1875         parameter to invocation of lang_section_start.
1876         * emultempl/aix.em (_handle_option): Likewise.
1877
1878         * Makefile.am (eelf64alpha.c, eelf64alpha_fbsd.c,
1879         eelf64alpha_nbsd.c): Add dependency upon emultempl/alphaelf.em.
1880         * Makefile.in: Regenerate.
1881
1882 2004-10-26  Mark Mitchell  <mark@codesourcery.com>
1883
1884         * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Do not emit
1885         __exidx_{start,end} when not relocating.
1886
1887 2004-10-25  Mark Mitchell  <mark@codesourcery.com>
1888
1889         * Makefile.in (earmsymbian.c): Depend on armbpabi.sc, not elf.sc.
1890         * ldexp.h (segment_type): New type.
1891         (segments): New variable.
1892         * ldexp.c (segments): New variable.
1893         (exp_print_token): Handle SEGMENT_START.
1894         (fold_binary): Likewise.
1895         * ldgram.y (SEGMENT_START): Declare it as a token.
1896         (exp): Handle SEGMENT_START.
1897         * ldlang.h (lang_address_statement_type): Add segment field.
1898         (lang_section_start): Change prototype.
1899         * ldlang.c (map_input_to_output_sections): Do not process section
1900         assignments if a corresponding SEGMENT_START has already been
1901         seen.
1902         (lang_section_start): Add segment parameter.
1903         * ldlex.l (SEGMENT_START): Add it.
1904         * lexsup.c (seg_segment_start): New function.
1905         (parse_args): Use it for -Tbss, -Tdata, and -Ttext.
1906         * ld.texinfo (SEGMENT_START): Document it.
1907         * emulparams/armsymbian.sh (EMBEDDED): Set it.
1908         * scripttempl/armbpabi.sc: Use SEGMENT_START to control segment
1909         base addresses.  Do not map relocations.
1910         * NEWS: Mention SEGMENT_START.
1911
1912 2004-10-26  Paul Brook  <paul@codesourcery.com>
1913
1914         * ld.texinfo: Document --default-symver.
1915         * ldmain.c (main): Set link_info.create_default_symver.
1916         * lexsup.c (enum option_values): Add OPTION_DEFAULT_SYMVER.
1917         (ld_options): Add default-symver.
1918         (parse_args): Handle OPTION_DEFAULT_SYMVER.
1919
1920 2004-10-24 Danny Smith  <dannysmith@users.sourceforge.net>
1921
1922         * pe-dll.c (process_def_file): Don't export all symbols by default if
1923         building a position-independent executable.
1924
1925 2004-10-21  H.J. Lu  <hongjiu.lu@intel.com>
1926
1927         PR 463
1928         * ldmain.c (reloc_overflow): Accept a pointer to struct
1929         bfd_link_hash_entry. Report symbol location for relocation
1930         overflow.
1931
1932 2004-10-21  H.J. Lu  <hongjiu.lu@intel.com>
1933
1934         * genscripts.sh (libpath.exp): Really generate for first
1935         emulation only.
1936
1937 2004-10-19  Danny Smith  <dannysmith@users.sourceforge.net>
1938
1939         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Simplify
1940         comparison and replacement of filenames.
1941
1942 2004-10-19  H.J. Lu  <hongjiu.lu@intel.com>
1943
1944         PR 459
1945         * ldlang.c (load_symbols): Use the same -Bdynamic/-Bstatic
1946         option on linker script as the one for linker script.
1947
1948 2004-10-16  Daniel Jacobowitz  <dan@debian.org>
1949
1950         * ldlang.c (struct excluded_lib, excluded_libs, add_excluded_libs)
1951         (check_excluded_libs): New.
1952         (load_symbols): Call check_excluded_libs.
1953         * ldlang.h (add_excluded_libs): New prototype.
1954         * emultempl/elf32.em (OPTION_EXCLUDED_LIBS): Define.
1955         (gld${EMULATION_NAME}_add_options): Add --exclude-libs.
1956         (gld${EMULATION_NAME}_handle_option): Handle --exclude-libs.
1957         * ld.texinfo (Command Line Variables): Document --exclude-libs.
1958         (Options Specific to i386 PE Targets): Remove --exclude-libs.
1959
1960 2004-10-15  Alan Modra  <amodra@bigpond.net.au>
1961
1962         * ldexp.c (exp_fold_tree): Don't immediately exit ld on a
1963         failing link script assert.
1964
1965         * ldctor.c (ldctor_add_set_entry): Fix comment typo.
1966
1967 2004-10-14  H.J. Lu  <hongjiu.lu@intel.com>
1968
1969         PR 445
1970         * emulparams/elf64_ia64.sh (SMALL_DATA_CTOR): Set.
1971         (SMALL_DATA_DTOR): Set.
1972         * emulparams/elf64_ia64_fbsd.sh (SMALL_DATA_CTOR): Unset.
1973         (SMALL_DATA_DTOR): Unset.
1974         * scripttempl/elf.sc: If SMALL_DATA_CTOR is set, move .ctors
1975         after .data. If SMALL_DATA_DTOR is set, move .dtors after
1976         .data.
1977
1978 2004-10-14  Alan Modra  <amodra@bigpond.net.au>
1979
1980         PR 63
1981         * ldlang.h (lang_output_section_statement_type): Make "next" a
1982         struct lang_output_section_statement_struct *.
1983         (struct orphan_save): Move from elf32.em.  Add "name" and "flags".
1984         (lang_output_section_find_by_flags, lang_insert_orphan): Declare.
1985         * ldlang.c (lang_output_section_find_1): Adjust for changed
1986         output_section_statement "next".
1987         (strip_excluded_output_sections): Likewise.
1988         (lang_record_phdrs): Likewise.
1989         (lang_output_section_find_by_flags): New function.
1990         (output_prev_sec_find): Move from pe.em.  Adjust iterator.
1991         (lang_insert_orphan): New function.  Tail end of elf32.em's
1992         place_orphan merged with that from pe.em.  Allow bfd_section to
1993         be placed first.  New heuristic for placing new output section
1994         statement in existing script, and accompanying split of __start
1995         symbol alignment into a separate assignment to dot.
1996         (lang_add_section): Consistently use output->bfd_section rather than
1997         an alias, section->output_section.
1998         (map_input_to_output_sections): Rename overly long arg.  Move
1999         initialization of data_statement output section to here..
2000         (lang_check_section_addresses): ..from here.
2001         (print_assignment): Correct printing of etree_assert.
2002         (print_all_symbols): Don't bomb if userdata is NULL.
2003         (IGNORE_SECTION): Rearrange.
2004         * emultempl/elf32.em (output_rel_find): Adjust interator.
2005         (output_prev_sec_find): Delete.
2006         (struct orphan_save): Delete.
2007         (gld${EMULATION_NAME}_place_orphan): Cater for zero bfd_section
2008         flags without creating a duplicate output section statement.
2009         Revise code holding history of various orphan section placements.
2010         Allow orphan sections to place before script specified output
2011         sections.  Call lang_output_section_find_by_flags when placement
2012         by name fails.  Use lang_insert_orphan.
2013         * emultempl/mmo.em (output_prev_sec_find): Delete.
2014         (struct orphan_save): Delete.
2015         (mmo_place_orphan): Revise code holding history of orphan placement.
2016         Allow orphans to place before existing output sections.  Use
2017         lang_insert_orphan.
2018         * emultempl/pe.em (output_prev_sec_find): Delete.
2019         (struct orphan_save): Delete.
2020         (gld_${EMULATION_NAME}_place_orphan): Revise to suit use of
2021         lang_insert_orphan.
2022
2023 2004-10-13  Mark Mitchell  <mark@codesourcery.com>
2024
2025         * scripttempl/armbpabi.sc: Do not put .gnu.version.* into a
2026         loadable segment.
2027
2028 2004-10-13  Alan Modra  <amodra@bigpond.net.au>
2029
2030         PR 44
2031         * ldcref.c (check_section_sym_xref): Delete.
2032         (check_local_sym_xref): New function.
2033         (check_nocrossrefs): Adjust call.
2034         * emultempl/pe.em (struct orphan_save): Add os_tail.
2035         (place_orphan): Backport assorted fixes from elf32.em.
2036
2037 2004-10-12  Bob Wilson  <bob.wilson@acm.org>
2038
2039         * emultempl/xtensaelf.em: Use ISO C90 formatting.
2040
2041 2004-10-11  Jakub Jelinek  <jakub@redhat.com>
2042
2043         * emultempl/elf32.em (gld${EMULATION_NAME}_parse_ld_so_conf): Avoid
2044         getline for portability.
2045
2046         * emultempl/elf32.em (gld${EMULATION_NAME}_ld_so_conf): New structure.
2047         (gld${EMULATION_NAME}_parse_ld_so_conf,
2048         gld${EMULATION_NAME}_parse_ld_so_conf_include): New functions.
2049         (gld${EMULATION_NAME}_check_ld_so_conf): Use them.
2050
2051 2004-10-11  Alan Modra  <amodra@bigpond.net.au>
2052
2053         PR 423
2054         * ldfile.c (ldfile_try_open_bfd): Ensure dynamic objects are
2055         rejected when linking statically.
2056
2057 2004-10-08  Daniel Jacobowitz  <dan@debian.org>
2058
2059         * configure.tgt: Include elf_x86_64 for i[3-7]86-*-solaris2*.
2060
2061 2004-10-07  Bob Wilson  <bob.wilson@acm.org>
2062
2063         * ld.texinfo (Xtensa): Describe new linker relaxation to optimize
2064         assembler-generated longcall sequences.  Describe new --size-opt
2065         option.
2066         * emulparams/elf32xtensa.sh (OTHER_SECTIONS): Add .xt.prop section.
2067         * emultempl/xtensaelf.em (remove_section,
2068         replace_insn_sec_with_prop_sec, replace_instruction_table_sections,
2069         elf_xtensa_after_open): New.
2070         (OPTION_OPT_SIZEOPT, OPTION_LITERAL_MOVEMENT,
2071         OPTION_NO_LITERAL_MOVEMENT): Define.
2072         (elf32xtensa_size_opt, elf32xtensa_no_literal_movement): New globals.
2073         (PARSE_AND_LIST_LONGOPTS): Add size-opt and [no-]literal-movement.
2074         (PARSE_AND_LIST_OPTIONS): Add --size-opt.
2075         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_OPT_SIZEOPT,
2076         OPTION_LITERAL_MOVEMENT, and OPTION_NO_LITERAL_MOVEMENT.
2077         (LDEMUL_AFTER_OPEN): Set to elf_xtensa_after_open.
2078         * scripttempl/elfxtensa.sc: Update with changes from elf.sc.
2079         * Makefile.am (eelf32xtensa.c): Update dependencies.
2080         * Makefile.in: Regenerate.
2081
2082 2004-10-07  Jeff Baker  <jbaker@qnx.com>
2083
2084         * lexsup.c: Handle --warn-shared-textrel option.
2085         (ld_options): Restore alpha sorting of options.
2086         * ldmain.c (main): Initialise warn_shared_info field to FALSE.
2087         * ld.texinfo: Add documentation for --warn-shared-textrel.
2088         * NEWS: Added mention of --warn-shared-textrel option.
2089
2090 2004-10-05  Tomer Levi  <Tomer.Levi@nsc.com>
2091
2092         * emultempl/crxelf.em (disable_relaxation): Add.
2093         (crxelf_before_allocation): Enable --relax option by default.
2094         (PARSE_AND_LIST_PROLOGUE): Add OPTION_NO_RELAX.
2095         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --no-relax.
2096         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_NO_RELAX.
2097
2098 2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>
2099
2100         * NEWS: Mention SORT_BY_NAME, SORT_BY_ALIGNMENT and
2101         --sort-section name|alignment.
2102
2103         * ld.texinfo: Document SORT_BY_NAME, SORT_BY_ALIGNMENT and
2104         --sort-section name|alignment.
2105
2106         * ld.h (sort_type): New enum.
2107         (wildcard_spec): Change the type of `sorted' to sort_type.
2108
2109         * ldgram.y (SORT): Removed.
2110         (SORT_BY_NAME): Added.
2111         (SORT_BY_ALIGNMENT): Added.
2112         (wildcard_spec): Updated `sorted'. Handle SORT_BY_NAME and
2113         SORT_BY_ALIGNMENT.
2114         (input_section_spec_no_keep): Updated `sorted'.
2115         (statement): Replace SORT with SORT_BY_NAME.
2116
2117         * ldlang.c (compare_section): New function to compare 2
2118         sections with different sorting schemes.
2119         (wild_sort): Updated. Use compare_section.
2120         (update_wild_statements): New function.
2121         (lang_process): Call update_wild_statements before
2122         map_input_to_output_sections.
2123
2124         * ldlex.l (SORT_BY_NAME): New.
2125         (SORT_BY_ALIGNMENT): New.
2126         (SORT): Return SORT_BY_NAME.
2127
2128         * ldmain.c (sort_section): New. Defined.
2129         (main): Initialize it to none.
2130
2131         * lexsup.c (option_values): Add OPTION_SORT_SECTION.
2132         (ld_options): Add an entry for OPTION_SORT_SECTION.
2133         (parse_args): Handle OPTION_SORT_SECTION.
2134
2135         * mri.c (mri_draw_tree): Updated `sorted'.
2136
2137 2004-10-04  Jakub Jelinek  <jakub@redhat.com>
2138
2139         * ldgram.y (DATA_SEGMENT_RELRO_END): Add one argument.
2140         * scripttempl/elf.sc (DATA_SEGMENT_RELRO_END): Add 0 as first
2141         argument.
2142         (DATA_SEGMENT_RELRO_GOTPLT_END): Pass $SEPARATE_GOTPLT as first
2143         and . as second argument.
2144         (GOTPLT): Move $DATA_SEGMENT_RELRO_GOTPLT_END before the section.
2145         * ldexp.c (fold_unary): Remove DATA_SEGMENT_RELRO_END handling here.
2146         (fold_binary): Add it here.  Insert padding to make relro_end
2147         COMMONPAGESIZE bytes aligned.  For DATA_SEGMENT_ALIGN in
2148         exp_dataseg_relro_adjust phase just use previously computed
2149         exp_data_seg.base.
2150         * ldlang.c (lang_size_sections): Set exp_data_seg.base for
2151         relro_adjust here.  Call lang_size_sections_1 once more if there
2152         was too big padding at DATA_SEGMENT_RELRO_END.
2153         * ld.texinfo (DATA_SEGMENT_RELRO_END): Add documentation.
2154
2155 2004-10-01  Paul Brook  <paul@codesourcery.com>
2156
2157         * emulparams/armelf.sh: Add unwinding table sections.
2158
2159 2004-09-30  Filip Navara  <navaraf@reactos.com>
2160
2161         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Generate
2162         correct base address for position independant executables.
2163         * pe-dll.c (pe_dll_fill_sections): Don't mark position independant
2164         executables as DLLs.
2165
2166 2004-09-30  Paul Brook  <paul@codesourcery.com>
2167
2168         * ld.texinfo: Document --target2=abs.
2169         * emulparms/armsymbian.sh (TARGET2_TYPE): Set.
2170
2171 2004-09-29  Nick Clifton  <nickc@redhat.com>
2172
2173         * scripttempl/xstormy16.sc: Only perform the assignments to the
2174         ROM region when not performing a relocatable link.  The ROM region
2175         does not start at address 0, but the sections will.
2176         * Makefile.am: Fix linker script dependency for the generation of
2177         eelf32xstormy16.c.
2178         * Makefile.in: Regenerate.
2179
2180 2004-09-18  Filip Navara  <navaraf@reactos.com>
2181
2182         * emulparams/arm_epoc_pe.sh, emulparams/armpe.sh, emulparams/i386pe.sh,
2183         emulparams/i386pe_posix.sh, emulparams/mcorepe.sh,
2184         emulparams/mipspe.sh, emulparams/ppcpe.sh, scripttempl/pe.sc: Define
2185         TARGET_PAGE_SIZE.
2186         * scripttempl/pe.sc: Make the virtual address and file offset synced if
2187         the alignment is lower than the target page size.
2188
2189 2004-09-27  Filip Navara  <navaraf@reactos.com>
2190
2191         * emultempl/pe.em (gld_${EMULATION_NAME}_unrecognized_file): Allow
2192         def_file_parse to handle pe_def_file if NULL and prevent crash with
2193         invalid .def files.
2194
2195 2004-09-27  Alan Modra  <amodra@bigpond.net.au>
2196
2197         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Enable
2198         --emit-stub-syms automatically when --emit-relocs.
2199
2200 2004-09-24  Paul Brook  <paul@codeosurcery.com>
2201
2202         * scripttempl/elf.sc: Keep .preinit_array, .init_array and
2203         .fini_array sections.
2204
2205 2004-09-19  Andreas Schwab  <schwab@suse.de>
2206
2207         * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Adjust data segment
2208         base so that relro end is suitably aligned.
2209
2210 2004-09-17  Paul Brook  <paul@codesourcery.com>
2211
2212         * ld.texinfo: Rename arm-specific section.  Document --target*
2213         * emulparams/armelf_fbsd.sh: Set TARGET2_TYPE.
2214         * emulparams/armelf_linux.sh: Ditto.
2215         * emulparams/armelf_nbsd.sh: Ditto.
2216         * emultempl/armelf.em: Set default for TARGET2_TYPE.
2217         (target2_type): New variable.
2218         (arm_elf_before_allocation): Don't pass target1_type.
2219         (arm_elf_create_output_section_statements): New function.
2220         (PARSE_AND_LIST_PROLOGUE): Add OPTION_TARGET2.
2221         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --target=.
2222         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_TARGET2.
2223         (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Set.
2224         * emultempl/armelf_oabi.em (_before_allocation): Remove extra
2225         argument to bfd_elf32_arm_process_before_allocation.
2226
2227 2004-09-17  Alan Modra  <amodra@bigpond.net.au>
2228
2229         * ldexp.c (fold_name): Update u.undef.next refs.
2230         * emultempl/pe.em: Likewise.
2231         * emultempl/sunos.em: Likewise.
2232
2233 2004-09-17  Alan Modra  <amodra@bigpond.net.au>
2234
2235         * Makefile.am: Run "make dep-am".
2236         * Makefile.in: Regenerate.
2237         * config.in: Regenerate.
2238         * configure: Regenerate.
2239         * aclocal.m4: Regenerate.
2240         * po/ld.pot: Regenerate.
2241
2242 2004-09-16  Tomer Levi  <Tomer.Levi@nsc.com>
2243
2244         * scripttempl/elf32crx.sc (.init): Add KEEP for section's *personality*.
2245         (.fini): Likewise.
2246         (.jcr): Likewise.
2247
2248 2004-09-16  Alan Modra  <amodra@bigpond.net.au>
2249
2250         * emultempl/armelf_oabi.em (before_allocation): Add extra zero param
2251         to bfd_elf32_arm_process_before_allocation call.
2252
2253 2004-09-13  Paul Brook  <paul@codesourcery.com>
2254
2255         * emulparams/armsymbian.sh: Set TARGET1_IS_REL.
2256         * emultempl/armelf.em: Use TARGET1_IS_REL.  Add --target1-{rel,abs}.
2257
2258 2004-09-07  H.J. Lu  <hongjiu.lu@intel.com>
2259
2260         * configure: Regenerated with autconfig 2.13.
2261
2262 2004-09-07  Andreas Schwab  <schwab@suse.de>
2263
2264         * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Apply data segment
2265         alignment before adjusting DATA_SEGMENT_RELRO_END.
2266
2267 2004-09-06  Mark Mitchell  <mark@codesourcery.com>
2268
2269         * emulparams/armsymbian.sh: Use armbpabi script.
2270         * scripttempl/armbpabi.sc: New script.
2271
2272 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
2273
2274         * Makefile.am (ALL_EMULATIONS): Add earmsymbian.o.
2275         (earmsymbian.c): New target.
2276         * configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*.
2277         * Makefile.in: Regenerated.
2278         * aclocal.m4: Likewise.
2279         * configure: Likewise.
2280         * emulparams/armsymbian.sh: New file.
2281
2282 2004-09-03  Tomer Levi  <Tomer.Levi@nsc.com>
2283
2284         * scripttempl/elf32crx.sc: Edit file with comments.
2285         (.init): Add new section.
2286         (.fini): Likewise.
2287         (.ctor): Control the linkage order.
2288         (.dtor): Likewise.
2289
2290 2004-08-27  Nick Clifton  <nickc@redhat.com>
2291
2292         * emultempl/pe.em (after_open): Do not assume that either bfd is
2293         an archive.
2294
2295 2004-08-26  Alan Modra  <amodra@bigpond.net.au>
2296
2297         * ldlang.c (lang_init): Don't compare with TRUE.
2298
2299 2004-08-25  Dmitry Diky  <diwil@spec.ru>
2300
2301         * emulparams/msp430all.sh: Fix RAM sizes for all targets.
2302         * scripttempl/elf32msp430.sc: Add .profiler section definition.
2303
2304 2004-08-24  H.J. Lu  <hongjiu.lu@intel.com>
2305
2306         * ldlang.c (wildcardp): Defined as a macro with strpbrk.
2307
2308 2004-08-19  Mark Mitchell  <mark@codesourcery.com>
2309
2310         * configure.tgt (arm*-*-symbianelf*): New target.
2311         (arm*-*-eabi*): Likewise.
2312
2313 2004-08-19  Jakub Jelinek  <jakub@redhat.com>
2314
2315         * emultempl/ppc64elf.em (non_overlapping_opd): New variable.
2316         (ppc_before_allocation): Pass it to ppc64_elf_edit_opd).
2317         (OPTION_NON_OVERLAPPING_OPD): Define.
2318         (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Add
2319         --non-overlapping-opd option.
2320
2321 2004-08-18  Alan Modra  <amodra@bigpond.net.au>
2322
2323         PR 338
2324         * ldexp.c (fold_name): Don't call bfd_link_add_undef if the symbol
2325         was already on the undefs list.
2326
2327 2004-08-17  Alan Modra  <amodra@bigpond.net.au>
2328
2329         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Dot
2330         prefix the symbol field too.
2331
2332 2004-08-13  Alan Modra  <amodra@bigpond.net.au>
2333
2334         * ldmain.c (link_callbacks): Remove "error_handler".
2335         * ldmisc.c: Include elf-bfd.h.
2336         (vfinfo): Sort comment.  Handle %A.  Use %A instead of
2337         bfd_get_section_indent.
2338         (error_handler): Delete.
2339         * ldmisc.h (error_handler): Delete declaration.
2340
2341 2004-08-10  Alan Modra  <amodra@bigpond.net.au>
2342
2343         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Call
2344         ppc64_elf_restore_symbols.
2345
2346 2004-08-09  Alan Modra  <amodra@bigpond.net.au>
2347
2348         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Error if
2349         .toc is too large on relocatable linking.
2350
2351 2004-08-09  Alan Modra  <amodra@bigpond.net.au>
2352
2353         * emultempl/ppc64elf.em (ppc_after_open): Delete.
2354         (LDEMUL_AFTER_OPEN): Don't define.
2355
2356 2004-08-02  Stephane Carrez  <stcarrez@nerim.fr>
2357
2358         * ld.texinfo (Top): Document specific options of 68HC11 and 68HC12.
2359
2360 2004-08-01  Stephane Carrez  <stcarrez@nerim.fr>
2361
2362         * scripttempl/elfm68hc12.sc: Align text, rodata and data section
2363         on power of 2.
2364
2365 2004-07-27  Jason Thorpe  <thorpej@wasabisystems.com>
2366
2367         * emulparams/hppanbsd.sh (OUTPUT_FORMAT): Set to "elf32-hppa-netbsd".
2368
2369 2004-07-26  Dmitry Diky  <diwil@spec.ru>
2370
2371         * Makefile.am: Add new subtargets: msp430x1610, msp430x1611,
2372         msp430x1612, msp430x415, msp430x417, msp430xG437, msp430xG438,
2373         msp430xG439.
2374         * configure.tgt: Likewise.
2375         * emulparams/msp430all.sh: Likewise.
2376         * Makefile.in: Regenerate.
2377
2378 2004-07-23  Nick Clifton  <nickc@redhat.com>
2379
2380         * emultempl/elf32.em (_place_orphan): Use an already existing
2381         section name if that section does not have any flags set.
2382
2383 2004-07-21  H.J. Lu  <hongjiu.lu@intel.com>
2384
2385         * ldlang.c (already_linked_hash_entry): Removed.
2386         (already_linked): Likewise.
2387         (already_linked_table): Likewise.
2388         (section_already_linked): Call bfd_section_already_linked.
2389         (lang_process): Replace already_linked_table_init with
2390         bfd_section_already_linked_table_init and check return. Replace
2391         already_linked_table_free with bfd_section_already_linked_table_free.
2392
2393 2004-07-21  Nick Clifton  <nickc@redhat.com>
2394
2395         * ldlang.c (init_os): Make sure that the newly allocated userdata
2396         structure is zeroed out.
2397
2398 2004-07-19  H.J. Lu  <hongjiu.lu@intel.com>
2399
2400         * NEWS: Mention the new --add-needed/--no-add-needed and
2401         --as-needed/--no-as-needed options.
2402
2403 2004-07-19  H.J. Lu  <hongjiu.lu@intel.com>
2404
2405         * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): Also
2406         check the add_needed field.
2407         (dt_needed): New struct.
2408         (gld${EMULATION_NAME}_try_needed): Change the first argument
2409         to a pointer to struct dt_needed. Check the DYN_NO_ADD_NEEDED
2410         bit in the file where the DT_NEEDED entry comes from.
2411         (gld${EMULATION_NAME}_search_needed): Change the second
2412         argument to a pointer to struct dt_needed.
2413         (gld${EMULATION_NAME}_check_ld_so_conf): Updated.
2414         (gld${EMULATION_NAME}_after_open): Likewise.
2415
2416         * ld.texinfo: Add --add-needed document.
2417         * ldlang.c (new_afile): Set p->add_needed.
2418         * ldlang.h (lang_input_statement_type): Add add_needed field.
2419         * ldmain.h (add_needed): Declare.
2420         * ldmain.c (add_needed): New global var.
2421         * lexsup.c (option_values): Add OPTION_ADD_NEEDED and
2422         OPTION_NO_ADD_NEEDED.
2423         (ld_options): Likewise.
2424         (parse_args): Handle them.
2425
2426 2004-07-13  Christof Petig  <christof@petig-baender.de>
2427
2428         * emultempl/pe.em (make_import_fixup): Use bfd_get_32 to correct
2429         for endian-ness of extracted addend.
2430
2431 2004-07-13  Danny Smith  <dannysmith@usesr.sourceforge.net>
2432
2433         * pe-dll.c (auto_export):  Filter on just the import prefix,
2434         "_imp_", not "_imp__".
2435
2436 2004-07-09  Nick Clifton  <nickc@redhat.com>
2437
2438         * configure.tgt: Change sh-sybmian-elf to sh-*-symbianelf.
2439
2440 2004-07-06  Tomer Levi  <Tomer.Levi@nsc.com>
2441
2442         * Makefile.am (ALL_EMULATIONS): Add eelf32crx.o.
2443         (eelf32crx.c): New target.
2444         * Makefile.in: Regenerate.
2445         * configure.tgt: Handle crx-*-elf*.
2446         * emulparams/elf32crx.sh: New file.
2447         * emultempl/crxelf.em: New file.
2448         * scripttempl/elf32crx.sc: New file.
2449         * NEWS: Mention new target.
2450
2451 2004-07-06  Nick Clifton  <nickc@redhat.com>
2452
2453         * Makefile.am: Add eshlsymbian.c.
2454         * Makefile.in: Regenerate.
2455         * configure.tgt: Add sh*-symbian-elf target.
2456         * emulparams/shlsymbian.sh: New file.  Configure the
2457         sh-symbian-elf linker scripts.
2458         * scripttemp/elf32sh-symbian.sc: New file.  Linker script
2459         template for the sh-symbian-elf target.
2460
2461 2004-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2462
2463         * emulparams/hppa64linux.sh: Define PLT_BEFORE_GOT.
2464         * emulparams/hppalinux.sh: Likewise.
2465         * scripttempl/elf.sc: Place .plt just before .got when .plt is in
2466         data segment and PLT_BEFORE_GOT is defined.
2467
2468 2004-07-03  Aaron W. LaFramboise  <aaron98wiridge9@aaronwl.com>
2469
2470         * ld.texinfo (WIN32): Document PE weak symbols.
2471
2472 2004-07-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2473
2474         * emulparams/shlelf32_linux.sh (COMMONPAGESIZE): Set to 4KB.
2475
2476 2004-07-01  H.J. Lu  <hongjiu.lu@intel.com>
2477
2478         * ldmisc.c (vfinfo): Call bfd_get_section_ident to identify
2479         the section.
2480
2481 2004-06-29  Alan Modra  <amodra@bigpond.net.au>
2482
2483         * ldlang.c (lang_reset_memory_regions): Save last relax pass section
2484         size in rawsize.
2485
2486 2004-06-24  Alan Modra  <amodra@bigpond.net.au>
2487
2488         * ldlang.c (print_output_section_statement): Don't print size before
2489         relaxation.
2490         (IGNORE_SECTION): Remove bfd arg.  Update all callers.
2491
2492         * ldexp.c (fold_name): .. See below.
2493         * ldlang.c (section_already_linked, print_output_section_statement,
2494         print_input_section, insert_pad, size_input_section,
2495         lang_check_section_addresses, lang_size_sections_1,
2496         lang_size_sections, lang_do_assignments_1, lang_set_startof,
2497         lang_one_common, lang_reset_memory_regions, lang_process,
2498         lang_abs_symbol_at_end_of, lang_do_version_exports_section): ..
2499         * ldwrite.c (build_link_order, clone_section, ds, split_sections): ..
2500         * pe-dll.c (process_def_file, generate_reloc): ..
2501         * emultempl/elf32.em (gld${EMULATION_NAME}_find_statement_assignment,
2502         gld${EMULATION_NAME}_before_allocation): ..
2503         * emultempl/mmix-elfnmmo.em (mmix_after_allocation): ..
2504         * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_before_allocation,
2505         sh64_elf_${EMULATION_NAME}_after_allocation): ..
2506         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): ..
2507         * emultempl/xtensaelf.em (ld_assign_relative_paged_dot,
2508         ld_local_file_relocations_fit, ld_xtensa_insert_page_offsets): Use
2509         "size" instead of "_raw_size" and "_cooked_size".  Expand
2510         bfd_section_size macro invocations.
2511
2512 2004-06-22  Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
2513
2514         * ld/scripttemp/pe.sc (.CRT): Define ___crt_xc_start__,
2515         ___crt_xc_end__, ___crt_xi_start__, ___crt_xi_end__, ___crt_xl_start__,
2516         ___crt_xp_start__, ___crt_xp_end__, ___crt_xt_start__ and
2517         ___crt_xt_end__.
2518         (.tls): Define ___tls_start__ and ___tls_end__.
2519
2520 2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
2521
2522         * emulparams/elf32frvfd.sh (GENERATE_PIE_SCRIPT): Set to yes.
2523
2524 2004-06-18  Adam Nemet  <anemet@lnxw.com>
2525
2526         * configure.in: Set EXTRA_SHLIB_EXTENSION to .a for LynxOS.
2527         * configure: Regenerate.
2528
2529 2004-06-15  Jakub Jelinek  <jakub@redhat.com>
2530
2531         * scripttempl/elf.sc: Readd KEEP and .gcc_except_table.* to
2532         .gcc_except_table output sections lost accidentally with
2533         -z relro patch.
2534
2535 2004-06-15  Alan Modra  <amodra@bigpond.net.au>
2536
2537         * ldwrite.c (build_link_order): Use bfd_get_section_size
2538         instead of bfd_get_section_size_before_reloc or _raw_size.
2539         * pe-dll.c (process_def_file): Likewise.
2540
2541 2004-06-14  Alan Modra  <amodra@bigpond.net.au>
2542
2543         From Richard Wirth <r.wirth@wirthware.de>
2544         * ldlang.c (lang_finish): Don't free lang_definedness_table.
2545
2546 2004-05-29  Alan Modra  <amodra@bigpond.net.au>
2547
2548         * ldlang.c (gc_section_callback): Move SEC_EXCLUDE twiddles..
2549         (lang_gc_sections): .. to a LANG_FOR_EACH_INPUT_STATEMENT loop here.
2550
2551 2004-05-28  Alan Modra  <amodra@bigpond.net.au>
2552
2553         * ldlang.c: Formatting.  Wrap long lines, expand bfd_get_section_flags
2554         throughout file.
2555         * lexsup.c: Formatting.  Wrap long lines.
2556         * ldwrite.c: Update copyright date.
2557
2558         * ldlang.c (lang_add_section): Don't twidlle SEC_EXCLUDE here.
2559         (output_section_callback): Nor SEC_KEEP here.
2560         (gc_section_callback): Twiddle SEC_EXCLUDE here.
2561         (lang_gc_wild): Delete.  Fold into..
2562         (lang_gc_sections_1): ..here.  Only call bfd_gc_sections when garbage
2563         collecting.
2564         (lang_process): Always call lang_gc_sections.
2565         (lang_place_orphans): Handle SEC_EXCLUDE sections.
2566         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Remove
2567         SEC_EXCLUDE code.
2568
2569 2004-05-26  H.J. Lu  <hongjiu.lu@intel.com>
2570
2571         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Clear
2572         SEC_EXCLUDE on non-SEC_DEBUGGING sections for relocatable link.
2573         * ldlang.c (lang_add_section): Likewise.
2574
2575 2004-05-26  Alan Modra  <amodra@bigpond.net.au>
2576
2577         * ldlang.c (lang_add_section): Set SEC_EXCLUDE for SEC_GROUP
2578         sections when doing a final link.  Clear SEC_EXCLUDE when doing
2579         a relocable link, except for SEC_DEBUGGING sections.
2580         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Use the
2581         same condition here to drop SEC_EXCLUDE orphan sections.
2582
2583 2004-05-25  Alan Modra  <amodra@bigpond.net.au>
2584
2585         * ldlang.c (lang_process): Call bfd_merge_sections later, and
2586         only when not a relocatable link.
2587         (print_input_section): Handle SEC_EXCLUDE sections.
2588         (size_input_section): Don't update dot on SEC_EXCLUDE sections.
2589         (lang_do_assignments_1): Likewise.
2590         * ldwrite.c (build_link_order): Ignore SEC_EXCLUDE input sections.
2591         * emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Likewise.
2592         * emultempl/hppaelf.em (build_section_lists): Likewise.
2593         * emultempl/ppc64elf.em (build_toc_list): Likewise.
2594         (build_section_lists): Likewise.
2595
2596 2004-05-23  Andreas Schwab  <schwab@suse.de>
2597
2598         * ld.texinfo (Options): Fix typo in last change.
2599
2600 2004-05-21  Andy Chittenden  <achittenden@bluearc.com>
2601
2602         * ld.h (ld_config_type): Add new field: hash_table_size.
2603         * ldmain.c: Initialise the new field to zero.  If it is non-zero
2604         after parsing the linker's command line call
2605         bfd_hash_set_default_size.
2606         * lexsup.c (option_values): Add OPTION_HASH_SIZE.
2607         (ld_options): Add hash-size.
2608         (parse_args): Parse --hash-size option.  Allow
2609         --reduce-memory-overheads to set the default hash table size as
2610         well.
2611         * ld.texinfo: Document the new switch.  Also mention that
2612         --reduce-memory-overheads can affect the hash table size.
2613         * NEWS: Mention the new feature.
2614
2615 2004-05-19  J"orn Rennecke <joern.rennecke@superh.com>
2616
2617         * NEWS: Mention new linker map file generation and the
2618         --reduce-memory-overheads option.
2619         * ld.texinfo: Document --reduce-memory-overheads option.
2620         * ld.h (map_symbol_def): New struct.
2621         (struct user_section_struct, section_userdata_type): Rename to:
2622         (struct lean_user_section_struct, lean_section_userdata_type).
2623         (struct fat_user_section_struct, fat_section_userdata_type): New.
2624         (SECTION_USERDATA_SIZE): Define.
2625         (args_type): New member reduce_memory_overheads.
2626         * ldlang.c (map_obstack): New static variable.
2627         (init_map_userdata, print_all_symbols, sort_def_symbol): New functions.
2628         (lang_map): Unless command_line.reduce_memory_overheads is set,
2629         initialize lists of defined symbols for each section.
2630         (print_input_section): Unless command_line.reduce_memory_overheads
2631         is set, use print_all_symbols.
2632         (init_os): Use lean_section_userdata_type / SECTION_USERDATA_SIZE.
2633         * ldmain.c (main): Initialize command_line.reduce_memory_overheads.
2634         * lexsup.c (enum option_values): Add OPTION_REDUCE_MEMORY_OVERHEADS.
2635         (ld_options): Add entry for --reduce-memory-overheads.
2636         (parse_args): Handle OPTION_REDUCE_MEMORY_OVERHEADS.
2637
2638 2004-05-19  Jakub Jelinek  <jakub@redhat.com>
2639
2640         * ldgram.y (sect_constraint): New.
2641         (ONLY_IF_RO, ONLY_IF_RW): New tokens.
2642         (section): Add sect_constraint.  Pass additional argument
2643         to lang_enter_output_section_statement.
2644         * mri.c (mri_draw_tree): Pass additional argument to
2645         lang_enter_output_section_statement.
2646         * emultempl/pe.em (place_orphan): Likewise.
2647         (output_prev_sec_find): Disregard output section statements with
2648         constraint == -1.
2649         * emultempl/mmo.em (output_prev_sec_find): Likewise.
2650         (mmo_place_orphan): Pass additional argument to
2651         lang_enter_output_section_statement.
2652         * emultempl/elf32.em (output_prev_sec_find): Disregard output section
2653         statements with constraint == -1.
2654         (place_orphan): Pass additional argument to
2655         lang_enter_output_section_statement.
2656         * ldlang.c (lang_enter_overlay_section): Likewise.
2657         (lang_output_section_find_1): New.
2658         (lang_output_section_find): Use it.
2659         (lang_output_section_statement_lookup_1): New.
2660         (lang_output_section_statement_lookup): Use it.
2661         (check_section_callback, check_input_sections): New.
2662         (map_input_to_output_sections): Check if all input sections
2663         are readonly if ONLY_IF_RO or ONLY_IF_RW was seen.
2664         (strip_excluded_output_sections): Disregard output section statements
2665         with constraint == -1.
2666         (lang_record_phdrs): Likewise.
2667         (lang_enter_output_section_statement): Add constraint argument.
2668         Use lang_output_section_statement_lookup_1.
2669         * ldlang.h (lang_output_section_statement_type): Add constraint
2670         and all_input_readonly fields.
2671         (lang_enter_output_section_statement): Adjust prototype.
2672         * ldlex.l (ONLY_IF_RO, ONLY_IF_RW): New tokens.
2673         * scripttempl/elf.sc (.eh_frame, .gcc_except_table): Move into text
2674         segment if all input sections are readonly.
2675
2676 2004-05-19  Adam Nemet  <anemet@lnxw.com>
2677
2678         * scripttempl/i386lynx.sc: Remove file.
2679
2680 2004-05-17  Bob Wilson  <bob.wilson@acm.org>
2681
2682         * ld.texinfo (Output Section Address): Correct subsection name.
2683
2684 2004-05-17  Adam Nemet  <anemet@lnxw.com>
2685
2686         * configure.tgt (powerpc-*-lynxos* case): New case.
2687         * configure.host (i[3-7]86-*-lynxos* case): Remove case.
2688         * emulparams/ppclynx.sh: New file.
2689         * emulparams/i386lynx.sh (SCRIPT_NAME): Update to LynxOS 4.0.
2690         * Makefile.am (ALL_EMULATIONS): Add eppclynx.o
2691         (ei386lynx.c): Update rule to LynxOS 4.0 ELF.
2692         (eppclynx.c): New rule.
2693         * Makefile.in: Regenerate.
2694
2695 2004-05-13  Joel Sherrill <joel@oarcorp.com>
2696
2697         * configure.tgt (or32-*-rtems*): Switch to elf and
2698         support versioned targets.
2699
2700 2004-05-13  Nick Clifton  <nickc@redhat.com>
2701
2702         * po/fr.po: Updated French translation.
2703
2704 2004-05-11  Jakub Jelinek  <jakub@redhat.com>
2705
2706         * genscripts.sh: Generate -z combreloc -z now -z relro scripts
2707         for binaries, -shared and -pie.
2708         * emulparams/elf_i386.sh (SEPARATE_GOTPLT): Set.
2709         * emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Set.
2710         * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Rename to...
2711         (OTHER_RELRO_SECTIONS): ... this.
2712         * ldlex.l (DATA_SEGMENT_RELRO_END): Add.
2713         * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
2714         -z relro and -z norelro.
2715         (gld${EMULATION_NAME}_list_options): Add it to usage.
2716         (gld${EMULATION_NAME}_get_script): Return -z combreloc -z now
2717         -z relro scripts when appropriate.
2718         * scripttempl/elf.sc: Unset SEPARATE_GOTPLT if RELRO_NOW is set.
2719         Create separate .got.plt section if SEPARATE_GOTPLT.
2720         Move sections which are only written during relocation handling
2721         to the beginning of RW segment.  If NO_SMALL_DATA, move .got
2722         before .data.  Add DATA_SEGMENT_RELRO_END directive.
2723         Include OTHER_RELRO_SECTIONS.
2724         * ldgram.y (DATA_SEGMENT_RELRO_END): Add.
2725         * ldexp.c (exp_print_token): Handle DATA_SEGMENT_RELRO_END.
2726         (fold_unary): Likewise.
2727         (fold_binary): Handle -z relro.
2728         * ldexp.h (struct exp_data_seg): Add exp_dataseg_relro_seen and
2729         exp_dataseg_relro_adjust phases.  Add relro_end field.
2730         * ldmain.c (main): Initialize link_info.relro to FALSE.
2731         * ldlang.c (lang_size_sections): Handle -z relro.
2732
2733 2004-05-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
2734
2735         * scripttempl/avr.sc: Do not set LMA for "eeprom" section.
2736
2737 2004-05-07  J"orn Rennecke <joern.rennecke@superh.com>
2738
2739         * ldlang.c (print_padding_statement): Cast size_t to bfd_vma
2740         before printing it with %W.
2741
2742 2004-05-07  Brian Ford  <ford@vss.fsi.com>
2743             DJ Delorie  <dj@redhat.com>
2744
2745         * emultempl/pe.em (real_flags): New static.
2746         (OPTION_LARGE_ADDRESS_AWARE): New define.
2747         (gld${EMULATION_NAME}_add_options): Add --large-address-aware option.
2748         (gld_${EMULATION_NAME}_list_options): Likewise.
2749         (gld${EMULATION_NAME}_handle_option): Likewise.
2750         (gld_${EMULATION_NAME}_after_open): Pass real_flags to PE private data.
2751         * ld.texinfo: Document it.
2752         * NEWS: Mention it.
2753
2754 2004-05-07  Brian Ford  <ford@vss.fsi.com>
2755
2756         * NEWS: Mention DWARF 2 support for i386pe.
2757
2758 2004-05-05  Alexandre Oliva  <aoliva@redhat.com>
2759
2760         * emulparams/elf32frvfd.sh (OUTPUT_FORMAT): Switch to new
2761         elf32-frvfdpic.
2762
2763 2004-04-30  Alan Modra  <amodra@bigpond.net.au>
2764
2765         * ldlang.c (unique_section_p): Pass section parm, return true on
2766         group sections.
2767         (output_section_callback): Adjust.
2768         * ldlang.h (unique_section_p): Update prototype.
2769         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust.
2770
2771 2004-04-30  Eric Botcazou  <ebotcazou@act-europe.fr>
2772
2773         * ld.texinfo (--gc-sections): Remove restriction for
2774         dynamic linking.
2775
2776 2004-04-29  Brian Ford  <ford@vss.fsi.com>
2777
2778         * scripttempl/pe.sc: Handle .debug* and .gnu.linkonce.wi.* sections
2779         for DWARF 2/3.  Update stab section's syntax.
2780
2781 2004-04-29  Alan Modra  <amodra@bigpond.net.au>
2782
2783         * pe-dll.c: Revert changes accidentally committed 2004-03-08.
2784         (fill_edata): Correct pointer arithmetic.
2785
2786 2004-04-21  Chris Demetriou  <cgd@broadcom.com>
2787
2788         * ld.texinfo: Remove MIPS --embedded-relocs documentation.
2789         * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Remove definition.
2790         * emulparams/mipsidt.sh (TEMPLATE_NAME): Use generic.em.
2791         (EXTRA_EM_FILE): Use mipsecoff.em
2792         * emulparams/mipsidtl.sh (TEMPLATE_NAME): Use generic.em.
2793         (EXTRA_EM_FILE): Use mipsecoff.em
2794         * emultempl/mipsecoff.em: Restructure to be included as an
2795         extra emulation file.
2796         (check_sections, gld${EMULATION_NAME}_after_open)
2797         (gld${EMULATION_NAME}_after_allocation)
2798         (gld${EMULATION_NAME}_get_script)
2799         (ld_${EMULATION_NAME}_emulation): Remove
2800         (gld${EMULATION_NAME}_before_parse): Rename to...
2801         (mipsecoff_before_parse): This.
2802         (LDEMUL_BEFORE_PARSE): Define.
2803         * emultempl/mipself.em: Remove file.
2804         * scripttempl/mips.sc (.rel.sdata): Do not include in output.
2805         (__runtime_reloc_start, __runtime_reloc_stop): Stop providing
2806         these symbols.
2807         * Makefile.am: Remove dependencies on emultempl/mipself.em.
2808         * Makefile.in: Regenerate.
2809
2810 2004-04-21      Anil Paranjpe   <anilp1@kpitcummins.com>
2811
2812         * ld.texinfo (synthesizing on H8/300): Information about linker
2813         relaxation support for bit manipulation instructions and system
2814         control instructions is added.
2815
2816 2004-04-21  Hans-Peter Nilsson  <hp@axis.com>
2817
2818         * NEWS: Mention change in DEFINED semantics.
2819
2820 2004-04-21  Eric Botcazou  <ebotcazou@act-europe.fr>
2821
2822         * scripttempl/elf.sc (.text): Add KEEP for .text.*personality*.
2823         (.data): Add KEEP for .gnu.linkonce.d.*personality*.
2824         (.gcc_except_table): Add KEEP for self and accept .gcc_except_table.*.
2825
2826 2004-04-21  Ben Elliston  <bje@au.ibm.com>
2827
2828         * ld.texinfo (Simple Example): Add missing punctuation.
2829
2830 2004-04-20  Chris Demetriou  <cgd@broadcom.com>
2831
2832         * NEWS: Note that MIPS --embedded-relocs option is deprecated.
2833
2834 2004-04-19  Jakub Jelinek  <jakub@redhat.com>
2835
2836         * ldlang.c (lang_do_assignments_1): Handle .tbss output section
2837         specially.
2838
2839 2004-04-18  Danny Smith  <dannysmith@users.sourceforge.net>
2840
2841         * scriptempl/pe.sc:  Put numbered .ctors.* after .ctors
2842         with default priority. Likewise for dtors.
2843
2844 2004-04-11  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
2845
2846         * configure.host: Remove mips*-dec-bsd* target.
2847         * configure.tgt: Likewise.
2848
2849 2004-04-08  Richard Sandiford  <rsandifo@redhat.com>
2850
2851         * emulparams/elf32bsmip.sh (EXTRA_EM_FILE): Define to irix.
2852         * emulparams/elf64bmip.sh (EXTRA_EM_FILE): Likewise.
2853         * emulparams/elf32bmipn32.sh (EXTRA_EM_FILE): Likewise.
2854         * emultempl/irix.em: New file.
2855         * Makefile.am (eelf32bsmip.c, eelf32bmipn32.c, eelf64bmip.c): Update
2856         dependencies.
2857         * Makefile.in: Regenerate.
2858
2859 2004-04-01  Paul Brook  <paul@codesourcery.com>
2860
2861         * emultempl/armelf.em (byteswap_code): Add.
2862         (arm_elf_before_allocation): Pass extra parameter.
2863         (PARSE_AND_LIST_PROLOGUE): Add OPTION_BE8.
2864         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add be8.
2865         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_BE8.
2866         * emultempl/armelf_oabi.em: Pass extra parameter.
2867         * ld.texinfo: Document --be8.
2868
2869 2004-03-30  Stan Shebs  <shebs@apple.com>
2870
2871         Remove long-obsolete MPW support.
2872         * mpw-config.in, mpw-make.sed, mac-ld.r: Remove files.
2873         * Makefile.am (mpw): Remove file-presynthesizing actions.
2874         * Makefile.in: Likewise.
2875         * ldfile.c (slash): Remove MPW case.
2876         * ldlex.l [MPW]: Remove unused definition.
2877
2878 2004-03-30  Galit Heller  <Galit.Heller@nsc.com>
2879
2880         * Makefile.am (ALL_EMULATIONS): Add eelf32cr16c.o.
2881         (eelf32cr16c.c): New target.
2882         * Makefile.in: Regenerate.
2883         * configure.tgt: Handle cr16c-*-elf*.
2884         * emulparams/elf32cr16c.sh: New file.
2885         * scripttempl/elfcr16c.sc: Likewise
2886         * NEWS: Mention support for new target.
2887
2888 2004-03-30  Nick Clifton  <nickc@redhat.com>
2889
2890         * po/sv.po: Updated Swedish translation.
2891
2892 2004-03-27  Alan Modra  <amodra@bigpond.net.au>
2893
2894         * emultempl/elf32.em: Update new bfd_elf_discard_info name.
2895         * emultempl/hppaelf.em: Likewise.
2896         * emultempl/ppc64elf.em: Likewise.
2897         * emultempl/sh64elf.em: Likewise.
2898
2899 2004-03-25  Alan Modra  <amodra@bigpond.net.au>
2900
2901         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Update
2902         size_dynamic_sections call.
2903
2904 2004-03-23  Alan Modra  <amodra@bigpond.net.au>
2905
2906         PR 51.
2907         * emultempl/ppc64elf.em (ppc_create_output_section_statements): Set
2908         link_info.wrap_char.
2909
2910 2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>
2911
2912         * lexsup.c (parse_args): Don't set unresolved_syms_in_objects
2913         or unresolved_syms_in_shared_libs for -Bdynamic and -Bstatic.
2914
2915 2004-03-20  Alexandre Oliva  <aoliva@redhat.com>
2916
2917         * emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb.
2918
2919 2004-03-19  Alan Modra  <amodra@bigpond.net.au>
2920
2921         * config.in: Regenerate.
2922         * po/ld.pot: Regenerate.
2923
2924 2004-03-18  Alan Modra  <amodra@bigpond.net.au>
2925
2926         * ld.texinfo: Add --as-needed doco.
2927         * ldmain.c (as_needed): New global var.
2928         * ldmain.h (as_needed): Declare.
2929         * lexsup.c (option_values): Add OPTION_AS_NEEDED and
2930         OPTION_NO_AS_NEEDED.
2931         (ld_options): Likewise.
2932         (parse_args): Handle them.
2933         * ldlang.h (lang_input_statement_type): Add as_needed field.
2934         * ldlang.c (new_afile): Set p->as_needed.
2935         * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): New function.
2936         (gld${EMULATION_NAME}_try_needed): Use bfd_elf_set_dyn_lib_class.
2937         (ld_${EMULATION_NAME}_emulation): Set LDEMUL_RECOGNIZED_FILE entry.
2938
2939         * ldlang.c (open_input_bfds): Remove useless cast.
2940         (lang_do_assignments_1): Likewise.
2941         (lang_for_each_input_section): Delete.
2942
2943 2004-03-17  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2944
2945         * configure.tgt: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff*.
2946
2947 2004-03-08  Danny Smith  <dannysmith@users.sourceforge.net>
2948
2949         * pe-dll.c (pe_dll_generate_implib): Skip sections marked as
2950         private when building implib.
2951
2952 2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
2953
2954         * ldlang.c (lang_add_section): Don't force SEC_LOAD on
2955         SEC_THREAD_LOCAL.
2956         (IGNORE_SECTION): Ignore .tbss sections too.
2957         (lang_size_sections_1): .tbss sections do not advance dot.
2958
2959 2004-03-01  Andreas Schwab  <schwab@suse.de>
2960
2961         * ld.texinfo (Options): Fix example for --wrap.
2962
2963 2004-02-25  Danny Smith  <dannysmith@users.sourceforge.net>
2964
2965         * pe-dll.c (fill_edata): Check that exported_symbol_sections is
2966         not NULL.
2967
2968 2004-02-23  Ian Lance Taylor  <ian@wasabisystems.com>
2969
2970         * ldlang.c (lang_check): Use %P, not %E, in error message.
2971
2972 2004-02-23  Nathan Sidwell  <nathan@codesourcery.com>
2973
2974         * ldlang.h (struct lang_output_section_state): Change processed
2975         field's type.
2976         * ldexp.c (check, invalid): Remove.
2977         (fold_name): Move valid_p assignments. Create undefined symbol
2978         when needed. Directly exampine section's processd flag.
2979         * ldlang.c (lang_output_section_statement_lookup): Adjust
2980         processed field init.
2981         (lang_size_sections_1): Allow LOADADDR when determining section's
2982         VMA. Adjust error message. Fold data statement's expr.
2983         (lang_size_sections): Correctly increment lang_statement_iteration.
2984
2985 2004-02-23  Alan Modra <amodra@bigpond.net.au>
2986
2987         * ldexp.c (fold_tree): Follow indirect symbols.
2988
2989 2004-02-20  Nathan Sidwell  <nathan@codesourcery.com>
2990
2991         * ldgram.y (exp): Add two operand ALIGN.
2992         * ldexp.c (fold_binary): Add ALIGN_K case.
2993         * ld.texinfo (ALIGN): Document two operand version.
2994
2995 2004-02-19  Nathan Sidwell  <nathan@codesourcery.com>
2996
2997         * ldlang.c (map_input_to_output_sections): Initialize sections
2998         mentioned in a data statement expression.
2999         (lang_do_assignments_1): Add data statement's expression's
3000         section's vma.
3001
3002 2004-02-18  Nathan Sidwell  <nathan@codesourcery.com>
3003
3004         * ldgram.y (statement_anywhere): Add assert rule.
3005         * ldlang.c (exp_init_os): Add assert case.
3006
3007 2004-02-14  Andrew Cagney  <cagney@redhat.com>
3008
3009         * ldmain.c (remove_output): Call bfd_cache_close.
3010
3011 2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
3012
3013         * emulparams/elf32bmipn32-defs.sh (OTHER_SECTIONS): Discard
3014         .MIPS.content* and .MIPS.events* sections.
3015
3016 2004-02-09  Daniel Jacobowitz  <drow@mvista.com>
3017
3018         * emulparams/armelf.sh, emulparams/armelf_linux.sh: Move
3019         .note.gnu.arm.ident to after allocated sections.  Mark its
3020         address as 0.
3021
3022 2004-02-09  Daniel Jacobowitz  <drow@mvista.com>
3023
3024         * emulparams/armelf_linux.sh (COMMONPAGESIZE): Set to 4KB.
3025         * emulparams/elf32bmip.sh (COMMONPAGESIZE): Likewise.
3026         * emulparams/elf32bmipn32.sh (COMMONPAGESIZE): Likewise.
3027         * emulparams/elf32btsmipn32.sh (COMMONPAGESIZE): Likewise.
3028         * emulparams/shlelf_linux.sh (COMMONPAGESIZE): Likewise.
3029
3030 2004-02-05  Nick Clifton  <nickc@redhat.com>
3031
3032         * emultempl/pe.em (_after_open): Fix typo in previous delta.
3033
3034 2004-02-04  Danny Smith  <dannysmith@users.sourceforge.net>
3035
3036         * emultempl/pe.em (_after_open): Fix thinko in 2003-12-18 patch.
3037
3038 2004-01-28  Alan Modra  <amodra@bigpond.net.au>
3039
3040         * genscripts.sh: Fix typo.
3041
3042         * genscripts.sh: Apply $LIBPATH_SUFFIX to $tool_lib and $libdir too.
3043
3044 2004-01-24  Jakub Jelinek  <jakub@redhat.com>
3045
3046         * emulparams/elf64_ia64.sh: Put .rela.opd into
3047         OTHER_GOT_RELOC_SECTIONS instead of OTHER_PLT_RELOC_SECTIONS.
3048
3049 2004-01-20  Danny Smith  <dannysmith@users.sourceforge.net>
3050
3051         * pe-dll.c (pe_create_import_fixup): Clear WP_TEXT flag.
3052         * ld.texinfo (--omagic): Note that writable text section
3053         does not conform to published PE-COFF specs.
3054         (--enable-auto-import): Likewise.
3055
3056 2004-01-15  Alan Modra  <amodra@bigpond.net.au>
3057
3058         * emulparams/elf32ppc.sh (COMMONPAGESIZE): Define.
3059
3060 2004-01-13  Nick Clifton  <nickc@redhat.com>
3061
3062         * ldlang.c (lang_get_regions): Add extra parameter 'have_vma'
3063         which if true will prevent the LMA region being used as a
3064         replacement for a default VMA region.
3065         (lang_leave_output_section_statement): Pass extra parameter.
3066         (lang_leave_overlay): Likewise.
3067         * ld.texinfo (Output Section LMA): Document that the LMA
3068         region can be set to the VMA region if no VMA has been set.
3069         * ldlang.h (struct lang_output_section_phdr_list): Create a
3070         typedef for this type.  Minor formatting fixes.
3071
3072 2004-01-13  Nick Clifton  <nickc@redhat.com>
3073
3074         * ldlang.c (lang_size_sections_1): If dot is advanced, then
3075         assume that the section should be allocated.
3076
3077 2004-01-13  Alan Modra  <amodra@bigpond.net.au>
3078
3079         * ldlang.c (IGNORE_SECTION): Don't ignore SEC_ALLOC && !SEC_LOAD
3080         sections.  Do ignore SEC_NEVER_LOAD sections.
3081         (lang_size_sections_1): Remove test made redundant with the above.
3082
3083 2004-01-09  Alan Modra  <amodra@bigpond.net.au>
3084
3085         * emultempl/ppc64elf.em (ppc_before_allocation): Clear cached
3086         program_header_size.
3087
3088 2004-01-06  Alexandre Oliva  <aoliva@redhat.com>
3089
3090         2003-11-28  Alexandre Oliva  <aoliva@redhat.com>
3091         * emulparams/elf32frvfd.sh (EMBEDDED): Clear.
3092         2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
3093         * emulparams/elf32frvfd.sh (STACK_ADDR): Unset.
3094         (MAXPAGESIZE): Set to 64Kb.
3095         (OTHER_READONLY_SECTIONS): Define __ROFIXUP_LIST__ and
3096         __ROFIXUP_END__.  Don't map .rofixup.got any more.
3097         * emulparams/elf32frv.sh (NOP): Set.
3098         2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
3099         * configure.tgt: Add frv-*-*linux*.
3100         2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
3101         * Makefile.am (ALL_EMULATIONS): Added eelf32frvfd.o.
3102         (eelf32frvfd.c): New.
3103         * configure.tgt <frv-*-*>: Added it to targ_extra_emuls.
3104         * emulparams/elf32frv.sh: Reverted previous two patches.
3105         * emulparams/elf32frvfd.sh: New.
3106         * Makefile.in: Rebuilt.
3107         2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
3108         * emulparams/elf32frv.sh (OTHER_READONLY_SECTIONS): Added
3109         .rofixup.got to .rofixup.
3110         2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
3111         * emulparams/elf32frv.sh (MAXPAGESIZE): Make it 256KiB, not 256B.
3112         (TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT): Set.
3113
3114 2004-01-05  Jakub Jelinek  <jakub@redhat.com>
3115
3116         * emulparams/elf_s390.sh (NO_SMALL_DATA): Set to yes.
3117         * emulparams/elf64_s390.sh (NO_SMALL_DATA): Set to yes.
3118
3119 2004-01-03  Alan Modra  <amodra@bigpond.net.au>
3120
3121         * ldexp.c (align_n): Make static.
3122         * ldexp.h (align_n): Delete declaration.
3123         * ldlang.h (lang_enter_output_section_statement): Remove
3124         block_value param.
3125         * ldlang.c (lang_enter_output_section_statement): Likewise.
3126         (TO_ADDR, TO_SIZE): Define.
3127         (opb_shift): New var.
3128         (init_opb): New function.
3129         (print_input_section): Call init_opb and use TO_ADDR.
3130         (print_data_statement, print_reloc_statement): Likewise.
3131         (print_padding_statement): Likewise.
3132         (size_input_section): Use TO_SIZE and TO_ADDR, and global opb_shift.
3133         (lang_check_section_addresses): Likewise.
3134         (lang_size_sections_1): Likewise.
3135         (lang_do_assignments_1): Likewise.
3136         (lang_set_startof): Likewise.
3137         (lang_one_common): Likewise.  Combine power_of_two and opb_shift align.
3138         (lang_process): Call init_opb.
3139         (lang_abs_symbol_at_end_of): Use TO_ADDR and global opb_shift.
3140         (lang_enter_overlay_section): Adjust
3141         lang_enter_output_section_statement call.
3142         * ldgram.y: Likewise.
3143         * mri.c (mri_draw_tree): Likewise.
3144         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Likewise.
3145         * emultempl/mmo.em (mmo_place_orphan): Likewise.
3146         * emultempl/pe.em (gld${EMULATION_NAME}_place_orphan): Likewise.
3147
3148         * ldfile.c (ldfile_set_output_arch): Add defarch param.
3149         * ldfile.h (ldfile_set_output_arch): Ditto.
3150         * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Use
3151         ldfile_set_output_arch.
3152         * emultempl/beos.em (gld${EMULATION_NAME}_before_parse): Ditto.
3153         * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Ditto.
3154         * emultempl/linux.em (gld${EMULATION_NAME}_before_parse): Ditto.
3155         * emultempl/mipsecoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
3156         * emultempl/pe.em (gld${EMULATION_NAME}_before_parse): Ditto.
3157         * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse): Ditto.
3158         * ldgram.y: Adjust ldfile_set_output_arch call.
3159         * emultempl/armcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
3160         * emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Ditto.
3161         * emultempl/armelf_oabi.em (gld${EMULATION_NAME}_before_parse): Ditto.
3162         * emultempl/generic.em (gld${EMULATION_NAME}_before_parse): Ditto.
3163         * emultempl/gld960c.em (gld960_set_output_arch): Ditto.
3164         * emultempl/m68kcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
3165         * emultempl/ticoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
3166
3167 2004-01-02  Bernardo Innocenti  <bernie@develer.com>
3168
3169         * configure.tgt: Add m68k-uClinux target.
3170
3171 For older changes see ChangeLog-0203
3172 \f
3173 Local Variables:
3174 mode: change-log
3175 left-margin: 8
3176 fill-column: 74
3177 version-control: never
3178 End: