PR ld/10864
[binutils.git] / ld / ChangeLog
blob4043ee7e6b2bb0006a1f89c59d0d2bc43508ebb4
1 2009-11-10  Nick Clifton  <nickc@redhat.com>
3         PR ld/10864
4         * ld.texinfo (Entry Point): Mention that the default entry symbol
5         is not 'start' on some targets.
7 2009-11-06  H.J. Lu  <hongjiu.lu@intel.com>
9         PR ld/10912
10         * ldmain.c (add_DT_NEEDED_for_dynamic): Default to TRUE.
12 2009-11-06  Kai Tietz  <kai.tietz@onevision.com>
14         * pe.em (DEFAULT_PSEUDO_RELOC_VERSION): New macro.
15         (gld_XXX_before_parse): Set pseudo-relocation default
16         version to DEFAULT_PSEUDO_RELOC_VERSION.
17         (gldXXX_handle_option): Likewise.
20 2009-11-05  Nick Clifton  <nickc@redhat.com>
22         * lexsup.c: Rename --add-needed to --copy-dt-needed-entries.
23         * ldlang.h (struct lang_input_statement_struct): Rename add_needed
24         to add_DT_NEEDED_for_dynamic.  Rename as_needed to
25         add_DT_NEEDED_for_regular.
26         * ldlang.c: Likewise.
27         * ldlang.h: Likewise.
28         * ldlang.c: Use the new variable names.
29         * ldgram.y: Likewise.
30         * emultempl/elf32.em: Likewise.
31         * ld.texinfo: Document the renamed option.  Also mention its
32         affect on the resolution of dynamic symbols.
33         * NEWS: Mention the changed option name.
35 2009-11-04  Kai Tietz  <kai.tietz@onevision.com>
37         * emulparams/arm_epoc_pe.sh: Remove ENTRY.
38         * emulparams/arm_wince_pe.sh: Likewise.
39         * emulparams/i386pe.sh: Likewise.
40         * emulparams/i386pe_posix.sh: Likewise.
41         * emulparams/mcorepe.sh: Likewise.
42         * emulparams/mipspe.sh: Likewise.
43         * emulparams/ppcpe.sh: Likewise.
44         * emulparams/armpe.sh: Likewise.
45         * emulparams/i386pep.sh: Likewise.
46         * emulparams/shpe.sh: Likewise.
47         Additionally cleaned up double-defined
48         variables SUBSYSTEM and INITIAL_SYMBOL_CHAR.
49         * emultempl/pe.em: Remove use of ENTRY.
50         (pe_subsystem): New local variable.
51         (gld_XXX_before_parse): Don't set default
52         entry point here.
53         (set_entry_point): New function to set entry
54         point.
55         (set_pe_subsystem): Remove code for entry point.
56         (gld_XXX_after_parse): Use set_entry_point here.
57         * emultempl/pep.em: Likewise.
59 2009-10-29  Nathan Sidwell  <nathan@codesourcery.com>
61         * emulparams/vxworks.sh (OTHER_READONLY_SECTIONS): Move into ...
62         (OTHER_READWRITE_SECTIONS): ... here.
64 2009-10-28  Kai Tietz  <kai.tietz@onevision.com>
66         * emultempl/pep.em (U): Define underscore macro.
67         (init): Use for __ImageBase U macro.
69 2009-10-23  Kai Tietz  <kai.tietz@onevision.com>
71         * deffile.h (def_file_export): New member its_name.
72         (def_file_import): Likewise.
73         (def_file_add_export): Add argument its_name.
74         (def_file_add_import): Likewise.
75         * deffilep.y (def_exports): Add argument its_name.
76         (def_import): Likewise.
77         (EQUAL): Add new token for '=='.
78         (opt_equalequal_name): New rule.
79         (expline): Add rule opt_equalequal_name.
80         (impline): Likewise.
81         (def_file_free): Free for exports and imports
82         the optional member its_name.
83         (def_lex): Add scan of '==' as EQUAL.
84         * pe-dll.c (pe_export_sort): Sort for its_name too.
85         (process_def_file_and_drectve): Adjust calls to
86         def_file_add_export.
87         (generate_edata): Take its_name in account.
88         (make_one): Likewise.
89         (pe_process_import_defs): Likewise.
90         (pe_dll_generate_def_file): Add print of new '==' option.
91         * ld.texinfo: Extend documentation about .def file syntax.
92         * NEWS: Mention new feature.
94 2009-10-23  Kai Tietz  <kai.tietz@onevision.com>
96         * deffilep.y (def_lex): Allow '<' and '>' characters in identifier
97         strings.
99 2009-10-23  Ryan Mansfield  <rmansfield@qnx.com>
101         PR ld/10489
102         * emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Handle
103         drive specifiers for DOS based filesystems in rpath-link strings.
105 2009-10-19  Nick Clifton  <nickc@redhat.com>
107         * Makefile.am: Remove spurious sanitization marker.
108         * Makefile.in: Regenerate.
110 2009-10-16  Dimitry Gorbachev  <d.g.gorbachev@gmail.com>
112         * emultempl/pe.em (OPTION_EXCLUDE_ALL_SYMBOLS): New macro.
113         (gld${EMULATION_NAME}_add_options): Add new --exclude-all-symbols option
114         to exclude all symbols from automatic export.
115         (gld_${EMULATION_NAME}_list_options): Describe it.
116         (gld${EMULATION_NAME}_handle_option): Handle it.
117         * emultempl/pep.em: Likewise to all the above.
118         * pe-dll.c (pe_dll_exclude_all_symbols): New variable.
119         (process_def_file_and_drectve): Use it.
120         * pe-dll.h (pe_dll_exclude_all_symbols): Declare.
121         * pep-dll.c (pep_dll_exclude_all_symbols): Define pep_ alias.
122         * pep-dll.h (pe_dll_exclude_all_symbols): Declare.
123         * NEWS: Mention the new feature.
124         * ld.texinfo: Document the new command line switch.
126 2009-10-14  Andreas Schwab  <schwab@linux-m68k.org>
128         * ldlex.l (yy_input): Remove second argument and return the value
129         instead.
130         (YY_INPUT): Adjust.
132 2009-10-14  Alan Modra  <amodra@bigpond.net.au>
134         * emultempl/netbsd.em (gldnetbsd_before_parse): Typo fix.
136 2009-10-14  Ryan Mansfield  <rmansfield@qnx.com>
138         * ldlang.c (load_symbols): Set whole_archive from entry when
139         parsing a linker script.
141 2009-10-10  Alan Modra  <amodra@bigpond.net.au>
143         * scripttempl/elf32cr16.sc: Revert 2009-09-28 changes.
144         * scripttempl/elf32cr16c.sc: Likewise.
145         * scripttempl/elf32crx.sc: Likewise.
146         * scripttempl/tic54xcoff.sc: Likewise.
147         * scripttempl/aix.sc: Likewise.
148         * scripttempl/avr.sc: Likewise.
149         * scripttempl/elf32msp430.sc: Likewise.
150         * scripttempl/elf32msp430_3.sc: Likewise.
151         * scripttempl/elf32sh-symbian.sc: Likewise.
152         * scripttempl/elf_chaos.sc: Likewise.
153         * scripttempl/elfi370.sc: Likewise.
154         * scripttempl/nw.sc: Likewise.
155         * scripttempl/psos.sc: Likewise.
156         * scripttempl/armbpabi.sc: Likewise.
157         * scripttempl/elf.sc: Likewise.
158         * scripttempl/elf64hppa.sc: Likewise.
159         * scripttempl/elfd10v.sc: Likewise.
160         * scripttempl/elfd30v.sc: Likewise.
161         * scripttempl/elfm68hc11.sc: Likewise.
162         * scripttempl/elfm68hc12.sc: Likewise.
163         * scripttempl/elfmicroblaze.sc: Likewise.
164         * scripttempl/elfxtensa.sc: Likewise.
165         * scripttempl/iq2000.sc: Likewise.
166         * scripttempl/mep.sc: Likewise.
167         * scripttempl/xstormy16.sc: Likewise.
169 2009-10-09  Alan Modra  <amodra@bigpond.net.au>
171         PR ld/10749
172         * ldlang.c (lang_size_sections_1): Zero section vmas only for COFF.
174 2009-10-08  Alan Modra  <amodra@bigpond.net.au>
176         PR ld/10744
177         * ldlang.c (lang_new_phdr): Allow FILEHDR/PHDRS on more than the
178         first PT_LOAD header.
179         * ld.texinfo: Update.
181 2009-10-06  Nathan Sidwell  <nathan@codesourcery.com>
183         * ldlang.c (lang_new_phdr): Check PHDRS and FILEHDR in loadable
184         segments do not appear after a different loadable segment.
185         * ld.texinfo (PHDRS): Document order of processing segments.
186         Document where PHDRS and FILEHDR may appear.
188 2009-10-03  Alan Modra  <amodra@bigpond.net.au>
190         * emultempl/ppc32elf.em (emit_stub_syms): Init to -1.
191         (ppc_after_open): Set emit_stubs_syms by default when shared.
192         (OPTION_NO_STUBSYMS): Define.
193         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
194         PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.
195         * emultempl/ppc64elf.em (emit_stub_syms): Init to -1.
196         (gld${EMULATION_NAME}_finish): Set emit_stubs_syms by default.
197         (OPTION_NO_STUBSYMS): Define.
198         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
199         PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.
201 2009-09-29  Joel Sherrill <joel.sherrill@oarcorp.com>
203         * emulparams/m68kelf.sh (NOP): Use 0x4e71 (nop) rather than 0x4e75
204         (rts).
206 2009-09-29  DJ Delorie  <dj@redhat.com>
208         * Makefile.am: Add rules to build RX emulation.
209         * configure.tgt: Likewise.
210         * NEWS: Mention support for RX architecture.
211         * Makefile.in: Regenerate.
212         * emulparams/elf32rx.sh: New file.
213         * emultempl/rxelf.em: New file.
215 2009-09-29  Alan Modra  <amodra@bigpond.net.au>
217         * ldlang.c (lang_size_sections_1): Allow scripts to specify a
218         non-zero vma even when relocatable.
220 2009-09-28  Alan Modra  <amodra@bigpond.net.au>
222         * scripttempl/elf32cr16.sc: Emit empty script for ld -r and ld -Ur.
223         * scripttempl/elf32cr16c.sc: Likewise.
224         * scripttempl/elf32crx.sc: Likewise.
225         * scripttempl/tic54xcoff.sc: Likewise.
226         * scripttempl/aix.sc: Delete ${RELOCATING-0}.
227         * scripttempl/avr.sc: Likewise.
228         * scripttempl/elf32msp430.sc: Likewise.
229         * scripttempl/elf32msp430_3.sc: Likewise.
230         * scripttempl/elf32sh-symbian.sc: Likewise.
231         * scripttempl/elf_chaos.sc: Likewise.
232         * scripttempl/elfi370.sc: Likewise.
233         * scripttempl/nw.sc: Likewise.
234         * scripttempl/psos.sc: Likewise.
235         * scripttempl/armbpabi.sc: Delete ${RELOCATING-0} and ${CONSTRUCTING-0}.
236         * scripttempl/elf.sc: Likewise.
237         * scripttempl/elf64hppa.sc: Likewise.
238         * scripttempl/elfd10v.sc: Likewise.
239         * scripttempl/elfd30v.sc: Likewise.
240         * scripttempl/elfm68hc11.sc: Likewise.
241         * scripttempl/elfm68hc12.sc: Likewise.
242         * scripttempl/elfmicroblaze.sc: Likewise.
243         * scripttempl/elfxtensa.sc: Likewise.
244         * scripttempl/iq2000.sc: Likewise.
245         * scripttempl/mep.sc: Likewise.
246         * scripttempl/xstormy16.sc: Likewise.
248 2009-09-27  Christopher Faylor  <me+cygwin@cgf.cx>
250         PR ld/10634
251         * ldlang.c (lang_size_sections_1): Always force output vma to zero for
252         relocatable sections.
253         (lang_size_sections_1): Revert previous COFF-only accommodation for
254         relocatable sections.
256 2009-09-25  Martin Thuresson  <martint@google.com>
258         Update sources to make arm targets compile cleanly with
259         -Wc++-compat:
260         * emultempl/armelf.em: Add casts.
262 2009-09-23  Matt Rice  <ratmice@gmail.com>
264         * emultempl/elf32.em (gld${EMULATION_NAME}_add_options): Add --audit,
265         --depaudit, and -P options.
266         (gld${EULATION_NAME}_handle_options): Ditto.
267         (gld${EULATION_NAME}_list_options): Ditto.
268         (gld${EMULATION_NAME}_append_to_separated_string): New function for
269         handling rpath-like colon separated strings.
270         (gld${EMULATION_NAME}_before_allocation): Pass the audit and depaudit
271         libs to bfd.  Propagate DT_AUDIT from needed libs to depaudit.
272         * ld.texinfo: Document new options.
274 2009-09-23  Nick Clifton  <nickc@redhat.com>
276         * po/vi.po: Updated Vietnamese translation.
278 2009-09-22  Alan Modra  <amodra@bigpond.net.au>
280         * scripttempl/a29k.sc: Delete.
281         * scripttempl/ebmon29k.sc: Delete.
282         * scripttempl/m68klynx.sc: Delete.
283         * scripttempl/sa29200.sc: Delete.
284         * scripttempl/sparclynx.sc: Delete.
286 2009-09-21  Alan Modra  <amodra@bigpond.net.au>
288         * emultempl/ppc32elf.em (no_tls_get_addr_opt): New var.
289         (ppc_before_allocation): Pass to ppc_elf_tls_setup.
290         (OPTION_NO_TLS_GET_ADDR_OPT): Define.  Redefine other options in
291         terms of previous option.
292         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
293         --no-tls-get-addr-optimize.
294         (PARSE_AND_LIST_ARGS_CASES): Handle it.
295         * emultempl/ppc64elf.em (no_tls_get_addr_opt): New var.
296         (ppc_before_allocation): Pass to ppc64_elf_tls_setup.
297         (OPTION_NO_TLS_GET_ADDR_OPT): Define.
298         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
299         --no-tls-get-addr-optimize.
300         (PARSE_AND_LIST_ARGS_CASES): Handle it.
302 2009-09-18  Nick Clifton  <nickc@redhat.com>
304         * po/es.po: Updated Spanish translation.
306 2009-09-13  Alan Modra  <amodra@bigpond.net.au>
308         PR ld/6766
309         * lexsup.c (parse_args <-e>): Revert 2009-03-18 change.
310         * ldemul.c (after_parse_default): Add entry symbol as undef.
311         * emultempl/alphaelf.em (alpha_after_parse): Call after_parse_default.
312         * emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
313         * emultempl/crxelf.em (crxelf_after_parse): Likewise.
314         * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
315         * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Likewise.
316         * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Call
317         after_parse_default and delete now duplicate code.
318         * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse): Likewise.
319         * scripttempl/elf32cr16.sc: No need to make entry extern.
320         * scripttempl/elf32cr16c.sc: Likewise.
321         * scripttempl/elf32crx.sc: Likewise.
322         * scripttempl/elf32xc16xs.sc: Only provide ENTRY on final link.
324 2009-09-11  Nick Clifton  <nickc@redhat.com>
326         * po/ld.pot: Updated by the Translation project.
327         * po/fi.po: Updated Finnish translation.
329 2009-09-11  Martin Thuresson  <martint@google.com>
331         Updated sources to compile cleanly with -Wc++-compat:
332         * ld.h (enum endian_enum,enum symbolic_enum,enum
333         dynamic_list_enum): Move to top level.
334         * ldcref.c: Add casts.
335         * ldctor.c: Add casts.
336         * ldexp.c
337         * ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level.
338         * ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead
339         of integer.
340         * ldlang.h (enum statement_enum): Move to top level.
341         * ldmain.c: Add casts.
342         * ldwrite.c: Add casts.
343         * lexsup.c: Add casts. (enum control_enum): Move to top level.
344         * mri.c: Add casts. (mri_draw_tree): Use enum name instead of
345         integer.
347 2009-09-09  Alan Modra  <amodra@bigpond.net.au>
349         * scripttempl/aix.sc: Only provide ENTRY on final link.
350         * scripttempl/alpha.sc: Likewise.
351         * scripttempl/armcoff.sc: Likewise.
352         * scripttempl/crisaout.sc: Likewise.
353         * scripttempl/delta68.sc: Likewise.
354         * scripttempl/ebmon29k.sc: Likewise.
355         * scripttempl/elf32xc16x.sc: Likewise.
356         * scripttempl/elf32xc16xl.sc: Likewise.
357         * scripttempl/elfmicroblaze.sc: Likewise.
358         * scripttempl/epocpe.sc: Likewise.
359         * scripttempl/h8300.sc: Likewise.
360         * scripttempl/h8300h.sc: Likewise.
361         * scripttempl/h8300hn.sc: Likewise.
362         * scripttempl/h8300s.sc: Likewise.
363         * scripttempl/h8300sn.sc: Likewise.
364         * scripttempl/h8300sx.sc: Likewise.
365         * scripttempl/h8300sxn.sc: Likewise.
366         * scripttempl/hppaelf.sc: Likewise.
367         * scripttempl/i386beos.sc: Likewise.
368         * scripttempl/i386coff.sc: Likewise.
369         * scripttempl/i386go32.sc: Likewise.
370         * scripttempl/m68kaux.sc: Likewise.
371         * scripttempl/m68klynx.sc: Likewise.
372         * scripttempl/m88kbcs.sc: Likewise.
373         * scripttempl/maxqcoff.sc: Likewise.
374         * scripttempl/mcorepe.sc: Likewise.
375         * scripttempl/mips.sc: Likewise.
376         * scripttempl/ppcpe.sc: Likewise.
377         * scripttempl/sa29200.sc: Likewise.
378         * scripttempl/sparccoff.sc: Likewise.
379         * scripttempl/sparclynx.sc: Likewise.
380         * scripttempl/tic4xcoff.sc: Likewise.
381         * scripttempl/tic54xcoff.sc: Likewise.
382         * scripttempl/tic80coff.sc: Likewise.
383         * scripttempl/z8000.sc: Likewise.
385 2009-09-07  Tristan Gingold  <gingold@adacore.com>
387         * po/ld.pot: Regenerate.
389 2009-09-05  Martin Thuresson  <martin@mtme.org>
391         * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols,
392         gld${EMULATION_NAME}_try_needed): Rename variable class to
393         link_class.
395 2009-09-04  Tristan Gingold  <gingold@adacore.com>
397         * NEWS: Add marker for 2.20.
399 2009-09-04  Alan Modra  <amodra@bigpond.net.au>
401         * scripttempl/elf.sc (.text): Add cold text sections.
403 2009-09-04  Jie Zhang  <jie.zhang@analog.com>
405         * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Add .l2.text
406         and .l2.data.
408 2009-09-03  Dave Korn  <dave.korn.cygwin@gmail.com>
410         * scripttempl/pe.sc (.text): Add "*(.text.*)" in order to catch
411         new GCC hot/cold/unlikely partitions.
412         * scripttempl/pep.sc: Likewise.
413         * scripttempl/epocpe.sc: Likewise.
414         * scripttempl/mcorepe.sc: Likewise.
415         * scripttempl/ppcpe.sc: Likewise.
417 2009-09-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
419         * Makefile.am (ldgram.o, ldlex.o, deffilep.o): Supply correct
420         source file name for generated files which may be in $(srcdir).
421         * Makefile.in: Regenerate.
423 2009-09-01  H.J. Lu  <hongjiu.lu@intel.com>
425         * ldver.c (ldversion): Change to "Copyright 2009".
427 2009-09-01  Jie Zhang  <jie.zhang@analog.com>
429         * scripttempl/elf.sc: Add ${USER_LABEL_PREFIX} to _start, etext,
430         _stack and __bss_start.
431         * emulparams/bfin.sh (ENTRY): Remove.
433 2009-08-30  Alan Modra  <amodra@bigpond.net.au>
435         PR ld/10569
436         * ldexp.c (fold_name <MAXPAGESIZE>): Return config.maxpagesize.
437         (fold_name <COMMONPAGESIZE>): Similarly.
438         * ldlang.c (output_target): Make global.
439         * ldlang.h (output_target): Declare.
440         * ldmain.c (main): Set config.maxpagesize from bfd_emul_get_maxpagesize.
441         Similarly for config.commonpagesize.
442         * ldemul.c (set_output_arch_default): Call bfd_emul_set_maxpagesize
443         and bfd_emul_set_commonpagesize.
444         * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Don't call
445         bfd_emul_set_maxpagesize or bfd_emul_set_commonpagesize here.
447 2009-08-29  Martin Thuresson  <martin@mtme.org>
449         * ldexp.c (exp_intop, exp_bigintop, exp_relop, exp_binop)
450         (exp_trinop, exp_unop, exp_nameop, exp_assop): Rename variable new
451         to new_e.
452         * ldfile.c (ldfile_add_library_path): Rename variable new to
453         new_dirs. (ldfile_add_arch): Rename variable new to new_arch.
454         * ldlang.c (new_statement, lang_final, lang_add_wild)
455         (lang_target, lang_add_fill, lang_add_data, lang_add_assignment)
456         (lang_add_insert): Rename variable new to new_stmt. (new_afile):
457         Added missing cast. (lang_memory_region_lookup): Rename variable
458         new to new_region. (init_os): Rename variable new to
459         new_userdata. (lang_add_section): Rename variable new to
460         new_section. (ldlang_add_undef): Rename variable new to
461         new_undef. (realsymbol): Rename variable new to new_name.
463 2009-08-26  Nick Clifton  <nickc@redhat.com>
465         PR ld/10555
466         * emultempl/elf32.em (_after_open): Do not create a
467         .note.gnu-build-id section if there are no input files.
469 2009-08-24  Nick Clifton  <nickc@redhat.com>
471         * scripttempl/elfxtensa.sc (DISCARDED): Discard sections with
472         .gnu.lto_ prefix.
473         * scripttempl/armbpabi.sc: Likewise.
474         * scripttempl/elf32sh-symbian.sc: Likewise.
475         * scripttempl/elf64hppa.sc: Likewise.
476         * scripttempl/mep.sc: Likewise.
478 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
480         * Makefile.am (ldmain.o, ldfile.o): Fix typos in non-fastdep
481         rules.
482         (eelf32_spu.o): Add dependency tracking.
483         * Makefile.in: Regenerate.
485         * Makefile.am (am__skiplex, am__skipyacc): New.
486         * Makefile.in: Regenerate.
488 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
490         * Makefile.am (bin_PROGRAMS): Renamed from ...
491         (noinst_PROGRAMS): ... this.
492         (transform): Override, including the renaming of ld-new to ld.
493         (install-exec-local): Installation of ld in $(bindir) not needed
494         here any more.
495         (AM_CPPFLAGS): Renamed from ...
496         (INCLUDES): ... this.
497         (MAINTAINERCLEANFILES): Add ld.1.
498         * Makefile.in: Regenerate.
500         * Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus.  Add
501         no-texinfo.tex, no-dist, foreign.
502         (TEXINFO_TEX): New variable.
503         (install-data-local): Removed, not needed any more.
504         (all): Dependencies upon info and ld.1 not needed any more.
505         (MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Removed.
506         (mkdep generated section): Removed.
507         (ldgram.o, ldlex.o, deffilep.o, ldmain.o, ldfile.o): Rewrite to
508         use automake dependency tracking mechanism.
509         (EXTRA_ld_new_SOURCES): Add pep-dll.c, pe-dll.c, and
510         $(ALL_EMULATIONS:.o=.c) $(ALL_64_EMULATIONS:.o=.c) so their
511         dependencies are tracked too.
512         (BUILT_SOURCES): New, list $(GENERATED_HFILES) to ensure they
513         are built early.
514         * configure.in: Use AM_MAINTAINER_MODE.
515         * aclocal.m4, configure, Makefile.in: Regenerate.
517         * Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
518         (install-pdf-recursive, html__strip_dir, install-html)
519         (install-html-am, install-html-recursive): Remove.
520         * Makefile.in: Regenerate.
522         * Makefile.in: Regenerate.
523         * aclocal.m4: Likewise.
524         * config.in: Likewise.
525         * configure: Likewise.
527 2009-08-21  Richard Guenther  <rguenther@suse.de>
529         * scripttempl/elf.sc: Discard sections with .gnu.lto_ prefix.
531 2009-08-12  Tristan Gingold  <gingold@adacore.com>
533         * ld.h (fat_user_section_struct): Add map_symbol_def_count field.
534         * ldlang.c (hash_entry_addr_cmp): New function.
535         (print_all_symbols): Sort the symbols by address before printing them.
537 2009-08-10  Alan Modra  <amodra@bigpond.net.au>
539         PR 10474
540         * ldemul.c (after_allocation_default): Run lang_relax_sections.
541         * ldlang.h (lang_relax_sections): Declare.
542         * ldlang.c (relax_sections): Delete.
543         (lang_relax_sections): New function.
544         (lang_process): Don't relax directly from here.
545         * emultempl/alphaelf.em (alpha_finish): Call finish_default.
546         * emultempl/armelf.em (arm_elf_after_allocation): Delete.  Move body..
547         (gld${EMULATION_NAME}_finish): ..to here.  Move existing code..
548         (gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
549         (LDEMUL_AFTER_ALLOCATION): Update.
550         * emultempl/avrelf.em (avr_elf_finish, LDEMUL_FINISH): Delete.
551         (avr_elf_after_allocation): New function.
552         (LDEMUL_AFTER_ALLOCATION): Define.
553         * emultempl/elf-generic.em (gld${EMULATION_NAME}_map_segments): Call
554         lang_relax_sections.
555         * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Delete.  Move..
556         (gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
557         (LDEMUL_AFTER_ALLOCATION, LDEMUL_FINISH): Update.
558         * emultempl/genelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
559         (gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
560         (LDEMUL_FINISH): Delete.
561         (LDEMUL_AFTER_ALLOCATION): Define.
562         * emultempl/hppaelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
563         (gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
564         (LDEMUL_FINISH): Delete.
565         (LDEMUL_AFTER_ALLOCATION): Define.
566         * emultempl/m68hc1xelf.em (m68hc11elf_finish): Delete.  Move..
567         (m68hc11elf_after_allocation): ..to here.  New function.
568         (LDEMUL_FINISH): Delete.
569         (LDEMUL_AFTER_ALLOCATION): Define.
570         * emultempl/m68kelf.em (m68k_elf_after_allocation): Call
571         gld${EMULATION_NAME}_after_allocation.
572         * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Call
573         gld${EMULATION_NAME}_after_allocation.
574         * emultempl/mmo.em (mmo_finish): Delete.  Move body..
575         (gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
576         (LDEMUL_FINISH): Define.
577         * emultempl/ppc64elf.em (ppc_layout_sections_again): Set elf_gp.
578         (gld${EMULATION_NAME}_finish): Move code sizing sections..
579         (gld${EMULATION_NAME}_after_allocation): ..to here.
580         * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
581         Call gld${EMULATION_NAME}_after_allocation.
582         * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Delete
583         bfd_elf_discard_info and map_segments call.
585 2009-08-06  Michael Eager <eager@eagercon.com>
587         * Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to
588         ALL_EMULATIONS, targets.
589         * Makefile.in: Regenerate.
590         * configure.tgt: Add microblaze*-linux*, microblaze* targets.
591         * emulparams/elf32mb_linux.sh: New.
592         * emulparams/elf32microblaze.sh. New.
593         * scripttempl/elfmicroblaze.sc: New.
595 2009-08-05  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
597         * emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup
598         section and __fixup_start symbol.
599         * emultempl/spuelf.em (params): Initialize emit_fixups member.
600         (spu_before_allocation): Call spu_elf_size_sections.
601         (OPTION_SPU_EMIT_FIXUPS): Define.
602         (PARSE_AND_LIST_LONGOPTS): Add --emit-fixups.
603         (PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups.
604         * ld.texinfo (--emit-fixups): Document.
606 2009-08-04  Alan Modra  <amodra@bigpond.net.au>
608         PR 10474
609         * emultempl/ppc32elf.em (ppc_before_allocation): Test rawsize,
610         not size, after lang_reset_memory_regions.
612 2009-07-30  Alan Modra  <amodra@bigpond.net.au>
614         * emulparams/elf32ppc.sh (PLT): Don't include ".iplt".
615         * emulparams/elf_i386.sh (IREL_IN_PLT): Define.
616         * emulparams/elf_x86_64.sh (IREL_IN_PLT): Define.
617         * scripttempl/elf.sc: Create separate .iplt and .rela.iplt sections
618         when !IREL_IN_PLT.
620 2009-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
622         * scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to
623         the new $RELOCATEABLE_OUTPUT_FORMAT, if set.
624         (OUTPUT_FORMAT): Use the variable $OUTPUT_FORMAT.
625         (ENTRY): Don't emit for relocateable links.
626         (/DISCARD/): Don't discard .gnu.warning.* for relocateable links.
627         * emulparams/mmo.sh (RELOCATEABLE_OUTPUT_FORMAT): Set, to
628         elf64-mmix.
629         * emulparams/elf64mmix.sh (OTHER_TEXT_SECTIONS): Empty, don't
630         provide "Main" or set "_start.", for relocateable links.
632 2009-07-27  Nick Clifton  <nickc@redhat.com>
634         * (po/fi.po): Updated Finnish translation.
636 2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>
638         * configure.tgt (targ64_extra_emuls): Add elf_l1om if elf_x86_64
639         is supported.  Add elf_l1om_fbsd if elf_x86_64_fbsd is supported.
640         (targ_extra_emuls): Likewise.
642         * Makefile.am (ALL_64_EMULATIONS): Add eelf_l1om.o and
643         eelf_l1om_fbsd.o
644         (eelf_l1om.c): New.
645         (eelf_l1om_fbsd.c): Likewise.
646         * Makefile.in: Regenerated.
648         * emulparams/elf_l1om.sh: New.
649         * emulparams/elf_l1om_fbsd.sh: Likewise.
651 2009-07-23  Ulrich Drepper  <drepper@redhat.com>
653         * NEWS: Mention the linker's support for symbols with a binding of
654         STB_GNU_UNIQUE.
656 2009-07-22  H.J. Lu  <hongjiu.lu@intel.com>
658         PR ld/10429
659         * ldlang.c (insert_os_after): Tie assignments to non-alloc
660         output sections if there is no-input section.
662 2009-07-11  Alan Modra  <amodra@bigpond.net.au>
664         * ldlang.c (insert_os_after): Don't tie assignments to non-alloc
665         output sections.
667 2009-07-10  Alan Modra  <amodra@bigpond.net.au>
669         * emultempl/ppc32elf.em (ppc_before_allocation): Turn on
670         linker relaxation if it might be necessary.
672 2009-07-10  Alan Modra  <amodra@bigpond.net.au>
674         * emulparams/elf32ppc.sh (GOTPLT, PLT): Handle .iplt.
676 2009-07-06  Matthias Klose <doko@ubuntu.com>
678         * ld.texinfo: Fix typo.
680 2009-07-03  Tristan Gingold  <gingold@adacore.com>
682         * scripttempl/pep.sc: Put .eh_frame in its own section.
683         * scripttempl/pe.sc: Ditto.
685 2009-06-26  Kai Tietz  <kai.tietz@onevision.com>
687         * scripttempl/pe.sc (.debug_pubtypes): Added section rule.
688         * scripttempl/pep.sc: Likewise.
690 2009-06-25  Tristan Gingold  <gingold@adacore.com>
692         * ldlang.c (print_input_section): Add is_discarded parameter.  Adjust
693         prototype.
694         (lang_map): Print the size of discarded sections.
695         (print_statement): Adjust call to print_input_section.
697 2009-06-18  Dave Korn  <dave.korn.cygwin@gmail.com>
699         Merge cegcc and mingw32ce target name changes from CeGCC project:
701         2008-09-24  Pedro Alves  <pedroalves@users.sourceforge.net>
703         * configure.tgt (arm*-*-cegcc*): Set LIB_PATH to
704         ${tooldir}/lib/w32api.
706         2007-12-25  Pedro Alves  <pedro_alves@portugalmail.pt>
708         * configure.tgt: Add arm*-*-cegcc* target.
710         2007-12-17  Pedro Alves  <pedro_alves@portugalmail.pt>
712         * configure.tgt: Add arm-*-mingw32ce* target.
714 2009-06-10  Philip Blundell  <philb@gnu.org>
716         * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Avoid crash
717         if section has no ELF data.
719 2009-06-06  H.J. Lu  <hongjiu.lu@intel.com>
721         * scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc.
723 2009-06-05  H.J. Lu  <hongjiu.lu@intel.com>
725         * scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn.
727 2009-06-04  Alan Modra  <amodra@bigpond.net.au>
729         * dep-in.sed: Don't use \n in replacement part of s command.
730         * Makefile.am (DEP1): LC_ALL for uniq.
731         * Makefile.in: Regenerate.
733 2009-06-01  H.J. Lu  <hongjiu.lu@intel.com>
735         * scripttempl/elf.sc (PLT): Add "*(.iplt)".
736         (GOT): Add "*(.igot.plt)a" and "*(.igot)".
737         (GOTPLT): Add "*(.igot)".
738         (__rel_iplt_start): New.
739         (__rel_iplt_end): Likewise.
740         (__rela_iplt_start): Likewise.
741         (__rela_iplt_end): Likewise.
743 2009-05-27  Dave Korn  <dave.korn.cygwin@gmail.com>
745         * deffilep.y (%union):  Add new string-type semantic value 'digits'.
746         (%token):  Remove NUMBER as token, add DIGITS.
747         (%type):  Add NUMBER as type.  Add new id types anylang_id, opt_id.
748         (ALIGNCOMM):  Parse an anylang_id instead of a plain ID.
749         (anylang_id):  New production.
750         (opt_digits):  Likewise.
751         (opt_id):  Likewise.
752         (NUMBER):  Likewise.
753         (def_lex):  Return strings of digits in raw string form as DIGITS
754         token, instead of converting to numeric integer type.
756 2009-05-26  Nathan Sidwell  <nathan@codesourcery.com>
758         * ldmain.c (main): Don't reject --relax -r.
759         * ld.texinfo (PowerPC ELF32): Document behaviour of relaxing
760         partial links.
762 2009-05-26  Nick Clifton  <nickc@redhat.com>
764         * po/id.po: Updated Indonesian translation.
765         * po/ld.pot: Updated template file.
767 2009-05-26  Alan Modra  <amodra@bigpond.net.au>
769         * dep-in.sed: Output one filename per line with all lines having
770         continuation backslash.  Prefix first line with "A", following
771         lines with "B".
772         * Makefile.am (DEP): Don't use dep.sed here.
773         (DEP1): Run $MKDEP on single files, use dep.sed here on dependencies,
774         sort and uniq.
775         * Makefile.in: Regenerate.
777 2009-05-26  Alan Modra  <amodra@bigpond.net.au>
779         * ldlang.c (lang_check_section_addresses): Ignore non-alloc sections.
781 2009-05-22  Julian Brown  <julian@codesourcery.com>
783         * emultempl/armelf.em (fix_cortex_a8): New.
784         (arm_elf_before_allocation): Call bfd_elf32_arm_set_cortex_a8_fix.
785         (arm_elf_create_output_section_statements): Add fix_cortex_a8 to
786         bfd_elf32_arm_set_target_relocs.
787         (OPTION_FIX_CORTEX_A8, OPTION_NO_FIX_CORTEX_A8): New.
788         (PARSE_AND_LIST_LONGOPTS): Add [no-]fix-cortex-a8 options.
789         (PARSE_AND_LIST_OPTIONS): Add [no-]fix-cortex-a8 options.
790         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_[NO_]FIX_CORTEX_A8.
791         * ld.texinfo (--[no-]fix-cortex-a8): Briefly document new options.
793 2009-05-22  Nathan Sidwell  <nathan@codesourcery.com>
795         * ldlang.c (lang_check_section_addresses): Ignore non-loadable
796         sections when checking for overlap.  Clarify error message
797         concerns load address.
799 2009-05-22  Alan Modra  <amodra@bigpond.net.au>
801         * Makefile.am: Run "make dep-am".
802         * Makefile.in: Regenerate.
804 2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>
806         * NEWS:  Mention new feature.
807         * deffile.h (def_file_aligncomm):  Add new struct definition.
808         (def_file):  Add new def_file_aligncomm member.
809         * deffilep.y (%token):  Add new ALIGNCOMM token.
810         (command):  Add production rule for ALIGNCOMM.
811         (def_file_free):  Free any chained def_file_aligncomm structs.
812         (diropts[]):  Add entry for '-aligncomm' .drectve command.
813         (def_aligncomm):  New grammar function.
814         * ld.texinfo:  Document new feature.
815         * pe-dll.c (process_def_file):  Rename from this ...
816         (process_def_file_and_drectve):  ... to this, updating all callers,
817         and process any aligncomms chained to the def file after scanning
818         all .drectve sections.
819         (generate_edata):  Updated to match.
820         (pe_dll_build_sections):  Likewise.
822 2009-05-17  Aaron W. LaFramboise  <aaron98wiridge9@aaronwl.com>
824         * pe-dll.c (process_def_file): Do not create empty export table.
826 2009-05-15  Alan Modra  <amodra@bigpond.net.au>
828         * ldlang.c (lang_output_section_statement_lookup): Add function
829         comment.  Make "name" non-const.  Ensure duplicate entries use
830         the same string, allowing simple comparison in hash bucket loop.
831         Tweak constraint check.
832         (next_matching_output_section_statement): New function.
833         * ldlang.h (lang_output_section_statement_lookup): Update.
834         (next_matching_output_section_statement): Declare.
835         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
836         combine orphan sections when input sections flags differ in
837         alloc or load.
838         * emultempl/pe.em: Formatting throughout.
839         (gld${EMULATION_NAME}_place_orphan): As for elf32.em.
840         * emultempl/pep.em: Formatting throughout.
841         (gld${EMULATION_NAME}_place_orphan): As for elf32.em.
843 2009-05-14  Ulrich Weigand  <uweigand@de.ibm.com>
845         * emultempl/spuelf.em (PARSE_AND_LIST_ARGS_CASES): Always use
846         compact stubs with software i-cache.
848 2009-05-14  Alan Modra  <amodra@bigpond.net.au>
850         * emultempl/spuelf.em (spu_before_allocation): Call
851         spu_elf_place_overlay_data.
853 2009-05-14  Alan Modra  <amodra@bigpond.net.au>
855         * ldlang.c (lang_insert_orphan): Add __start_<section> symbol
856         assignment inside output section statement.  Ensure only one
857         set of symbols per output section.
858         * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add non-
859         dollar sections before dollar sections.  Correct add_child
860         list insertion.
861         * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
863 2009-05-05  Paul Brook  <paul@codesourcery.com>
865         * emultempl/armelf.em (compare_output_sec_vma): New function.
866         (gld${EMULATION_NAME}_finish): Add exidx munging code.
868 2009-05-05  Anatoly Sokolov  <aesok@post.ru>
870         * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN.
871         * emulparams/avr1.sh (DATA_ORIGIN): Add.
872         * emulparams/avr2.sh (DATA_ORIGIN): Add.
873         * emulparams/avr25.sh (DATA_ORIGIN): Add.
874         * emulparams/avr3.sh (DATA_ORIGIN): Add.
875         * emulparams/avr31.sh (DATA_ORIGIN): Add.
876         * emulparams/avr35.sh (DATA_ORIGIN): Add.
877         * emulparams/avr4.sh (DATA_ORIGIN): Add.
878         * emulparams/avr5.sh (DATA_ORIGIN): Add.
879         * emulparams/avr51.sh (DATA_ORIGIN): Add.
880         (DATA_LENGTH): Update.
881         * emulparams/avr6.sh (DATA_ORIGIN): Add.
882         (DATA_LENGTH): Update.
884 2009-05-04  Dave Korn  <dave.korn.cygwin@gmail.com>
886         * NEWS:  Mention new feature.
887         * ld.texinfo (--version-script):  Document extent of PE support.
888         (WIN32):  Mention --version-script.  Extend auto-export description.
889         * pe-dll.c (process_def_file):  Use version script info to filter
890         symbols from auto-export.
891         * testsuite/ld-pe/vers-script-1.d:  New file.
892         * testsuite/ld-pe/vers-script-2.d:  New file.
893         * testsuite/ld-pe/vers-script-3.d:  New file.
894         * testsuite/ld-pe/vers-script-4.d:  New file.
895         * testsuite/ld-pe/vers-script-1.ver:  New file.
896         * testsuite/ld-pe/vers-script-2.ver:  New file.
897         * testsuite/ld-pe/vers-script-3.ver:  New file.
898         * testsuite/ld-pe/vers-script-4.ver:  New file.
899         * testsuite/ld-pe/vers-script-dll.c:  New file.
900         * testsuite/ld-pe/vers-script.exp:  New test script.
902 2009-05-01  Nathan Sidwell  <nathan@codesourcery.com>
904         * emulparams/vxworks.sh (TEXT_START_ADDR): Override.
906 2009-04-30  Nick Clifton  <nickc@redhat.com>
908         * NEWS: Mention support for IFUNC symbols.
910 2009-04-29  Anthony Green  <green@moxielogic.com>
912         * emulparams/elf32moxie.sh (STACK_ADDR): Move default stack
913         position out to accommodate larger programs.
915 2009-04-29  Chris Demetriou  <cgd@google.com>
917         * lexsup.c (option_values): Add OPTION_NO_EXPORT_DYNAMIC.
918         (ld_options): Likewise.
919         (parse_args): Likewise.
920         * ld.texinfo: Document --no-export-dynamic.
921         * NEWS: Mention --no-export-dynamic.
923 2009-04-29  Alan Modra  <amodra@bigpond.net.au>
925         * deffilep.y (STACKSIZE_K): Rename from STACKSIZE.
927 2009-04-25  Alan Modra  <amodra@bigpond.net.au>
929         PR 10061
930         * genscripts.sh: Don't pass $EMULATION_NAME as $CUSTOMIZER_SCRIPT
931         param.
933 2009-04-21  Daniel Jacobowitz  <dan@codesourcery.com>
935         * emultempl/armelf.em (bfd_for_interwork, arm_elf_after_open)
936         (arm_elf_set_bfd_for_interworking): Delete.
937         (arm_elf_before_allocation): Do not set the interworking BFD.
938         Move allocation inside not-dynamic block.
939         (arm_elf_create_output_section_statements): Create glue sections
940         and set the interworking BFD here.
941         (LDEMUL_AFTER_OPEN): Delete.
943 2009-04-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
945         * ldlang.c (lang_one_common): Use bfd_define_common_symbol.
947 2009-04-15  Anthony Green  <green@moxielogic.com>
949         * configure.tgt: Add moxie support.
950         * Makefile.am: Add moxie files.
951         * Makefile.in: Rebuilt.
952         * emulparams/elf32moxie.sh: New file.
953         * scripttempl/moxie.sc: New file.
955 2009-04-15  Kazu Hirata  <kazu@codesourcery.com>
957         * ldlang.c: Do not include limits.h.
959 2009-04-14  Alan Modra  <amodra@bigpond.net.au>
961         PR ld/10047
962         * ldfile.c (find_scripts_dir): Use make_relative_prefix to find
963         ldscripts in build tree.  Don't repeat search for ../lib/ldscripts.
965 2009-04-13  H.J. Lu  <hongjiu.lu@intel.com>
967         * ldfile.c (ldfile_find_command_file): Revert the last change.
969 2009-04-11  H.J. Lu  <hongjiu.lu@intel.com>
971         PR ld/10047
972         * ldfile.c (ldfile_find_command_file): First try raw name.
974 2009-04-09  Nick Clifton  <nickc@redhat.com>
976         PR 9824
977         * ld.texinfo (Output Section Constraint): New node.  Documents the
978         ONLY_IF_RO and ONLY_IF_RW constraints.
979         (Symbolic Constants): New node.  Documents the CONSTANT operator.
981 2009-04-09  Thilo Fischer <thilo.fischer@uni-muenster.de>
983         * emultempl/spuelf.em (embedded_spu_file): Use pex_one in place
984         of fork/execvp.
986 2009-04-08  H.J. Lu  <hongjiu.lu@intel.com>
988         * lexsup.c (option_values): Add OPTION_WARN_ALTERNATE_EM.
989         (ld_options): Likewise.
990         (parse_args): Likewise.
992         * ld.texinfo: Document --warn-alternate-em.
994         * NEWS: Mention --warn-alternate-em.
996 2009-04-07  DJ Delorie  <dj@redhat.com>
998         * emulparams/elf32mep.sh: Change default endian to little.
1000 2009-04-07  Nick Clifton  <nickc@redhat.com>
1002         * ld.texinfo (Output Section Address): Note that specifying an
1003         address for an output section will only change the location
1004         counter if the output section is used.
1006 2009-04-06  Kazu Hirata  <kazu@codesourcery.com>
1008         * ldfile.c (ldfile_find_command_file): Initialize result.
1010 2009-04-06  Kazu Hirata  <kazu@codesourcery.com>
1012         * ld.texinfo (-L): Mention that -L options do not affect how ld
1013         searches for a linker script unless -T option is specified.
1014         * ldfile.c (ldfile_find_command_file): Append the path obtained
1015         from the program name to the search path instead of
1016         prepending. Add a new parameter "default_only". Restrict the
1017         search to the default script location if the new parameter is
1018         true.
1019         (ldfile_open_command_file_1): New.
1020         (ldfile_open_command_file): Call ldfile_open_command_file_1.
1021         (ldfile_open_default_command_file): New.
1023 2009-04-03  Nathan Sidwell  <nathan@codesourcery.com>
1025         * ldlang.c (lang_leave_output_section_statement): Set lma_region
1026         if it is not overridden and section is for the same vma region as
1027         the previous section.
1029 2009-04-02  Dave Korn  <dave.korn.cygwin@gmail.com>
1031         PR ld/6744
1032         * ld.texinfo (--export-dynamic):  Mention --export-all-symbols.
1033         * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse):  Issue
1034         warning if --export-dynamic was passed on command-line.
1035         * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse):  Likewise.
1037 2009-04-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
1039         * emultempl/aix.em (gld${EMULATION_NAME}_open_dynamic_archive): New
1040         function.
1041         (ld_${EMULATION_NAME}_emulation): Use it.
1043 2009-03-20  H.J. Lu  <hongjiu.lu@intel.com>
1045         PR ld/9970
1046         * ldlang.c (lang_end): Warn missing entry symbol for -pie.
1048 2009-03-19  Alan Modra  <amodra@bigpond.net.au>
1050         * emultempl/spuelf.em (spu_before_allocation): Report errors from
1051         spu_elf_find_overlays.
1053 2009-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1055         PR ld/6766
1056         * lexsup.c (parse_args): Call ldlang_add_undef for -e.
1058 2009-03-18  Alan Modra  <amodra@bigpond.net.au>
1060         * ld.h: Remove alloca handling.
1062 2009-03-17  Alan Modra  <amodra@bigpond.net.au>
1064         * emultempl/spu_icache.S: Add new entry to dummy handler.
1065         * emultempl/spu_icache.o_c: Regenerate.
1066         * emultempl/spuelf.em (params): Init new field.
1067         (no_overlays): New static var.
1068         (spu_before_allocation): Use it.
1069         (OPTION_SPU_COMPACT_STUBS): Define.
1070         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add compact-stubs.
1071         (PARSE_AND_LIST_ARGS_CASES): Handle compact-stubs.  Adjust no-overlays
1072         handling.
1074 2009-03-17  Alan Modra  <amodra@bigpond.net.au>
1076         * configure.host (HOSTING_LIBS): Two dollars on shell variable
1077         expansion to suit make.
1079 2009-03-17  Alan Modra  <amodra@bigpond.net.au>
1081         * configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
1082         * Makefile.am (check-DEJAGNU): Set DO_COMPARE.
1083         * aclocal.m4: Regenerate.
1084         * configure: Regenerate.
1085         * Makefile.in: Regenerate.
1087 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
1089         * emultempl/aix.em (auto_export_flags): New variable.
1090         (explicit_auto_export_flags): Likewise.
1091         (OPTION_EXPALL, OPTION_EXPFULL): New enum values.
1092         (OPTION_NOEXPALL, OPTION_NOEXPFULL): Likewise.
1093         (gld${EMULATION_NAME}_add_options): Add -bexpall, -bexpfull,
1094         -bnoexpall and -bnoexpfull.
1095         (gld${EMULATION_NAME}_handle_option): Handle them.
1096         (gld${EMULATION_NAME}_before_allocation): Update the call to
1097         bfd_size_dynamic_sections.
1099 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
1101         * emultempl/aix.em (gld${EMULATION_NAME}_handle_option): Make
1102         -berok and -bernotok control link_info.unresolved_syms_in_objects
1103         and link_info.unresolved_syms_in_shared_libs instead of
1104         force_make_executable.
1106 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
1108         * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
1109         config.dynamic_link to TRUE.
1111 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
1113         * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Mark
1114         .text, .data and .bss output sections as SEC_KEEP.
1116 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
1118         * configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
1120 2009-03-14  Dave Korn  <dave.korn.cygwin@gmail.com>
1121             Danny Smith  <dannysmith@users.sourceforge.net>
1123         * emultmpl/pe.em (pe_dll_characteristics): New variable.
1124         (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
1125         OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
1126         OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
1127         New macros for options to set DllCharacteristics flag bits.
1128         (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
1129         nxcompat, no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
1130         (init): Add DllCharacteristics field.
1131         (gld_${EMULATION_NAME}_list_options): List new options.
1132         (gld${EMULATION_NAME}_handle_option): Handle new options.
1133         * emultmpl/pep.em (pe_dll_characteristics): New variable.
1134         (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
1135         OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
1136         OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
1137         New macros for options to set DllCharacteristics flags.
1138         (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
1139         nxcompat,no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
1140         (init): Add DllCharacteristics field.
1141         (gld_${EMULATION_NAME}_list_options): List new options.
1142         (gld${EMULATION_NAME}_handle_option): Handle new options.
1143         * ldtexinfo : Document dynamicbase, forceinteg, nxcompat,
1144         no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
1146 2009-03-06  Nick Clifton  <nickc@redhat.com>
1148         * po/es.po: Updated Spanish translation.
1150 2009-03-03  Dave Korn  <dave.korn.cygwin@gmail.com>
1152         * emultempl/pe.em (debug_section_p):  New bfd_map_over_sections hook.
1153         (gld_${EMULATION_NAME}_after_open):  Use it to iterate all sections
1154         of all input BFDs, looking for debug info.  Enable long section names
1155         if any found.
1156         * emultempl/pe.em (debug_section_p):  Likewise.
1157         (gld_${EMULATION_NAME}_after_open):  Likewise.
1158         * NEWS:  Retrospectively adjust news announcement.
1159         * ld.texinfo:  Update documentation to mention new behaviour.
1161 2009-03-03  Alan Modra  <amodra@bigpond.net.au>
1163         * Makefile.am: Run "make dep-am".
1164         * Makefile.in: Regenerate.
1166 2009-03-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1168         * ldgram.y: Add support for REGION_ALIAS operator.
1169         * ldlang.c: Likewise.
1170         * ldlang.h: Likewise.
1171         * ldlex.l: Likewise.
1172         * NEWS: Mention the new feature.
1173         * ld.texinfo: Document the new feature.
1175 2009-03-02  Qinwei  <qinwei@sunnorth.com.cn>
1177         * Makefile.am: Replace score elf emulation with score3 and score7
1178         emulations.
1179         * Makefile.in: Regenerate,
1180         * NEWS: Mention support for Score7 architecture.
1181         * configure.tgt: Add score7 emulation to score-elf target.
1182         * emulparams/scoreelf.sh: Add score7 support.
1183         * emultempl/scoreelf.em: Likewise.
1185 2009-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1187         * configure.tgt: Only use elf64hppa target emulation for hpux.
1188         * emulparams/elf64hppa.sh: Don't include hppa64linux.sh.
1189         (SCRIPT_NAME): Use new script elf64hppa.
1190         (SCRIPT_NAME, ELFSIZE, NO_REL_RELOCS, ARCH, MACHINE, ENTRY,
1191         TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT, OTHER_READONLY_SECTIONS,
1192         OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS, OTHER_GOT_RELOC_SECTIONS,
1193         DATA_START_SYMBOLS, OTHER_SYMBOLS, DATA_PLT, PLT_BEFORE_GOT,
1194         TEXT_DYNAMIC): Define.
1195         * emulparams/hppa64linux.sh: Adjust comments.
1196         * scripttempl/elf64hppa.sc: New file.
1198 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1200         * configure: Regenerate.
1202 2009-02-27  Dave Korn  <dave.korn.cygwin@gmail.com>
1204         * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):  Set
1205         default state of auto-import flag based on $target.
1207 2009-02-24  Joseph Myers  <joseph@codesourcery.com>
1209         * ld.texinfo (ARM): Document changed meaning of --stub-group-size.
1210         * emultempl/armelf.em (hook_in_stub): Insert after the input section.
1211         (elf32_arm_add_stub_section): Update comment.
1212         (PARSE_AND_LIST_OPTIONS): Update help for --stub-group-size.
1214 2009-02-24  Sandra Loosemore  <sandra@codesourcery.com>
1216         * ld.texinfo (Options): Correct typos in example.  Recommend
1217         using joined forms of syntax for passing options with arguments
1218         from a driver.
1219         (-a): Use consistent syntax for documenting option arguments.
1220         Clean up indexing and markup.
1221         (-A/--architecture): Likewise.
1222         (-f/--auxiliary): Likewise.
1223         (-F/--filter): Likewise.
1224         (-fini): Likewise.
1225         (-G/--gpsize): Likewise.
1226         (-h/-soname):Likewise.
1227         (-init): Likewise.
1228         (-l/--library): Likewise.
1229         (-L/--library-path): Likewise.
1230         (-m): Likewise.
1231         (--defsym): Likewise.
1232         (-I/--dynamic-linker): Likewise.
1233         (-Map): Likewise.
1234         (--oformat): Likewise.
1235         (--retain-symbols-file): Likewise.
1236         (-rpath): Likewise.
1237         (-rpath-link): Likewise.
1238         (--sort-common): Likewise.
1239         (--sort-section): Likewise.
1240         (--split-by-file): Likewise.
1241         (--split-by-reloc): Likewise.
1242         (--sysroot): Likewise.
1243         (--section-start): Likewise.
1244         (-Tbss, -Tdata, -Ttext): Likewise.
1245         (-Ttext-segment): Likewise.
1246         (--version-script): Likewise.
1247         (--wrap): Likewise.
1249 2009-02-18  Dave Korn  <dave.korn.cygwin@gmail.com>
1251         * ld.texinfo:  Update to mention long section name options.
1252         * NEWS:  Mention new behaviour and command-line options.
1253         * pe-dll.c (pe_use_coff_long_section_names):  New global variable.
1254         (pe_output_file_set_long_section_names):  New function.
1255         (pe_dll_build_sections):  Call it on output BFDs.
1256         (pe_exe_build_sections):  Likewise.
1257         (pe_dll_fill_sections):  Likewise.
1258         (pe_exe_fill_sections):  Likewise.
1259         * pe-dll.h (pe_use_coff_long_section_names):  Declare extern.
1260         (pe_output_file_set_long_section_names):  Add prototype.
1261         * pep-dll.c (pe_use_coff_long_section_names):  Define pep_ alias.
1262         (pe_output_file_set_long_section_names):  Likewise.
1263         * pep-dll.h (pep_use_coff_long_section_names):  Declare extern.
1264         (pep_output_file_set_long_section_names):  Add prototype.
1265         * pe.em (OPTION_ENABLE_LONG_SECTION_NAMES):  New getopt value macro.
1266         (OPTION_DISABLE_LONG_SECTION_NAMES):  Likewise.
1267         (gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
1268         (gld_${EMULATION_NAME}_list_options):  Describe them.
1269         (gld${EMULATION_NAME}_handle_option):  Set or clear global
1270         pe_use_coff_long_section_names flag when options recognised.
1271         (gld_${EMULATION_NAME}_after_open):  En/disable long section names
1272         for main output bfd by calling pe_output_file_set_long_section_names.
1273         * pep.em (enum options):  Extend enum with new getopt option values.
1274         (gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
1275         (gld_${EMULATION_NAME}_list_options):  Describe them.
1276         (gld${EMULATION_NAME}_handle_option):  Set or clear global
1277         pe_use_coff_long_section_names flag when options recognised.
1278         (gld_${EMULATION_NAME}_after_open):  En/disable long section names
1279         for main output bfd by calling pep_output_file_set_long_section_names.
1281 2009-02-16  Dave Korn  <dave.korn.cygwin@gmail.com>
1283         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):  Don't emit
1284         inadvertent .reloc sections caused by refactoring accident.
1286 2009-02-16  Alan Modra  <amodra@bigpond.net.au>
1288         * ldlang.c (process_insert_statements): ASSERT that output section
1289         statements are in order.
1291 2009-02-16  Alan Modra  <amodra@bigpond.net.au>
1293         * ldlang.c (push_stat_ptr, pop_stat_ptr): New functions.
1294         (stat_save, stat_save_ptr): New variables.
1295         (lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr.
1296         (load_symbols): Likewise.  Delete dead "bad_load" code.
1297         (open_input_bfds): Warn on script containing output sections.
1298         (lang_enter_output_section_statement): Use push_stat_ptr.
1299         (lang_enter_group): Likewise.
1300         (lang_leave_output_section_statement): Use pop_stat_ptr.
1301         (lang_leave_group): Likewise.
1302         * ldlang.h (push_stat_ptr, pop_stat_ptr): Declare.
1303         * ldctor.c (ldctor_build_sets): Use push_stat_ptr and pop_stat_ptr.
1304         * emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
1305         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
1306         * emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
1307         * emultempl/spuelf.em (spu_place_special_section): Likewise.
1308         * emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets): Likewise.
1310 2009-02-09  Nathan Sidwell  <nathan@codesourcery.com>
1312         Missing piece of 2009-01-26 commit
1313         * ldlang.c (lang_process): Don't consider relocatable flag when
1314         checking for overlap.
1316 2009-02-05  Joseph Myers  <joseph@codesourcery.com>
1318         * emulparams/m68kelf.sh: Add newline at end of file.
1320 2009-02-04  Nick Clifton  <nickc@redhat.com>
1322         PR 9805
1323         * ld.texinfo (--allow-shlib-undefined): Correct description of
1324         default settings and tidy up the rest of the entry.
1326 2009-02-04  Alan Modra  <amodra@bigpond.net.au>
1328         * emultempl/spuelf.em (spu_after_open): Don't combine .text.ia.*
1329         during relocatable link.
1331 2009-02-03  Nick Clifton  <nickc@redhat.com>
1333         PR 9797
1334         * ld.texinfo (Constants): Document the base-encoding suffixes
1335         supported in linker scripts.
1337 2009-02-03  Alan Modra  <amodra@bigpond.net.au>
1339         * NEWS: Mention --as-needed change.
1341 2009-02-03  Carlos O'Donell  <carlos@codesourcery.com>
1343         * configure.in: AC_SUBST pdfdir.
1344         * Makefile.am: Add install-pdf, install-pdf-am,
1345         and install-pdf-recursive targets. Define pdf__strip_dir.
1346         * po/Make-in: Add install-pdf target.
1347         * configure: Regenerate.
1348         * Makefile.in: Regenerate.
1350 2009-01-31  Alan Modra  <amodra@bigpond.net.au>
1352         * ld.texinfo (--as-needed): Update.
1354 2009-01-29  Andrew Jenner  <andrew@codesourcery.com>
1356         * emultempl/armelf.em: Correct formatting of help text for
1357         --no-enum-size-warning option.
1359 2009-01-26  Nathan Sidwell  <nathan@codesourcery.com>
1361         * lexsup.c (parse_args): Set check_section_addresses to 1 or 0.
1362         * ld.h (args_type): Make check_section_addresses a char.
1363         * ldmain.c (main): Default check_section_addresses to -1. Check it
1364         for relocatable links.
1365         * ld.texinfo (--check-sections): Update documentation.
1367 2009-01-26  Kai Tietz  <kai.tietz@onevision.com>
1369         * pe-dll.c (tmp_seq2): New static variable.
1370         (make_singleton_name_imp): New.
1371         (make_import_fixup_entry): Use for v2 the _imp_<name> symbol and
1372         avoid duplicate import table generation for same symbol.
1373         (pe_create_runtime_relocator_reference): Make reference for
1374         64-bit 8 bytes.
1376 2009-01-21  Alan Modra  <amodra@bigpond.net.au>
1378         * emultempl/spuelf.em (params): Init new field.
1379         (OPTION_SPU_NON_IA_TEXT): Define.
1380         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --non-ia-text.
1381         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_SPU_NON_IA_TEXT.
1383 2009-01-16  H.J. Lu  <hongjiu.lu@intel.com>
1385         * lexsup.c (option_values): Add OPTION_TTEXT_SEGMENT.
1386         (ld_options): Add -Ttext-segment.
1387         (parse_args): Handle OPTION_TTEXT_SEGMENT.
1389         * ld.texinfo: Document -Ttext-segment.
1391         * NEWS: Mention -Ttext-segment.
1393         * scripttempl/elf.sc (TEXT_START_ADDR): Use SEGMENT_START.
1394         (SHLIB_TEXT_START_ADDR): Likewise.
1396 2009-01-13  Alan Modra  <amodra@bigpond.net.au>
1398         * emultempl/spu_icache.o_c: Regenerate.
1400 2009-01-12  Alan Modra  <amodra@bigpond.net.au>
1402         * emultempl/spuelf.em (params): Init new fields.
1403         (num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars.
1404         (spu_place_special_section): Adjust placement for soft-icache.  Pad
1405         soft-icache section to a fixed size.  Clear addr_tree.
1406         (spu_elf_load_ovl_mgr): Support soft-icache.  Map overlay manager
1407         sections a little more intelligently.
1408         (gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs.
1409         (OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS.
1410         (OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define.
1411         (OPTION_SPU_LRLIVE): Define.
1412         (PARSE_AND_LIST_LONGOPTS): Add new soft-icache options.
1413         (PARSE_AND_LIST_OPTIONS): Likewise.
1414         (PARSE_AND_LIST_ARGS_CASES): Handle them.
1415         * emultempl/spu_icache.S: Dummy file.
1416         * emultempl/spu_icache.o_c: Regenerate.
1417         * Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c.
1418         (spu_icache.o_c): Add rule to build.
1419         (CLEANFILES): Zap temp files.
1420         (EXTRA_DIST): Add spu_icache.o_c.
1421         * Makefile.in: Regenerate.
1423 2009-01-08  Kai Tietz  <kai.tietz@onevision.com>
1425         * pe.em (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
1426         (gld..._add_options): Add new option
1427         --use-nul-prefixed-import-tables.
1428         (gld..._handle_option): Likewise.
1429         * pep.em: Same as for pe.em.
1430         * ld.texinfo: Add new option documentation for
1431         --use-nul-prefixed-import-tables.
1432         * pe-dll.c (pe_use_nul_prefixed_import_tables): New.
1433         (make_head): Make prefix leading zero prefix element for
1434         idata$4 and idata$5 dependent to new flag.
1435         (make_import_fixup_entry): Remove idata4/5 prefix.
1436         * pe-dll.h (pe_use_nul_prefixed_import_tables): New.
1437         * pep-dll.c (pe_use_nul_prefixed_import_tables): New.
1438         * pep-dll.h (pep_use_nul_prefixed_import_tables): New.
1439         * NEWS: Add new option.
1441 2009-01-05  Kai Tietz  <kai.tietz@onevision.com>
1443         * emultempl/pe.em: Prefix dollar characters to be outputed in
1444         generated C file.
1445         * emultempl/pep.em: Likewise.
1447 2009-01-03  Dave Korn  <dave.korn.cygwin@gmail.com>
1449         * NEWS:  Mention new feature --exclude-modules-for-implib.
1450         * ld.texinfo:  Document new --exclude-modules-for-implib option.
1451         * pe-dll.c (exclude_list_struct):  Change type member from int to
1452         new enumeration exclude_type.
1453         (pe_dll_add_excludes):  Accept exclude_type instead of int param.
1454         (auto_export):  Replace magic constants by exclude_type values and
1455         handle new choice EXCLUDEFORIMPLIB.
1456         (pe_dll_generate_implib):  Accept a pointer to the link_info and
1457         iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open
1458         fresh BFDs for any found and link into import lib archive chain.
1459         * pe-dll.h (exclude_type):  Add new enumerated type to replace magic
1460         constants previously used for exclude_list_struct type member.
1461         (pe_dll_add_excludes, pe_dll_generate_implib):  Update prototypes.
1462         * pep-dll.h (exclude_type, pe_dll_add_excludes,
1463         pe_dll_generate_implib):  Likewise to all the above.
1464         * emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB):  Define new
1465         getopts long option code for new --exclude-modules-for-implib option.
1466         (gld${EMULATION_NAME}_add_options):  Add new entry to xtra_long[].
1467         (gld_${EMULATION_NAME}_list_options):  List usage for it.
1468         (gld${EMULATION_NAME}_handle_option):  Use exclude_type enumerated
1469         values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB.
1470         (gld_${EMULATION_NAME}_finish):  Pass pointer to link_info when
1471         calling pe_dll_generate_implib.
1472         * emultempl/pep.em (options):  Define new enumerated value for getopts
1473         long option code for new --exclude-modules-for-implib option.
1474         (gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options,
1475         gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish):
1476         Again, likewise to all the above.
1478 2009-01-03  Dave Korn  <dave.korn.cygwin@gmail.com>
1480         * pe-dll.c (autofilter_liblist):  Add entry for shared libgcc.
1481         (libnamencmp):  New function.
1482         (auto_export):  Use it in place of strncmp when filtering libraries.
1484 For older changes see ChangeLog-2008
1486 Local Variables:
1487 mode: change-log
1488 left-margin: 8
1489 fill-column: 74
1490 version-control: never
1491 End: