OSDN Git Service

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