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