dependency tracking in ld
[binutils.git] / ld / ChangeLog
blobac628d89485d5636634104f1d264537a62a21c3f
1 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3         * Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus.  Add
4         no-texinfo.tex, no-dist, foreign.
5         (TEXINFO_TEX): New variable.
6         (install-data-local): Removed, not needed any more.
7         (all): Dependencies upon info and ld.1 not needed any more.
8         (MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Removed.
9         (mkdep generated section): Removed.
10         (ldgram.o, ldlex.o, deffilep.o, ldmain.o, ldfile.o): Rewrite to
11         use automake dependency tracking mechanism.
12         (EXTRA_ld_new_SOURCES): Add pep-dll.c, pe-dll.c, and
13         $(ALL_EMULATIONS:.o=.c) $(ALL_64_EMULATIONS:.o=.c) so their
14         dependencies are tracked too.
15         (BUILT_SOURCES): New, list $(GENERATED_HFILES) to ensure they
16         are built early.
17         * configure.in: Use AM_MAINTAINER_MODE.
18         * aclocal.m4, configure, Makefile.in: Regenerate.
20         * Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
21         (install-pdf-recursive, html__strip_dir, install-html)
22         (install-html-am, install-html-recursive): Remove.
23         * Makefile.in: Regenerate.
25         * Makefile.in: Regenerate.
26         * aclocal.m4: Likewise.
27         * config.in: Likewise.
28         * configure: Likewise.
30 2009-08-21  Richard Guenther  <rguenther@suse.de>
32         * scripttempl/elf.sc: Discard sections with .gnu.lto_ prefix.
34 2009-08-12  Tristan Gingold  <gingold@adacore.com>
36         * ld.h (fat_user_section_struct): Add map_symbol_def_count field.
37         * ldlang.c (hash_entry_addr_cmp): New function.
38         (print_all_symbols): Sort the symbols by address before printing them.
40 2009-08-10  Alan Modra  <amodra@bigpond.net.au>
42         PR 10474
43         * ldemul.c (after_allocation_default): Run lang_relax_sections.
44         * ldlang.h (lang_relax_sections): Declare.
45         * ldlang.c (relax_sections): Delete.
46         (lang_relax_sections): New function.
47         (lang_process): Don't relax directly from here.
48         * emultempl/alphaelf.em (alpha_finish): Call finish_default.
49         * emultempl/armelf.em (arm_elf_after_allocation): Delete.  Move body..
50         (gld${EMULATION_NAME}_finish): ..to here.  Move existing code..
51         (gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
52         (LDEMUL_AFTER_ALLOCATION): Update.
53         * emultempl/avrelf.em (avr_elf_finish, LDEMUL_FINISH): Delete.
54         (avr_elf_after_allocation): New function.
55         (LDEMUL_AFTER_ALLOCATION): Define.
56         * emultempl/elf-generic.em (gld${EMULATION_NAME}_map_segments): Call
57         lang_relax_sections.
58         * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Delete.  Move..
59         (gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
60         (LDEMUL_AFTER_ALLOCATION, LDEMUL_FINISH): Update.
61         * emultempl/genelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
62         (gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
63         (LDEMUL_FINISH): Delete.
64         (LDEMUL_AFTER_ALLOCATION): Define.
65         * emultempl/hppaelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
66         (gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
67         (LDEMUL_FINISH): Delete.
68         (LDEMUL_AFTER_ALLOCATION): Define.
69         * emultempl/m68hc1xelf.em (m68hc11elf_finish): Delete.  Move..
70         (m68hc11elf_after_allocation): ..to here.  New function.
71         (LDEMUL_FINISH): Delete.
72         (LDEMUL_AFTER_ALLOCATION): Define.
73         * emultempl/m68kelf.em (m68k_elf_after_allocation): Call
74         gld${EMULATION_NAME}_after_allocation.
75         * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Call
76         gld${EMULATION_NAME}_after_allocation.
77         * emultempl/mmo.em (mmo_finish): Delete.  Move body..
78         (gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
79         (LDEMUL_FINISH): Define.
80         * emultempl/ppc64elf.em (ppc_layout_sections_again): Set elf_gp.
81         (gld${EMULATION_NAME}_finish): Move code sizing sections..
82         (gld${EMULATION_NAME}_after_allocation): ..to here.
83         * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
84         Call gld${EMULATION_NAME}_after_allocation.
85         * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Delete
86         bfd_elf_discard_info and map_segments call.
88 2009-08-06  Michael Eager <eager@eagercon.com>
90         * Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to 
91         ALL_EMULATIONS, targets.
92         * Makefile.in: Regenerate.
93         * configure.tgt: Add microblaze*-linux*, microblaze* targets.
94         * emulparams/elf32mb_linux.sh: New.
95         * emulparams/elf32microblaze.sh. New.
96         * scripttempl/elfmicroblaze.sc: New. 
98 2009-08-05  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
100         * emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup
101         section and __fixup_start symbol.
102         * emultempl/spuelf.em (params): Initialize emit_fixups member.
103         (spu_before_allocation): Call spu_elf_size_sections.
104         (OPTION_SPU_EMIT_FIXUPS): Define.
105         (PARSE_AND_LIST_LONGOPTS): Add --emit-fixups.
106         (PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups.
107         * ld.texinfo (--emit-fixups): Document.
109 2009-08-04  Alan Modra  <amodra@bigpond.net.au>
111         PR 10474
112         * emultempl/ppc32elf.em (ppc_before_allocation): Test rawsize,
113         not size, after lang_reset_memory_regions.
115 2009-07-30  Alan Modra  <amodra@bigpond.net.au>
117         * emulparams/elf32ppc.sh (PLT): Don't include ".iplt".
118         * emulparams/elf_i386.sh (IREL_IN_PLT): Define.
119         * emulparams/elf_x86_64.sh (IREL_IN_PLT): Define.
120         * scripttempl/elf.sc: Create separate .iplt and .rela.iplt sections
121         when !IREL_IN_PLT.
123 2009-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
125         * scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to
126         the new $RELOCATEABLE_OUTPUT_FORMAT, if set.
127         (OUTPUT_FORMAT): Use the variable $OUTPUT_FORMAT.
128         (ENTRY): Don't emit for relocateable links.
129         (/DISCARD/): Don't discard .gnu.warning.* for relocateable links.
130         * emulparams/mmo.sh (RELOCATEABLE_OUTPUT_FORMAT): Set, to
131         elf64-mmix.
132         * emulparams/elf64mmix.sh (OTHER_TEXT_SECTIONS): Empty, don't
133         provide "Main" or set "_start.", for relocateable links.
135 2009-07-27  Nick Clifton  <nickc@redhat.com>
137         * (po/fi.po): Updated Finnish translation.
139 2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>
141         * configure.tgt (targ64_extra_emuls): Add elf_l1om if elf_x86_64
142         is supported.  Add elf_l1om_fbsd if elf_x86_64_fbsd is supported.
143         (targ_extra_emuls): Likewise.
145         * Makefile.am (ALL_64_EMULATIONS): Add eelf_l1om.o and
146         eelf_l1om_fbsd.o
147         (eelf_l1om.c): New.
148         (eelf_l1om_fbsd.c): Likewise.
149         * Makefile.in: Regenerated.
151         * emulparams/elf_l1om.sh: New.
152         * emulparams/elf_l1om_fbsd.sh: Likewise.
154 2009-07-23  Ulrich Drepper  <drepper@redhat.com>
156         * NEWS: Mention the linker's support for symbols with a binding of
157         STB_GNU_UNIQUE.
159 2009-07-22  H.J. Lu  <hongjiu.lu@intel.com>
161         PR ld/10429
162         * ldlang.c (insert_os_after): Tie assignments to non-alloc
163         output sections if there is no-input section.
165 2009-07-11  Alan Modra  <amodra@bigpond.net.au>
167         * ldlang.c (insert_os_after): Don't tie assignments to non-alloc
168         output sections.
170 2009-07-10  Alan Modra  <amodra@bigpond.net.au>
172         * emultempl/ppc32elf.em (ppc_before_allocation): Turn on
173         linker relaxation if it might be necessary.
175 2009-07-10  Alan Modra  <amodra@bigpond.net.au>
177         * emulparams/elf32ppc.sh (GOTPLT, PLT): Handle .iplt.
179 2009-07-06  Matthias Klose <doko@ubuntu.com>
181         * ld.texinfo: Fix typo.
183 2009-07-03  Tristan Gingold  <gingold@adacore.com>
185         * scripttempl/pep.sc: Put .eh_frame in its own section.
186         * scripttempl/pe.sc: Ditto.
187         
188 2009-06-26  Kai Tietz  <kai.tietz@onevision.com>
190         * scripttempl/pe.sc (.debug_pubtypes): Added section rule.
191         * scripttempl/pep.sc: Likewise.
193 2009-06-25  Tristan Gingold  <gingold@adacore.com>
195         * ldlang.c (print_input_section): Add is_discarded parameter.  Adjust
196         prototype.
197         (lang_map): Print the size of discarded sections.
198         (print_statement): Adjust call to print_input_section.
200 2009-06-18  Dave Korn  <dave.korn.cygwin@gmail.com>
202         Merge cegcc and mingw32ce target name changes from CeGCC project:
204         2008-09-24  Pedro Alves  <pedroalves@users.sourceforge.net>
206         * configure.tgt (arm*-*-cegcc*): Set LIB_PATH to
207         ${tooldir}/lib/w32api.
209         2007-12-25  Pedro Alves  <pedro_alves@portugalmail.pt>
211         * configure.tgt: Add arm*-*-cegcc* target.
213         2007-12-17  Pedro Alves  <pedro_alves@portugalmail.pt>
215         * configure.tgt: Add arm-*-mingw32ce* target.
217 2009-06-10  Philip Blundell  <philb@gnu.org>
219         * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Avoid crash
220         if section has no ELF data.
222 2009-06-06  H.J. Lu  <hongjiu.lu@intel.com>
224         * scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc.
226 2009-06-05  H.J. Lu  <hongjiu.lu@intel.com>
228         * scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn.
230 2009-06-04  Alan Modra  <amodra@bigpond.net.au>
232         * dep-in.sed: Don't use \n in replacement part of s command.
233         * Makefile.am (DEP1): LC_ALL for uniq.
234         * Makefile.in: Regenerate.
236 2009-06-01  H.J. Lu  <hongjiu.lu@intel.com>
238         * scripttempl/elf.sc (PLT): Add "*(.iplt)".
239         (GOT): Add "*(.igot.plt)a" and "*(.igot)".
240         (GOTPLT): Add "*(.igot)".
241         (__rel_iplt_start): New.
242         (__rel_iplt_end): Likewise.
243         (__rela_iplt_start): Likewise.
244         (__rela_iplt_end): Likewise.
246 2009-05-27  Dave Korn  <dave.korn.cygwin@gmail.com>
248         * deffilep.y (%union):  Add new string-type semantic value 'digits'.
249         (%token):  Remove NUMBER as token, add DIGITS.
250         (%type):  Add NUMBER as type.  Add new id types anylang_id, opt_id.
251         (ALIGNCOMM):  Parse an anylang_id instead of a plain ID.
252         (anylang_id):  New production.
253         (opt_digits):  Likewise.
254         (opt_id):  Likewise.
255         (NUMBER):  Likewise.
256         (def_lex):  Return strings of digits in raw string form as DIGITS
257         token, instead of converting to numeric integer type.
259 2009-05-26  Nathan Sidwell  <nathan@codesourcery.com>
261         * ldmain.c (main): Don't reject --relax -r.
262         * ld.texinfo (PowerPC ELF32): Document behaviour of relaxing
263         partial links.
265 2009-05-26  Nick Clifton  <nickc@redhat.com>
267         * po/id.po: Updated Indonesian translation.
268         * po/ld.pot: Updated template file.
270 2009-05-26  Alan Modra  <amodra@bigpond.net.au>
272         * dep-in.sed: Output one filename per line with all lines having
273         continuation backslash.  Prefix first line with "A", following
274         lines with "B".
275         * Makefile.am (DEP): Don't use dep.sed here.
276         (DEP1): Run $MKDEP on single files, use dep.sed here on dependencies,
277         sort and uniq.
278         * Makefile.in: Regenerate.
280 2009-05-26  Alan Modra  <amodra@bigpond.net.au>
282         * ldlang.c (lang_check_section_addresses): Ignore non-alloc sections.
284 2009-05-22  Julian Brown  <julian@codesourcery.com>
286         * emultempl/armelf.em (fix_cortex_a8): New.
287         (arm_elf_before_allocation): Call bfd_elf32_arm_set_cortex_a8_fix.
288         (arm_elf_create_output_section_statements): Add fix_cortex_a8 to
289         bfd_elf32_arm_set_target_relocs.
290         (OPTION_FIX_CORTEX_A8, OPTION_NO_FIX_CORTEX_A8): New.
291         (PARSE_AND_LIST_LONGOPTS): Add [no-]fix-cortex-a8 options.
292         (PARSE_AND_LIST_OPTIONS): Add [no-]fix-cortex-a8 options.
293         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_[NO_]FIX_CORTEX_A8.
294         * ld.texinfo (--[no-]fix-cortex-a8): Briefly document new options.
296 2009-05-22  Nathan Sidwell  <nathan@codesourcery.com>
298         * ldlang.c (lang_check_section_addresses): Ignore non-loadable
299         sections when checking for overlap.  Clarify error message
300         concerns load address.
302 2009-05-22  Alan Modra  <amodra@bigpond.net.au>
304         * Makefile.am: Run "make dep-am".
305         * Makefile.in: Regenerate.
307 2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>
309         * NEWS:  Mention new feature.
310         * deffile.h (def_file_aligncomm):  Add new struct definition.
311         (def_file):  Add new def_file_aligncomm member.
312         * deffilep.y (%token):  Add new ALIGNCOMM token.
313         (command):  Add production rule for ALIGNCOMM.
314         (def_file_free):  Free any chained def_file_aligncomm structs.
315         (diropts[]):  Add entry for '-aligncomm' .drectve command.
316         (def_aligncomm):  New grammar function.
317         * ld.texinfo:  Document new feature.
318         * pe-dll.c (process_def_file):  Rename from this ...
319         (process_def_file_and_drectve):  ... to this, updating all callers,
320         and process any aligncomms chained to the def file after scanning
321         all .drectve sections.
322         (generate_edata):  Updated to match.
323         (pe_dll_build_sections):  Likewise.
325 2009-05-17  Aaron W. LaFramboise  <aaron98wiridge9@aaronwl.com>
327         * pe-dll.c (process_def_file): Do not create empty export table.
329 2009-05-15  Alan Modra  <amodra@bigpond.net.au>
331         * ldlang.c (lang_output_section_statement_lookup): Add function
332         comment.  Make "name" non-const.  Ensure duplicate entries use
333         the same string, allowing simple comparison in hash bucket loop.
334         Tweak constraint check.
335         (next_matching_output_section_statement): New function.
336         * ldlang.h (lang_output_section_statement_lookup): Update.
337         (next_matching_output_section_statement): Declare.
338         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
339         combine orphan sections when input sections flags differ in
340         alloc or load.
341         * emultempl/pe.em: Formatting throughout.
342         (gld${EMULATION_NAME}_place_orphan): As for elf32.em.
343         * emultempl/pep.em: Formatting throughout.
344         (gld${EMULATION_NAME}_place_orphan): As for elf32.em.
346 2009-05-14  Ulrich Weigand  <uweigand@de.ibm.com>
348         * emultempl/spuelf.em (PARSE_AND_LIST_ARGS_CASES): Always use
349         compact stubs with software i-cache.
351 2009-05-14  Alan Modra  <amodra@bigpond.net.au>
353         * emultempl/spuelf.em (spu_before_allocation): Call
354         spu_elf_place_overlay_data.
356 2009-05-14  Alan Modra  <amodra@bigpond.net.au>
358         * ldlang.c (lang_insert_orphan): Add __start_<section> symbol
359         assignment inside output section statement.  Ensure only one
360         set of symbols per output section.
361         * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add non-
362         dollar sections before dollar sections.  Correct add_child
363         list insertion.
364         * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
366 2009-05-05  Paul Brook  <paul@codesourcery.com>
368         * emultempl/armelf.em (compare_output_sec_vma): New function.
369         (gld${EMULATION_NAME}_finish): Add exidx munging code.
371 2009-05-05  Anatoly Sokolov  <aesok@post.ru>
373         * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN.
374         * emulparams/avr1.sh (DATA_ORIGIN): Add.
375         * emulparams/avr2.sh (DATA_ORIGIN): Add.
376         * emulparams/avr25.sh (DATA_ORIGIN): Add.
377         * emulparams/avr3.sh (DATA_ORIGIN): Add.
378         * emulparams/avr31.sh (DATA_ORIGIN): Add.
379         * emulparams/avr35.sh (DATA_ORIGIN): Add.
380         * emulparams/avr4.sh (DATA_ORIGIN): Add.
381         * emulparams/avr5.sh (DATA_ORIGIN): Add.
382         * emulparams/avr51.sh (DATA_ORIGIN): Add.
383         (DATA_LENGTH): Update.
384         * emulparams/avr6.sh (DATA_ORIGIN): Add.
385         (DATA_LENGTH): Update.
387 2009-05-04  Dave Korn  <dave.korn.cygwin@gmail.com>
389         * NEWS:  Mention new feature.
390         * ld.texinfo (--version-script):  Document extent of PE support.
391         (WIN32):  Mention --version-script.  Extend auto-export description.
392         * pe-dll.c (process_def_file):  Use version script info to filter
393         symbols from auto-export.
394         * testsuite/ld-pe/vers-script-1.d:  New file.
395         * testsuite/ld-pe/vers-script-2.d:  New file.
396         * testsuite/ld-pe/vers-script-3.d:  New file.
397         * testsuite/ld-pe/vers-script-4.d:  New file.
398         * testsuite/ld-pe/vers-script-1.ver:  New file.
399         * testsuite/ld-pe/vers-script-2.ver:  New file.
400         * testsuite/ld-pe/vers-script-3.ver:  New file.
401         * testsuite/ld-pe/vers-script-4.ver:  New file.
402         * testsuite/ld-pe/vers-script-dll.c:  New file.
403         * testsuite/ld-pe/vers-script.exp:  New test script.
405 2009-05-01  Nathan Sidwell  <nathan@codesourcery.com>
407         * emulparams/vxworks.sh (TEXT_START_ADDR): Override.
409 2009-04-30  Nick Clifton  <nickc@redhat.com>
411         * NEWS: Mention support for IFUNC symbols.
413 2009-04-29  Anthony Green  <green@moxielogic.com>
415         * emulparams/elf32moxie.sh (STACK_ADDR): Move default stack
416         position out to accommodate larger programs.
418 2009-04-29  Chris Demetriou  <cgd@google.com>
420         * lexsup.c (option_values): Add OPTION_NO_EXPORT_DYNAMIC.
421         (ld_options): Likewise.
422         (parse_args): Likewise.
423         * ld.texinfo: Document --no-export-dynamic.
424         * NEWS: Mention --no-export-dynamic.
426 2009-04-29  Alan Modra  <amodra@bigpond.net.au>
428         * deffilep.y (STACKSIZE_K): Rename from STACKSIZE.
430 2009-04-25  Alan Modra  <amodra@bigpond.net.au>
432         PR 10061
433         * genscripts.sh: Don't pass $EMULATION_NAME as $CUSTOMIZER_SCRIPT
434         param.
436 2009-04-21  Daniel Jacobowitz  <dan@codesourcery.com>
438         * emultempl/armelf.em (bfd_for_interwork, arm_elf_after_open)
439         (arm_elf_set_bfd_for_interworking): Delete.
440         (arm_elf_before_allocation): Do not set the interworking BFD.
441         Move allocation inside not-dynamic block.
442         (arm_elf_create_output_section_statements): Create glue sections
443         and set the interworking BFD here.
444         (LDEMUL_AFTER_OPEN): Delete.
446 2009-04-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
448         * ldlang.c (lang_one_common): Use bfd_define_common_symbol.
450 2009-04-15  Anthony Green  <green@moxielogic.com>
452         * configure.tgt: Add moxie support.
453         * Makefile.am: Add moxie files.
454         * Makefile.in: Rebuilt.
455         * emulparams/elf32moxie.sh: New file.
456         * scripttempl/moxie.sc: New file.
458 2009-04-15  Kazu Hirata  <kazu@codesourcery.com>
460         * ldlang.c: Do not include limits.h.
462 2009-04-14  Alan Modra  <amodra@bigpond.net.au>
464         PR ld/10047
465         * ldfile.c (find_scripts_dir): Use make_relative_prefix to find
466         ldscripts in build tree.  Don't repeat search for ../lib/ldscripts.
468 2009-04-13  H.J. Lu  <hongjiu.lu@intel.com>
470         * ldfile.c (ldfile_find_command_file): Revert the last change.
472 2009-04-11  H.J. Lu  <hongjiu.lu@intel.com>
474         PR ld/10047
475         * ldfile.c (ldfile_find_command_file): First try raw name.
477 2009-04-09  Nick Clifton  <nickc@redhat.com>
479         PR 9824
480         * ld.texinfo (Output Section Constraint): New node.  Documents the
481         ONLY_IF_RO and ONLY_IF_RW constraints.
482         (Symbolic Constants): New node.  Documents the CONSTANT operator.
484 2009-04-09  Thilo Fischer <thilo.fischer@uni-muenster.de>
486         * emultempl/spuelf.em (embedded_spu_file): Use pex_one in place
487         of fork/execvp.
489 2009-04-08  H.J. Lu  <hongjiu.lu@intel.com>
491         * lexsup.c (option_values): Add OPTION_WARN_ALTERNATE_EM.
492         (ld_options): Likewise.
493         (parse_args): Likewise.
495         * ld.texinfo: Document --warn-alternate-em.
497         * NEWS: Mention --warn-alternate-em.
499 2009-04-07  DJ Delorie  <dj@redhat.com>
501         * emulparams/elf32mep.sh: Change default endian to little.
503 2009-04-07  Nick Clifton  <nickc@redhat.com>
505         * ld.texinfo (Output Section Address): Note that specifying an
506         address for an output section will only change the location
507         counter if the output section is used.
509 2009-04-06  Kazu Hirata  <kazu@codesourcery.com>
511         * ldfile.c (ldfile_find_command_file): Initialize result.
513 2009-04-06  Kazu Hirata  <kazu@codesourcery.com>
515         * ld.texinfo (-L): Mention that -L options do not affect how ld
516         searches for a linker script unless -T option is specified.
517         * ldfile.c (ldfile_find_command_file): Append the path obtained
518         from the program name to the search path instead of
519         prepending. Add a new parameter "default_only". Restrict the
520         search to the default script location if the new parameter is
521         true.
522         (ldfile_open_command_file_1): New.
523         (ldfile_open_command_file): Call ldfile_open_command_file_1.
524         (ldfile_open_default_command_file): New.
526 2009-04-03  Nathan Sidwell  <nathan@codesourcery.com>
528         * ldlang.c (lang_leave_output_section_statement): Set lma_region
529         if it is not overridden and section is for the same vma region as
530         the previous section.
532 2009-04-02  Dave Korn  <dave.korn.cygwin@gmail.com>
534         PR ld/6744
535         * ld.texinfo (--export-dynamic):  Mention --export-all-symbols.
536         * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse):  Issue
537         warning if --export-dynamic was passed on command-line.
538         * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse):  Likewise.
540 2009-04-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
542         * emultempl/aix.em (gld${EMULATION_NAME}_open_dynamic_archive): New
543         function.
544         (ld_${EMULATION_NAME}_emulation): Use it.
546 2009-03-20  H.J. Lu  <hongjiu.lu@intel.com>
548         PR ld/9970
549         * ldlang.c (lang_end): Warn missing entry symbol for -pie.
551 2009-03-19  Alan Modra  <amodra@bigpond.net.au>
553         * emultempl/spuelf.em (spu_before_allocation): Report errors from
554         spu_elf_find_overlays.
556 2009-03-18  H.J. Lu  <hongjiu.lu@intel.com>
558         PR ld/6766
559         * lexsup.c (parse_args): Call ldlang_add_undef for -e.
561 2009-03-18  Alan Modra  <amodra@bigpond.net.au>
563         * ld.h: Remove alloca handling.
565 2009-03-17  Alan Modra  <amodra@bigpond.net.au>
567         * emultempl/spu_icache.S: Add new entry to dummy handler.
568         * emultempl/spu_icache.o_c: Regenerate.
569         * emultempl/spuelf.em (params): Init new field.
570         (no_overlays): New static var.
571         (spu_before_allocation): Use it.
572         (OPTION_SPU_COMPACT_STUBS): Define.
573         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add compact-stubs.
574         (PARSE_AND_LIST_ARGS_CASES): Handle compact-stubs.  Adjust no-overlays
575         handling.
577 2009-03-17  Alan Modra  <amodra@bigpond.net.au>
579         * configure.host (HOSTING_LIBS): Two dollars on shell variable
580         expansion to suit make.
582 2009-03-17  Alan Modra  <amodra@bigpond.net.au>
584         * configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
585         * Makefile.am (check-DEJAGNU): Set DO_COMPARE.
586         * aclocal.m4: Regenerate.
587         * configure: Regenerate.
588         * Makefile.in: Regenerate.
590 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
592         * emultempl/aix.em (auto_export_flags): New variable.
593         (explicit_auto_export_flags): Likewise.
594         (OPTION_EXPALL, OPTION_EXPFULL): New enum values.
595         (OPTION_NOEXPALL, OPTION_NOEXPFULL): Likewise.
596         (gld${EMULATION_NAME}_add_options): Add -bexpall, -bexpfull,
597         -bnoexpall and -bnoexpfull.
598         (gld${EMULATION_NAME}_handle_option): Handle them.
599         (gld${EMULATION_NAME}_before_allocation): Update the call to
600         bfd_size_dynamic_sections.
602 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
604         * emultempl/aix.em (gld${EMULATION_NAME}_handle_option): Make
605         -berok and -bernotok control link_info.unresolved_syms_in_objects
606         and link_info.unresolved_syms_in_shared_libs instead of
607         force_make_executable.
609 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
611         * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
612         config.dynamic_link to TRUE.
614 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
616         * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Mark
617         .text, .data and .bss output sections as SEC_KEEP.
619 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
621         * configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
623 2009-03-14  Dave Korn  <dave.korn.cygwin@gmail.com>
624             Danny Smith  <dannysmith@users.sourceforge.net>
626         * emultmpl/pe.em (pe_dll_characteristics): New variable.
627         (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
628         OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
629         OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
630         New macros for options to set DllCharacteristics flag bits.
631         (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
632         nxcompat, no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
633         (init): Add DllCharacteristics field.
634         (gld_${EMULATION_NAME}_list_options): List new options.
635         (gld${EMULATION_NAME}_handle_option): Handle new options.
636         * emultmpl/pep.em (pe_dll_characteristics): New variable.
637         (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
638         OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
639         OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
640         New macros for options to set DllCharacteristics flags.
641         (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
642         nxcompat,no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
643         (init): Add DllCharacteristics field.
644         (gld_${EMULATION_NAME}_list_options): List new options.
645         (gld${EMULATION_NAME}_handle_option): Handle new options.
646         * ldtexinfo : Document dynamicbase, forceinteg, nxcompat,
647         no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
649 2009-03-06  Nick Clifton  <nickc@redhat.com>
651         * po/es.po: Updated Spanish translation.
653 2009-03-03  Dave Korn  <dave.korn.cygwin@gmail.com>
655         * emultempl/pe.em (debug_section_p):  New bfd_map_over_sections hook.
656         (gld_${EMULATION_NAME}_after_open):  Use it to iterate all sections
657         of all input BFDs, looking for debug info.  Enable long section names
658         if any found.
659         * emultempl/pe.em (debug_section_p):  Likewise.
660         (gld_${EMULATION_NAME}_after_open):  Likewise.
661         * NEWS:  Retrospectively adjust news announcement.
662         * ld.texinfo:  Update documentation to mention new behaviour.
664 2009-03-03  Alan Modra  <amodra@bigpond.net.au>
666         * Makefile.am: Run "make dep-am".
667         * Makefile.in: Regenerate.
669 2009-03-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
671         * ldgram.y: Add support for REGION_ALIAS operator.
672         * ldlang.c: Likewise.
673         * ldlang.h: Likewise.
674         * ldlex.l: Likewise.
675         * NEWS: Mention the new feature.
676         * ld.texinfo: Document the new feature.
678 2009-03-02  Qinwei  <qinwei@sunnorth.com.cn>
680         * Makefile.am: Replace score elf emulation with score3 and score7
681         emulations.
682         * Makefile.in: Regenerate,
683         * NEWS: Mention support for Score7 architecture.
684         * configure.tgt: Add score7 emulation to score-elf target.
685         * emulparams/scoreelf.sh: Add score7 support.
686         * emultempl/scoreelf.em: Likewise.
688 2009-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
690         * configure.tgt: Only use elf64hppa target emulation for hpux.
691         * emulparams/elf64hppa.sh: Don't include hppa64linux.sh.
692         (SCRIPT_NAME): Use new script elf64hppa.
693         (SCRIPT_NAME, ELFSIZE, NO_REL_RELOCS, ARCH, MACHINE, ENTRY,
694         TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT, OTHER_READONLY_SECTIONS,
695         OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS, OTHER_GOT_RELOC_SECTIONS,
696         DATA_START_SYMBOLS, OTHER_SYMBOLS, DATA_PLT, PLT_BEFORE_GOT,
697         TEXT_DYNAMIC): Define.
698         * emulparams/hppa64linux.sh: Adjust comments.
699         * scripttempl/elf64hppa.sc: New file.
701 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
703         * configure: Regenerate.
705 2009-02-27  Dave Korn  <dave.korn.cygwin@gmail.com>
707         * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):  Set
708         default state of auto-import flag based on $target.
710 2009-02-24  Joseph Myers  <joseph@codesourcery.com>
712         * ld.texinfo (ARM): Document changed meaning of --stub-group-size.
713         * emultempl/armelf.em (hook_in_stub): Insert after the input section.
714         (elf32_arm_add_stub_section): Update comment.
715         (PARSE_AND_LIST_OPTIONS): Update help for --stub-group-size.
717 2009-02-24  Sandra Loosemore  <sandra@codesourcery.com>
719         * ld.texinfo (Options): Correct typos in example.  Recommend
720         using joined forms of syntax for passing options with arguments 
721         from a driver.
722         (-a): Use consistent syntax for documenting option arguments.
723         Clean up indexing and markup.
724         (-A/--architecture): Likewise.
725         (-f/--auxiliary): Likewise.
726         (-F/--filter): Likewise.
727         (-fini): Likewise.
728         (-G/--gpsize): Likewise.
729         (-h/-soname):Likewise.
730         (-init): Likewise.
731         (-l/--library): Likewise.
732         (-L/--library-path): Likewise.
733         (-m): Likewise.
734         (--defsym): Likewise.
735         (-I/--dynamic-linker): Likewise.
736         (-Map): Likewise.
737         (--oformat): Likewise.
738         (--retain-symbols-file): Likewise.
739         (-rpath): Likewise.
740         (-rpath-link): Likewise.
741         (--sort-common): Likewise.
742         (--sort-section): Likewise.
743         (--split-by-file): Likewise.
744         (--split-by-reloc): Likewise.
745         (--sysroot): Likewise.
746         (--section-start): Likewise.
747         (-Tbss, -Tdata, -Ttext): Likewise.
748         (-Ttext-segment): Likewise.
749         (--version-script): Likewise.
750         (--wrap): Likewise.
752 2009-02-18  Dave Korn  <dave.korn.cygwin@gmail.com>
754         * ld.texinfo:  Update to mention long section name options.
755         * NEWS:  Mention new behaviour and command-line options.
756         * pe-dll.c (pe_use_coff_long_section_names):  New global variable.
757         (pe_output_file_set_long_section_names):  New function.
758         (pe_dll_build_sections):  Call it on output BFDs.
759         (pe_exe_build_sections):  Likewise.
760         (pe_dll_fill_sections):  Likewise.
761         (pe_exe_fill_sections):  Likewise.
762         * pe-dll.h (pe_use_coff_long_section_names):  Declare extern.
763         (pe_output_file_set_long_section_names):  Add prototype.
764         * pep-dll.c (pe_use_coff_long_section_names):  Define pep_ alias.
765         (pe_output_file_set_long_section_names):  Likewise.
766         * pep-dll.h (pep_use_coff_long_section_names):  Declare extern.
767         (pep_output_file_set_long_section_names):  Add prototype.
768         * pe.em (OPTION_ENABLE_LONG_SECTION_NAMES):  New getopt value macro.
769         (OPTION_DISABLE_LONG_SECTION_NAMES):  Likewise.
770         (gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
771         (gld_${EMULATION_NAME}_list_options):  Describe them.
772         (gld${EMULATION_NAME}_handle_option):  Set or clear global
773         pe_use_coff_long_section_names flag when options recognised.
774         (gld_${EMULATION_NAME}_after_open):  En/disable long section names
775         for main output bfd by calling pe_output_file_set_long_section_names.
776         * pep.em (enum options):  Extend enum with new getopt option values.
777         (gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
778         (gld_${EMULATION_NAME}_list_options):  Describe them.
779         (gld${EMULATION_NAME}_handle_option):  Set or clear global
780         pe_use_coff_long_section_names flag when options recognised.
781         (gld_${EMULATION_NAME}_after_open):  En/disable long section names
782         for main output bfd by calling pep_output_file_set_long_section_names.
784 2009-02-16  Dave Korn  <dave.korn.cygwin@gmail.com>
786         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):  Don't emit
787         inadvertent .reloc sections caused by refactoring accident.
789 2009-02-16  Alan Modra  <amodra@bigpond.net.au>
791         * ldlang.c (process_insert_statements): ASSERT that output section
792         statements are in order.
794 2009-02-16  Alan Modra  <amodra@bigpond.net.au>
796         * ldlang.c (push_stat_ptr, pop_stat_ptr): New functions.
797         (stat_save, stat_save_ptr): New variables.
798         (lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr.
799         (load_symbols): Likewise.  Delete dead "bad_load" code.
800         (open_input_bfds): Warn on script containing output sections.
801         (lang_enter_output_section_statement): Use push_stat_ptr.
802         (lang_enter_group): Likewise.
803         (lang_leave_output_section_statement): Use pop_stat_ptr.
804         (lang_leave_group): Likewise.
805         * ldlang.h (push_stat_ptr, pop_stat_ptr): Declare.
806         * ldctor.c (ldctor_build_sets): Use push_stat_ptr and pop_stat_ptr.
807         * emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
808         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
809         * emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
810         * emultempl/spuelf.em (spu_place_special_section): Likewise.
811         * emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets): Likewise.
813 2009-02-09  Nathan Sidwell  <nathan@codesourcery.com>
815         Missing piece of 2009-01-26 commit
816         * ldlang.c (lang_process): Don't consider relocatable flag when
817         checking for overlap.
819 2009-02-05  Joseph Myers  <joseph@codesourcery.com>
821         * emulparams/m68kelf.sh: Add newline at end of file.
823 2009-02-04  Nick Clifton  <nickc@redhat.com>
825         PR 9805
826         * ld.texinfo (--allow-shlib-undefined): Correct description of
827         default settings and tidy up the rest of the entry.
829 2009-02-04  Alan Modra  <amodra@bigpond.net.au>
831         * emultempl/spuelf.em (spu_after_open): Don't combine .text.ia.*
832         during relocatable link.
834 2009-02-03  Nick Clifton  <nickc@redhat.com>
836         PR 9797
837         * ld.texinfo (Constants): Document the base-encoding suffixes
838         supported in linker scripts.
840 2009-02-03  Alan Modra  <amodra@bigpond.net.au>
842         * NEWS: Mention --as-needed change.
844 2009-02-03  Carlos O'Donell  <carlos@codesourcery.com>
846         * configure.in: AC_SUBST pdfdir.
847         * Makefile.am: Add install-pdf, install-pdf-am,
848         and install-pdf-recursive targets. Define pdf__strip_dir.
849         * po/Make-in: Add install-pdf target.
850         * configure: Regenerate.
851         * Makefile.in: Regenerate.
853 2009-01-31  Alan Modra  <amodra@bigpond.net.au>
855         * ld.texinfo (--as-needed): Update.
857 2009-01-29  Andrew Jenner  <andrew@codesourcery.com>
859         * emultempl/armelf.em: Correct formatting of help text for
860         --no-enum-size-warning option.
862 2009-01-26  Nathan Sidwell  <nathan@codesourcery.com>
864         * lexsup.c (parse_args): Set check_section_addresses to 1 or 0.
865         * ld.h (args_type): Make check_section_addresses a char.
866         * ldmain.c (main): Default check_section_addresses to -1. Check it
867         for relocatable links.
868         * ld.texinfo (--check-sections): Update documentation.
870 2009-01-26  Kai Tietz  <kai.tietz@onevision.com>
872         * pe-dll.c (tmp_seq2): New static variable.
873         (make_singleton_name_imp): New.
874         (make_import_fixup_entry): Use for v2 the _imp_<name> symbol and
875         avoid duplicate import table generation for same symbol.
876         (pe_create_runtime_relocator_reference): Make reference for
877         64-bit 8 bytes.
879 2009-01-21  Alan Modra  <amodra@bigpond.net.au>
881         * emultempl/spuelf.em (params): Init new field.
882         (OPTION_SPU_NON_IA_TEXT): Define.
883         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --non-ia-text.
884         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_SPU_NON_IA_TEXT.
886 2009-01-16  H.J. Lu  <hongjiu.lu@intel.com>
888         * lexsup.c (option_values): Add OPTION_TTEXT_SEGMENT.
889         (ld_options): Add -Ttext-segment.
890         (parse_args): Handle OPTION_TTEXT_SEGMENT.
892         * ld.texinfo: Document -Ttext-segment.
894         * NEWS: Mention -Ttext-segment.
896         * scripttempl/elf.sc (TEXT_START_ADDR): Use SEGMENT_START.
897         (SHLIB_TEXT_START_ADDR): Likewise.
899 2009-01-13  Alan Modra  <amodra@bigpond.net.au>
901         * emultempl/spu_icache.o_c: Regenerate.
903 2009-01-12  Alan Modra  <amodra@bigpond.net.au>
905         * emultempl/spuelf.em (params): Init new fields.
906         (num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars.
907         (spu_place_special_section): Adjust placement for soft-icache.  Pad
908         soft-icache section to a fixed size.  Clear addr_tree.
909         (spu_elf_load_ovl_mgr): Support soft-icache.  Map overlay manager
910         sections a little more intelligently.
911         (gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs.
912         (OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS.
913         (OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define.
914         (OPTION_SPU_LRLIVE): Define.
915         (PARSE_AND_LIST_LONGOPTS): Add new soft-icache options.
916         (PARSE_AND_LIST_OPTIONS): Likewise.
917         (PARSE_AND_LIST_ARGS_CASES): Handle them.
918         * emultempl/spu_icache.S: Dummy file.
919         * emultempl/spu_icache.o_c: Regenerate.
920         * Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c.
921         (spu_icache.o_c): Add rule to build.
922         (CLEANFILES): Zap temp files.
923         (EXTRA_DIST): Add spu_icache.o_c.
924         * Makefile.in: Regenerate.
926 2009-01-08  Kai Tietz  <kai.tietz@onevision.com>
928         * pe.em (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
929         (gld..._add_options): Add new option
930         --use-nul-prefixed-import-tables.
931         (gld..._handle_option): Likewise.
932         * pep.em: Same as for pe.em.
933         * ld.texinfo: Add new option documentation for
934         --use-nul-prefixed-import-tables.
935         * pe-dll.c (pe_use_nul_prefixed_import_tables): New.
936         (make_head): Make prefix leading zero prefix element for
937         idata$4 and idata$5 dependent to new flag.
938         (make_import_fixup_entry): Remove idata4/5 prefix.
939         * pe-dll.h (pe_use_nul_prefixed_import_tables): New.
940         * pep-dll.c (pe_use_nul_prefixed_import_tables): New.
941         * pep-dll.h (pep_use_nul_prefixed_import_tables): New.
942         * NEWS: Add new option.
944 2009-01-05  Kai Tietz  <kai.tietz@onevision.com>
946         * emultempl/pe.em: Prefix dollar characters to be outputed in
947         generated C file.
948         * emultempl/pep.em: Likewise.
950 2009-01-03  Dave Korn  <dave.korn.cygwin@gmail.com>
952         * NEWS:  Mention new feature --exclude-modules-for-implib.
953         * ld.texinfo:  Document new --exclude-modules-for-implib option.
954         * pe-dll.c (exclude_list_struct):  Change type member from int to
955         new enumeration exclude_type.
956         (pe_dll_add_excludes):  Accept exclude_type instead of int param.
957         (auto_export):  Replace magic constants by exclude_type values and
958         handle new choice EXCLUDEFORIMPLIB.
959         (pe_dll_generate_implib):  Accept a pointer to the link_info and
960         iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open
961         fresh BFDs for any found and link into import lib archive chain.
962         * pe-dll.h (exclude_type):  Add new enumerated type to replace magic
963         constants previously used for exclude_list_struct type member.
964         (pe_dll_add_excludes, pe_dll_generate_implib):  Update prototypes.
965         * pep-dll.h (exclude_type, pe_dll_add_excludes,
966         pe_dll_generate_implib):  Likewise to all the above.
967         * emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB):  Define new
968         getopts long option code for new --exclude-modules-for-implib option.
969         (gld${EMULATION_NAME}_add_options):  Add new entry to xtra_long[].
970         (gld_${EMULATION_NAME}_list_options):  List usage for it.
971         (gld${EMULATION_NAME}_handle_option):  Use exclude_type enumerated
972         values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB.
973         (gld_${EMULATION_NAME}_finish):  Pass pointer to link_info when
974         calling pe_dll_generate_implib.
975         * emultempl/pep.em (options):  Define new enumerated value for getopts
976         long option code for new --exclude-modules-for-implib option.
977         (gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options,
978         gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish):
979         Again, likewise to all the above.
981 2009-01-03  Dave Korn  <dave.korn.cygwin@gmail.com>
983         * pe-dll.c (autofilter_liblist):  Add entry for shared libgcc.
984         (libnamencmp):  New function.
985         (auto_export):  Use it in place of strncmp when filtering libraries.
987 For older changes see ChangeLog-2008
989 Local Variables:
990 mode: change-log
991 left-margin: 8
992 fill-column: 74
993 version-control: never
994 End: