Allow unquoted = as the first character in ldscript input_list names
[external/binutils.git] / ld / ChangeLog
1 2014-10-15  Hans-Peter Nilsson  <hp@axis.com>
2
3         * ldlex.l (INPUTLIST): New start condition.
4         (comment pattern, ",", "(", ")", "AS_NEEDED")
5         ({FILENAMECHAR1}{FILENAMECHAR}*, "-l"{FILENAMECHAR}+)
6         (quoted string pattern, whitespace pattern): Add INPUTLIST to
7         valid start conditions.
8         (<INPUTLIST>"="{FILENAMECHAR1}{FILENAMECHAR}*): New NAME rule.
9         (ldlex_inputlist): New start-condition-setter function.
10         * ldgram.y (input_list1): Rename from input_list.  All recursive
11         use changed.
12         (input_list): New wrapper rule for input_list1, setting
13         INPUTLIST lexer state for the duration of parsing input_list1.
14         * ldlang.c (lang_add_input_file): If the first character in the
15         filename is '=', prepend the sysroot and force the context of that
16         input file to non-sysroot.
17         * ld.texinfo (Options): When mentioning "=" and sysroot, mention
18         that --sysroot controls it, not only through the configuration.
19         (input files in linker scripts): When mentioning
20         behavior of first character "/" on scripts within sysroot, also
21         mention that effect can be forced by prefixing with "=" and
22         refer to SEARCH_DIR.
23
24 2014-10-14  Tristan Gingold  <gingold@adacore.com>
25
26         * NEWS: Add marker for 2.25.
27
28 2014-10-13  Alan Modra  <amodra@gmail.com>
29
30         * ldlang.c (lang_add_section): Set up map_head.s and map_tail.s when
31         relocatable.
32
33 2014-09-16  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
34
35         * emultempl/nds32elf.em (nds32_elf_after_open): Do not keep
36         ex9 234th entry.
37         (nds32_elf_after_allocation): Move all optimizations into
38         nds32_elf_relax_section.
39
40 2014-09-15  Andrew Bennett  <andrew.bennett@imgtec.com>
41             Matthew Fortune  <matthew.fortune@imgtec.com>
42
43         * ldmain.c (get_emulation): Add support for -mips32r6 and -mips64r6.
44
45 2014-09-12  Andrew Bennett  <andrew.bennett@imgtec.com>
46
47         * configure.tgt: Add mips*-img-elf* target triple.
48
49 2014-09-01  Jon TURNEY  <jon.turney@dronecode.org.uk>
50
51         * emultempl/pe.em (write_build_id, setup_build_id): Change pe/coff
52         build-id section name from '.build-id' to '.buildid'.
53         * emultempl/pep.em (write_build_id, setup_build_id): Ditto.
54
55 2014-08-22  Andreas Tobler  <andreast@fgznet.ch>
56
57         * emulparams/armelf_fbsd.sh (TEXT_START_ADDR): Increase alignment to
58         64kB boundary like in armelf_linux.sh.
59
60 2014-08-22  Alan Modra  <amodra@gmail.com>
61
62         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call
63         bfd_elf_discard_info after generating glink .eh_frame.  Delete
64         redundant test on ppc64_elf_setup_section_lists status.
65
66 2014-08-20  Maciej W. Rozycki  <macro@codesourcery.com>
67
68         * emultempl/armelf.em (OPTION_STUBGROUP_SIZE): Fix formatting.
69         (OPTION_NO_MERGE_EXIDX_ENTRIES, OPTION_LONG_PLT): Likewise.
70
71 2014-08-20  Will Newton  <will.newton@linaro.org>
72
73         * configure.tgt: Default armeb-*-eabi* to big endian.
74
75 2014-08-20  Daniel Micay  <danielmicay@gmail.com>
76
77         * emultempl/pep.em: Add --high-entropy-va switch.
78         * ld.texinfo: Document the --high-entropy-va switch.
79
80 2014-08-20  Nick Clifton  <nickc@redhat.com>
81
82         * scripttempl/DWARF.sc: Add copyright notice.
83         * scripttempl/aix.sc: Likewise.
84         * scripttempl/alpha.sc: Likewise.
85         * scripttempl/alphavms.sc: Likewise.
86         * scripttempl/aout.sc: Likewise.
87         * scripttempl/armaout.sc: Likewise.
88         * scripttempl/armbpabi.sc: Likewise.
89         * scripttempl/armcoff.sc: Likewise.
90         * scripttempl/avr.sc: Likewise.
91         * scripttempl/avrtiny.sc: Likewise.
92         * scripttempl/crisaout.sc: Likewise.
93         * scripttempl/delta68.sc: Likewise.
94         * scripttempl/dlx.sc: Likewise.
95         * scripttempl/elf.sc: Likewise.
96         * scripttempl/elf32cr16.sc: Likewise.
97         * scripttempl/elf32cr16c.sc: Likewise.
98         * scripttempl/elf32crx.sc: Likewise.
99         * scripttempl/elf32msp430.sc: Likewise.
100         * scripttempl/elf32msp430_3.sc: Likewise.
101         * scripttempl/elf32sh-symbian.sc: Likewise.
102         * scripttempl/elf32xc16x.sc: Likewise.
103         * scripttempl/elf32xc16xl.sc: Likewise.
104         * scripttempl/elf32xc16xs.sc: Likewise.
105         * scripttempl/elf64hppa.sc: Likewise.
106         * scripttempl/elf_chaos.sc: Likewise.
107         * scripttempl/elfd10v.sc: Likewise.
108         * scripttempl/elfd30v.sc: Likewise.
109         * scripttempl/elfi370.sc: Likewise.
110         * scripttempl/elfm68hc11.sc: Likewise.
111         * scripttempl/elfm68hc12.sc: Likewise.
112         * scripttempl/elfmicroblaze.sc: Likewise.
113         * scripttempl/elfxgate.sc: Likewise.
114         * scripttempl/elfxtensa.sc: Likewise.
115         * scripttempl/epiphany_4x4.sc: Likewise.
116         * scripttempl/epocpe.sc: Likewise.
117         * scripttempl/h8300.sc: Likewise.
118         * scripttempl/h8300h.sc: Likewise.
119         * scripttempl/h8300hn.sc: Likewise.
120         * scripttempl/h8300s.sc: Likewise.
121         * scripttempl/h8300sn.sc: Likewise.
122         * scripttempl/h8300sx.sc: Likewise.
123         * scripttempl/h8300sxn.sc: Likewise.
124         * scripttempl/h8500.sc: Likewise.
125         * scripttempl/h8500b.sc: Likewise.
126         * scripttempl/h8500c.sc: Likewise.
127         * scripttempl/h8500m.sc: Likewise.
128         * scripttempl/h8500s.sc: Likewise.
129         * scripttempl/hppaelf.sc: Likewise.
130         * scripttempl/i386beos.sc: Likewise.
131         * scripttempl/i386coff.sc: Likewise.
132         * scripttempl/i386go32.sc: Likewise.
133         * scripttempl/i386msdos.sc: Likewise.
134         * scripttempl/i860coff.sc: Likewise.
135         * scripttempl/i960.sc: Likewise.
136         * scripttempl/ia64vms.sc: Likewise.
137         * scripttempl/ip2k.sc: Likewise.
138         * scripttempl/iq2000.sc: Likewise.
139         * scripttempl/m68kaux.sc: Likewise.
140         * scripttempl/m68kcoff.sc: Likewise.
141         * scripttempl/m88kbcs.sc: Likewise.
142         * scripttempl/mcorepe.sc: Likewise.
143         * scripttempl/mep.sc: Likewise.
144         * scripttempl/mips.sc: Likewise.
145         * scripttempl/mipsbsd.sc: Likewise.
146         * scripttempl/mmo.sc: Likewise.
147         * scripttempl/moxie.sc: Likewise.
148         * scripttempl/nds32elf.sc: Likewise.
149         * scripttempl/nw.sc: Likewise.
150         * scripttempl/pe.sc: Likewise.
151         * scripttempl/pep.sc: Likewise.
152         * scripttempl/pj.sc: Likewise.
153         * scripttempl/ppcpe.sc: Likewise.
154         * scripttempl/psos.sc: Likewise.
155         * scripttempl/riscix.sc: Likewise.
156         * scripttempl/sh.sc: Likewise.
157         * scripttempl/sparccoff.sc: Likewise.
158         * scripttempl/st2000.sc: Likewise.
159         * scripttempl/tic30aout.sc: Likewise.
160         * scripttempl/tic30coff.sc: Likewise.
161         * scripttempl/tic4xcoff.sc: Likewise.
162         * scripttempl/tic54xcoff.sc: Likewise.
163         * scripttempl/tic80coff.sc: Likewise.
164         * scripttempl/v850.sc: Likewise.
165         * scripttempl/v850_rh850.sc: Likewise.
166         * scripttempl/vanilla.sc: Likewise.
167         * scripttempl/w65.sc: Likewise.
168         * scripttempl/xstormy16.sc: Likewise.
169         * scripttempl/z80.sc: Likewise.
170         * scripttempl/z8000.sc: Likewise.
171
172 2014-08-19  Alan Modra  <amodra@gmail.com>
173
174         * configure: Regenerate.
175
176 2014-08-18  Alan Modra  <amodra@gmail.com>
177
178         * ld.texinfo (--as-needed): Clarify that references from libraries
179         must be from needed libraries.
180
181 2014-08-18  Alan Modra  <amodra@gmail.com>
182
183         * emultempl/aarch64elf.em (gld${EMULATION_NAME}_after_allocation):
184         Handle error status from bfd_elf_discard_info.
185         * emultempl/armelf.em: Likewise.
186         * emultempl/elf32.em: Likewise.
187         * emultempl/hppaelf.em: Likewise.
188         * emultempl/metagelf.em: Likewise.
189         * emultempl/nios2elf.em: Likewise.
190         * emultempl/ppc64elf.em: Likewise.
191         * emultempl/tic6xdsbt.em: Likewise.
192         * emultempl/vms.em: Likewise.
193
194 2014-08-14  Alan Modra  <amodra@gmail.com>
195
196         PR 16563
197         * ldlang.c (map_head_is_link_order): Rename from
198         stripped_excluded_sections.
199         (lang_clear_os_map): New function, extracted from..
200         (strip_excluded_output_sections): ..here.
201         * ldlang.h (lang_clear_os_map): Declare.
202         * ldwrite.c (ldwrite): Call lang_clear_os_map.
203         * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
204         Likewise.
205
206 2014-08-14  Alan Modra  <amodra@gmail.com>
207
208         * configure.ac: Move AC_PROG_CC and other macros earlier.  Delete
209         plugin checks now done in config/plugins.m4.
210         * config.in: Regenerate.
211         * configure: Regenerate.
212
213 2014-08-14  Alan Modra  <amodra@gmail.com>
214
215         * plugin.c (is_ir_dummy_bfd): Test BFD_PLUGIN flag rather than
216         flags.claimed.
217
218 2014-08-13  Yaakov Selkowitz  <yselkowi@redhat.com>
219
220         * pe-dll.c (autofilter_entry_type autofilter_symbollist_i386): Add
221         __dso_handle.
222
223 2014-08-13  Alan Modra  <amodra@gmail.com>
224
225         * ldlang.c (open_input_bfds): Don't use bfd_elf_get_dyn_lib_class.
226
227 2014-08-12  Alan Modra  <amodra@gmail.com>
228
229         * ldlang.h (struct lang_input_statement_flags): Don't make "reload"
230         field conditional on ENABLE_PLUGINS.
231         * ldlang.c (open_input_bfds): Expand plugin_should_reload.
232         * plugin.h (plugin_should_reload): Delete.
233         * plugin.c (plugin_should_reload): Delete.
234
235 2014-08-12  Alan Modra  <amodra@gmail.com>
236
237         * ldmain.c (notice): Update args.
238         * plugin.c (plugin_notice): Likewise.  Follow warning sym link.
239         Handle new indirect symbol.
240
241 2014-08-12  Alan Modra  <amodra@gmail.com>
242
243         * plugin.c (plugin_load_plugins): Set link_info.lto_plugin_active.
244
245 2014-08-08  Ulrich Drepper  <drepper@gmail.com>
246
247         * ldlang.h (struct lang_input_statement_flags): Add pushed
248         member.
249         * ldlex.h (enum option_values): Add OPTION_PUSH_STATE and
250         OPTION_POP_STATE.
251         * lexsup.c (ld_options): Add entries for --push-state and
252         --pop-state.
253         (parse_args): Handle OPTION_PUSH_STATE and OPTION_POP_STATE.
254         * ld.texinfo: Document --push-state and --pop-state.
255
256 2014-08-06  H.J. Lu  <hongjiu.lu@intel.com>
257
258         PR14918
259         * plugin.c (plugin_opt_plugin_arg): Drop --pass-through.
260
261 2014-08-05  Alan Modra  <amodra@gmail.com>
262
263         * Makefile.in: Regenerate.
264
265 2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>
266
267         * emulparams/elf32bmip.sh: Add .MIPS.abiflags.
268         * emulparams/elf32bmipn32-defs.sh: Likewise.
269         * emulparams/elf64bmip-defs.sh: Likewise.
270
271 2014-07-27  Anthony Green  <green@moxielogic.com>
272
273         * Makefile.am (ALL_EMULATION_SOURCES): Add moxiebox support.
274         (emoxiebox.c): Build.
275         * configure.tgt (targ_extra_ofiles): Add moxie-*-moxiebox*.
276         * emulparams/moxiebox.sh (TEXT_START_ADDR): New file.
277         * Makefile.in: Rebuilt.
278
279 2014-07-17  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
280
281         * emulparams/elf32or1k_linux.sh (TEXT_START_ADDR): Increase from
282         0x0 to first page boundary at 0x2000.
283
284 2014-07-10  Max Filippov  <jcmvbkbc@gmail.com>
285
286         * emultempl/xtensaelf.em (is_inconsistent_linkonce_section):
287         correctly handle missing dot in section name after
288         ".gnu.linkonce.prop.".
289
290 2014-07-08  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
291
292         * scripttempl/avr.sc: Remove KEEP for .data and
293         force .bss VMA to end of .data VMA.
294
295 2014-07-08  Will Newton  <will.newton@linaro.org>
296
297         * emulparams/armelf_linux.sh (TEXT_START_ADDR): Increase
298         alignment to 64kB boundary.
299
300 2014-07-04  Alan Modra  <amodra@gmail.com>
301
302         * configure.ac: Update "configure.in" comments.
303         * configure: Regenerate.
304
305 2014-07-04  Alan Modra  <amodra@gmail.com>
306
307         * configure.ac: Rename from configure.in.
308         * Makefile.in: Regenerate.
309         * config.in: Regenerate.
310
311 2014-07-04  Alan Modra  <amodra@gmail.com>
312
313         * configure.in: Include bfd/version.m4.
314         (AC_INIT, AM_INIT_AUTOMAKE): Use modern form.
315         (BFD_VERSION): Delete.
316         * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove bfd/configure.in.
317         * configure: Regenerate.
318         * Makefile.in: Regenerate.
319
320 2014-07-03  Alan Modra  <amodra@gmail.com>
321
322         PR 17068
323         * ldlang.c (load_symbols): Always check flags.reload.
324         (open_input_bfds): Always reload --as-needed shared libraries,
325         not just when rescanning.
326         * ldlang.h (struct lang_input_statement_flags): Update reload comment.
327         * plugin.c (plugin_should_reload): Assume shared library arg.
328         * plugin.h (plugin_should_reload): Update comment.
329
330 2014-07-01  Alan Modra  <amodra@gmail.com>
331
332         * emultempl/ppc64elf.em (stub_added): Delete.
333         (gld${EMULATION_NAME}_finish): Call ppc64_elf_build_stubs even when
334         none of the usual stubs have been added.  Only change entry_section
335         for ELFv1.
336
337 2014-07-01  Alan Modra  <amodra@gmail.com>
338
339         * sysdep.h: Don't include limits.h and sys/param.h.  Don't
340         include unistd.h twice.
341         (LD_PATHMAX): Don't define.
342         * ldlang.c (lang_common): Don't use UINT_MAX.
343
344 2014-07-01  Barney Stratford  <barney_stratford@fastmail.fm>
345             Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
346             Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
347             Soundararajan  <Sounderarajan.D@atmel.com>
348
349         * Makefile.am (ALL_EMULATION_SOURCES): Add avrtiny emulation source.
350         (eavrtiny.c): Add rules for avrtiny emulation source.
351         * Makefile.in: Regenerate.
352         * configure.tgt: Add avrtiny to avr target emulations.
353         * scripttempl/avrtiny.sc: New file.  Linker script template for
354         avrtiny arch.
355         * emulparams/avrtiny.sh: New file.  Emulation parameters for
356         avrtiny arch.
357
358 2014-06-30  Ulrich Drepper  <drepper@gmail.com>
359
360         * lexsup.c (parse_args): Check whether provided SONAME is empty
361         string.  If yes, warn and ignore it.  Don't overwrite valid SONAME
362         with empty string.
363
364 2014-06-26  Linda Zhang  <lindasc@qq.com>
365
366         * emultempl/pe.em: Initialise insert_timestamp to true.
367         Add a --no-insert-timestamp command line option.
368         * emultempl/pep.em: Likewise.
369         * ld.texinfo: Document that --insert-timestamp is enabled by
370         default and that it now has an inverse command line option.
371         * NEWS: Mention the new behaviour.
372
373 2014-06-25  Nick Clifton  <nickc@redhat.com>
374
375         * Makefile.am (ALL_EMULATION_SOURCES): Move ei386pep.c from
376         here...
377         (ALL_64_EMULATION_SOURCES): ... to here.
378         (ALL_EMUL_EXTRA_OFILES): Move pep-dll.o from here...
379         (ALL_64_EMUL_EXTRA_OFILES): New.  ... to here.
380         * configure.in (EMUL_EXTRA_OFILES): Include
381         ALL_64_EMUL_EXTRA_OFILES when making a 64-bit enabled build.
382         * Makefile.in: Regenerate.
383         * configure: Regenerate.
384
385 2014-06-18  Andreas Tobler  <andreast@fgznet.ch>
386
387         * configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls.
388         (arm*b-*-freebsd*): Add target.
389         * emulparams/armelfb_fbsd.sh: Added.
390         * emulparams/armelf_fbsd.sh: Updated.
391         * Makefile.am (ALL_EMULATION_SOURCES): Add earmelfb_fbsd.c.
392         * Makefile.in: Regenerate.
393
394 2014-06-16  Alan Modra  <amodra@gmail.com>
395
396         * scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from
397         .rel sections, and __rel_iplt from .rela sections.
398         * scripttempl/nds32elf.sc: Likewise.
399         * Makefile.am (ends32*.c) Depend on nds32elf.sc.
400         * Makefile.in: Regenerate.
401
402 2014-06-13  Alan Modra  <amodra@gmail.com>
403
404         PR 17047
405         * ldlang.c (output_bfd_hash_table_free_fn): Delete.
406         (open_output): Don't set it..
407         * ldmain.c (ld_cleanup): ..or call it.
408
409 2014-06-13  Alan Modra  <amodra@gmail.com>
410
411         * emultempl/cr16elf.em, * emultempl/elf32.em, * emultempl/genelf.em,
412         * emultempl/m68kcoff.em, * emultempl/m68kelf.em,
413         * emultempl/nds32elf.em, * emultempl/pe.em, * emultempl/pep.em,
414         * ldlang.c, * ldmain.c, * pe-dll.c: Update for bfd.link_next change.
415
416 2014-06-13  Alan Modra  <amodra@gmail.com>
417
418         * Makefile.am (ALL_EMULATION_SOURCES): Add enios2elf.c, enios2linux.c.
419         * Makefile.in: Regenerate.
420
421 2014-06-07  Alan Modra  <amodra@gmail.com>
422
423         * ldexp.c (exp_fold_tree_1 <etree_provide>): Make PROVIDEd
424         linker script symbol value override a built-in linker symbol.
425
426 2014-06-05  Joel Brobecker  <brobecker@adacore.com>
427
428         * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
429         bfd's development.sh.
430         * Makefile.in, configure: Regenerate.
431
432 2014-06-02  Alan Modra  <amodra@gmail.com>
433
434         * emulparams/elf32bfin.sh: Rename from bfin.sh.
435         * emulparams/elf32bfinfd.sh: Update to suit.
436         * emulparams/msp430.sh: Rename from msp430all.sh.  Remove
437         MSP430_NAME and msp430X vars.
438         * emulparams/msp430X.sh: New.
439         * emulparams/score3_elf.sh: Rename from scoreelf.sh.  Remove
440         SCORE_NAME and score7_elf ARCH setting.
441         * emulparams/score7_elf.sh: New.
442         * Makefile.am (eelf32bfin.c, eelf32bfinfd.c): Update dependencies.
443         (emsp430.c, emsp430X.c, escore3_elf.c, escore7_elf.c): Likewise.
444         * Makefile.in: Regenerate.
445         * genscripts.sh: Delete customizer_script param.
446
447 2014-05-28  Hans-Peter Nilsson  <hp@axis.com>
448
449         * Makefile.am: Change all rules with ${GENSCRIPTS}
450         invocations to be just dependencies.
451         ($(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES))
452         (run-genscripts): New rules.
453         * Makefile.in: Regenerate.
454
455 2014-05-27  DJ Delorie  <dj@redhat.com>
456
457         * ld/ldemul.h (extra_map_file_text): New field.
458         (ldemul_extra_map_file_text): Declare.
459         * ld/ldemul.c (ldemul_extra_map_file_text): Define.
460         * ld/ldlang.c (lang_map): Call it.
461
462         * ld/emultempl/rxelf.em: Add extra_map_file_text hook.
463         * ld/emultempl/aix.em: Add NULL extra_map_file_text hook.
464         * ld/emultempl/armcoff.em: Likewise.
465         * ld/emultempl/beos.em: Likewise.
466         * ld/emultempl/elf32.em: Likewise.
467         * ld/emultempl/generic.em: Likewise.
468         * ld/emultempl/gld960.em: Likewise.
469         * ld/emultempl/gld960c.em: Likewise.
470         * ld/emultempl/linux.em: Likewise.
471         * ld/emultempl/lnk960.em: Likewise.
472         * ld/emultempl/m68kcoff.em: Likewise.
473         * ld/emultempl/pe.em: Likewise.
474         * ld/emultempl/pep.em: Likewise.
475         * ld/emultempl/sunos.em: Likewise.
476         * ld/emultempl/ticoff.em: Likewise.
477         * ld/emultempl/vanilla.em: Likewise.
478
479 2014-05-24  Alan Modra  <amodra@gmail.com>
480
481         * ldlang.c (base): Move variable to..
482         * mri.c: ..here, and make static.
483         * ldlang.h (base): Delete declaration.
484
485 2014-05-20  Hans-Peter Nilsson  <hp@axis.com>
486
487         * Makefile.am (ALL_EMULATION_SOURCES): Add missing eelf32mbel_linux.c.
488         * Makefile.in: Regenerate.
489
490 2014-05-20  Alan Modra  <amodra@gmail.com>
491
492         PR 16952
493         * emulparams/elf32ppccommon.sh (_SDA_BASE_, _SDA2_BASE_): Delete.
494         * emultempl/ppc32elf.em (ppc_before_allocation): Call
495         ppc_elf_maybe_strip_sdata_syms.
496         * ldlang.c (size_input_section): Correct output_offset value
497         for excluded input sections.
498
499 2014-05-16  John Marino  <binutils@marino.st>
500
501         * configure.tgt: Add /lib to dragonfly NATIVE_LIB_DIRS.
502
503 2014-05-11  Chung-Lin Tang  <cltang@codesourcery.com>
504
505         * emulparams/nios2linux.sh (OTHER_GOT_SYMBOLS): Wrap _gp in HIDDEN(),
506         and gp in PROVIDE_HIDDEN.
507
508 2014-05-10  Hans-Peter Nilsson  <hp@bitrange.com>
509
510         * ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here.
511         (output_bfd_hash_table_free_fn): New variable.
512         (open_output): Save the _bfd_link_hash_table_free function for the
513         output_bfd into output_bfd_hash_table_free_fn.
514         * ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn
515         on link_info.hash.
516         * ldlang.h (output_bfd_hash_table_free_fn): Declare.
517
518 2014-05-02  Alan Modra  <amodra@gmail.com>
519
520         * emultempl/metagelf.em: Update bfd target vector naming.
521         * emultempl/nios2elf.em: Likewise.
522         * emultempl/spuelf.em: Likewise.
523         * emultempl/tic6xdsbt.em: Likewise.
524
525 2014-04-22  Christian Svensson  <blue@cmd.nu>
526
527         * Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
528         * configure.tgt: Likewise.
529         * emulparams/elf32or1k.sh: New file.
530         * emulparams/elf32or1k_linux.sh: New file.
531         * emulparams/elf32openrisc.sh: Delete.
532         * emulparams/or32.sh: Delete.
533         * emulparams/or32elf.sh: Delete.
534         * scripttempl/or32.sc: Delete.
535         * Makefile.in: Regenerate.
536
537 2014-04-21  Richard Henderson  <rth@redhat.com>
538
539         * emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes.
540
541 2014-04-16  Steve Ellcey  <sellcey@mips.com>
542
543         * emultempl/elf32.em: Include safe-ctype.h.
544
545 2014-04-16  Steve Ellcey  <sellcey@mips.com>
546
547         * ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg.
548
549 2014-04-09  Nick Clifton  <nickc@redhat.com>
550
551         * Makefile.am (default-manifest.o): Remove rule.
552         (EMUL_EXTRA_BINARIES): Delete.
553         (ALL_EMUL_EXTRA_BINARIES): Delete.
554         (ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES.
555         (install-data-local): Remove EMUL_EXTRA_BINARIES.
556         * Makefile.in: Regenerate.
557         * configure.in (all_emul_extra_binaries): Delete.
558         (EMUL_EXTRA_BINARIES): Remove.
559         * configure: Regenerate.
560         * configure.tgt (target_extra_binaries): Delete.
561         * emultempl/default-manifest.rc: Delete.
562         * ld.texinfo: Remove discussion of default manifest.
563         * emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete.
564         * emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete.
565
566 2014-04-09  Alan Modra  <amodra@gmail.com>
567
568         * emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h.
569         * emultempl/nds32elf.em: Include bfd_stdint.h.
570         * po/POTFILES.in: Regenerate.
571
572 2014-04-09  Alan Modra  <amodra@gmail.com>
573
574         * emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions.
575         (LDEMUL_FINISH): Define.
576
577 2014-04-08  Nick Clifton  <nickc@redhat.com>
578
579         * scripttempl/pe.sc (R_RSRC): Remove default manifest.
580         * scripttempl/pep.sc (R_RSRC): Remove default manifest.
581
582 2014-04-08  Jon TURNEY  <jon.turney@dronecode.org.uk>
583
584         * emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
585         Move code for parsing build-id option and calculating the build-id to...
586         * ldbuildid.c: New file.
587         * ldbuildid.h: New file.
588         * Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
589         files.
590         * Makefile.in: Regenerate.
591         * ld.texinfo: Update --build-id description to mention COFF
592         support.
593         * NEWS: Mention support for COFF build ids.
594         * emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
595         (pecoff_checksum_contents, write_build_id, setup_build_id)
596         (gld_${EMULATION_NAME}_after_open):  Handle and implement
597         build-id option.
598         * emultempl/pep.em: Likewise.
599
600 2014-04-04  Cary Coutant  <ccoutant@google.com>
601
602         PR gold/16804
603         * ld.texinfo: Document optional comma following output section
604         command and overlay command.
605
606 2014-04-04  Alan Modra  <amodra@gmail.com>
607
608         * ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
609         current "fill", not "output_section_statement->fill".
610
611 2014-03-31  Nick Clifton  <nickc@redhat.com>
612
613         PR ld/16744
614         * emultempl/elf32.em (_after_open): Create a .note.GNU-stack
615         section when performing a relocatable link with -z [no]execstack
616         specified.
617
618 2014-03-27  H.J. Lu  <hongjiu.lu@intel.com>
619
620         PR ld/16756
621         * ldmain.c (symbol_warning): New function.
622         (warning_callback): Use it.  Scan all input files for a reference
623         to SYMBOL.
624
625 2014-03-21  Christopher Faylor  <me.cygwin2013@cgf.cx>
626
627         * ld.texinfo: Document change in handling of --enable-auto-image-base.
628         * emultempl/pe.em (pe_auto_image_base): Set to default base.
629         (gld_${EMULATION_NAME}_list_options): Change usage message to reflect
630         optional --enable-auto-image-base argument.
631         (gld${EMULATION_NAME}_handle_option): Handle optional
632         --enable-auto-image-base argument.
633         (compute_dll_image_base): Eliminate constant.  Use pe_auto_image_base.
634
635 2014-03-19  Nick Clifton  <nickc@redhat.com>
636
637         * Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET.
638         * Makefile.in: Regenerate.
639         * emultempl/default-manifest.rc: Fix typo.
640         * scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion.
641         (.rsrc): Add SUBALIGN(4).  Remove SORT.
642         * scripttempl/pep.sc: Likewise.
643
644 2014-03-17  Christopher Faylor  <me.cygwin2014@cgf.cx>
645
646         * Makefile.am: Use host version of windres.
647         * Makefile.in: Regenerate.
648
649 2014-03-14  Romain Geissler  <romain.geissler@amadeus.com>
650             Alan Modra  <amodra@gmail.com>
651
652         * ldlang.h (full_name_provided): New input flag.
653         * ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
654         for -l:namespec.  Instead use lang_input_file_is_l_enum with
655         full_name_provided flag.
656         * ldlfile.c (ldfile_open_file_search): Don't complete lib name if
657         full_name_provided flag is set.
658         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
659         Handle full_name_provided libraries.  Tidy EXTRA_SHLIB_EXTENSION
660         support.  Set DT_NEEDED for -l:namespec as namespec.
661         * emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
662         * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
663         Don't handle full_name_provided libraries.
664         * emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
665         * emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
666         * emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
667
668 2014-03-12  Alan Modra  <amodra@gmail.com>
669
670         * Makefile.in: Regenerate.
671
672 2014-03-05  Alan Modra  <amodra@gmail.com>
673
674         Update copyright years.
675
676 2014-03-04  Nick Clifton  <nickc@redhat.com>
677
678         * Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
679         * Makefile.in: Regenerate.
680
681 2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
682
683         * emultempl/armelf.em (OPTION_LONG_PLT): Define.
684         (PARSE_AND_LIST_LONGOPTS): Add long-plt.
685         (PARSE_AND_LIST_OPTIONS): Likewise.
686         (PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
687         * ld.texinfo: Document --long-plt.
688
689 2014-02-27  Alan Modra  <amodra@gmail.com>
690
691         * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
692         use ppc32elf.em.
693         * emultempl/ppc32elf.em (ppc_after_open): Don't compile for
694         vxworks.
695         (LDEMUL_AFTER_OPEN): Don't set for vxworks.
696         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
697         -secure-plt, -bss-plt and -sdata-got when vxworks.
698
699 2014-02-27  Nick Clifton  <nickc@redhat.com>
700
701         * configure.in (all_emul_extra_binaries): New variable.  Populated
702         by invoking configure.tgt.
703         (EMUL_EXTRA_BINARIES): New substitution.
704         * configure: Regenerate.
705         * configure.tgt (target_extra_binaries): New variable.  Set to
706         default-manifest.o for Cygwin and MinGW targets.
707         * Makefile.am (EMUL_EXTRA_BINARIES): New variable.  Initialised
708         by the configure script.
709         (ALL_EMUL_EXTRA_BINARIES): New variable.
710         (default-manifest.o): New rule to build the default manifest.
711         (ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
712         (install-data-local): Add EMUL_EXTRA_BINARIES.
713         * Makefile.in: Regenerate.
714         * ld.texinfo: Document default manifest support.
715         * emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
716         * emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
717         * emultempl/default-manifest.rc: New file.
718         * scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
719         * scripttempl/pep.sc (R_RSRC): Likewise.
720
721 2014-02-26  Dan Mick  <dan.mick@inktank.com>
722
723         PR ld/16569
724         * ldcref.c (cref_sort_array): Compare unmangled names unless
725         demanglng has been requiested.
726         (output_one_cref): Output unmangled name unless demangling has
727         been requested.
728
729 2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
730             H.J. Lu  <hongjiu.lu@intel.com>
731
732         * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
733
734 2014-02-19  Alan Modra  <amodra@gmail.com>
735
736         * emultempl/ppc64elf.em (params): Init new field.
737         (ppc_create_output_section_statements): Set params.save_restore_funcs
738         default.
739         (PARSE_AND_LIST_*): Add support for --save-restore-funcs and
740         --no-save-restore-funcs.
741
742 2014-02-17  Alan Modra  <amodra@gmail.com>
743
744         * emultemps/ppc64elf.em (params): New static struct replacing
745         various other static vars.  Adjust code throughout file.
746
747 2014-02-17  Alan Modra  <amodra@gmail.com>
748
749         * emultempl/ppc32elf.em (ppc_after_open_output): Really enable
750         ppc476 workaround for ld -r.
751
752 2014-02-12  Alan Modra  <amodra@gmail.com>
753
754         * emultempl/ppc32elf.em (pagesize): New static var.
755         (ppc_after_open_output): Set params.pagesize_p2 from pagesize.
756         (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
757
758 2014-02-11  Andrew Pinski  <apinski@cavium.com>
759
760         * emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
761         (ELF_INTERPRETER_NAME): Define.
762         * emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
763
764 2014-02-10  Alan Modra  <amodra@gmail.com>
765
766         * po/ld.pot: Regenerate.
767
768 2014-02-03  Alan Modra  <amodra@gmail.com>
769
770         * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
771         plt_style): Delete.  Adjust all refs to instead use..
772         (params): ..this.  New variable.
773         (ppc_after_open_output): New function.  Tweak params and pass to
774         ppc_elf_link_params.
775         (ppc_after_open): Adjust ppc_elf_select_plt_layout call.
776         (ppc_before_allocation): Adjust ppc_elf_tls_setup call.  Enable
777         relaxation for ppc476 workaround.
778         (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
779         (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
780
781 2014-02-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
782
783         * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
784         * ld/ldlang.c (lang_size_sections_1): Add dotdelta
785         variable which reflects the VMA change due to alignment
786         requirements.  Use dotdelta do change the LMA if
787         ALIGN_WITH_INPUT is requested.
788
789 2014-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
790
791         * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
792         call to bfd_set_section_vma exposed by recent bfd_set_section_vma
793         change.
794
795 2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
796
797         * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
798         * Makefile.in: Regenerated.
799         * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
800         * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
801         * emultempl/nios2elf.em: New file.
802         * gen-doc.texi (NIOSII): Set.
803         * ld.texinfo (NIOSII): Set.
804
805 2014-01-28  Nick Clifton  <nickc@redhat.com>
806
807         * Makefile.am: Remove obsolete MSP430 emulations.
808         * configure.tgt: Likewise.
809         * emulparams/msp430all.sh: Likewise.
810         * Makefile.in: Regenerate.
811
812 2014-01-24  H.J. Lu  <hongjiu.lu@intel.com>
813
814         PR ld/16498
815         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
816         orphaned TLS section handling.
817
818 2014-01-24  Alan Modra  <amodra@gmail.com>
819
820         * ldlang.c (lang_output_section_find_by_flags): Be careful to
821         test look->bfd_section->flags if available rather than
822         look->flags.  Separate SEC_THREAD_LOCAL handling from
823         SEC_READONLY loop, and rewrite.
824
825 2014-01-22  Alan Modra  <amodra@gmail.com>
826
827         * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
828         (lang_init): Initialise them.
829         (lang_print_asneeded): New function.
830         (lang_process): Call lang_print_asneeded.
831         * ldlang.h (struct asneeded_minfo): New.
832         (asneeded_list_tail): Declare.
833         * ldmain.c (add_archive_element): Improve archive map heading.
834         * ldmisc.c (minfo): Stash --as-needed info.
835
836 2014-01-22  Alan Modra  <amodra@gmail.com>
837
838         * ld.h (struct map_symbol_def): Move to..
839         * ldlang.h: ..here.
840         * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
841
842 2014-01-22  Alan Modra  <amodra@gmail.com>
843
844         * ld.texinfo (Output Section Discarding): Mention assigning to dot
845         as a way of keeping otherwise empty sections.
846         * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
847         is_dot_plus_0, is_align_conditional): New predicates.
848         (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
849         output section, except for some special cases.
850         * scripttempl/elfmicroblaze.sc: Use canonical form to align at
851         end of .heap and .stack.
852
853 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
854
855         * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
856
857 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
858
859         * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
860
861 2014-01-20  Alan Modra  <amodra@gmail.com>
862
863         * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
864         by_script.  Make iteration a single bit field.
865         (lang_track_definedness, lang_symbol_definition_iteration): Delete.
866         (lang_symbol_defined): Declare.
867         * ldlang.c (lang_statement_iteration): Expand comment a little.
868         (lang_init <lang_definedness_table>): Make it bigger.
869         (lang_track_definedness, lang_symbol_definition): Delete.
870         (lang_definedness_newfunc): Update.
871         (lang_symbol_defined): New function.
872         (lang_update_definedness): Create entries here.  Do track whether
873         script definition of symbol is valid, even when also defined in
874         an object file.
875         * ldexp.c (fold_name <DEFINED>): Update.
876         (fold_name <NAME>): Allow self-assignment for absolute symbols
877         defined in a linker script.
878
879 2014-01-20  Guy Martin <gmsoft@tuxicoman.be>
880             Alan Modra  <amodra@gmail.com>
881
882         * ldlang.h (lang_output_section_get): Define.
883         * ldlang.c (lang_output_section_get): Likewise.
884         (init_os): Set the output_section userdata to the output
885         section statement.
886         * emultempl/hppaelf.em: Use lang_output_section_get instead of
887         lang_output_section_find where applicable.
888         * emultempl/aarch64elf.em: Likewise.
889         * emultempl/aix.em: Likewise.
890         * emultempl/armelf.em: Likewise.
891         * emultempl/m68hc1xelf.em: Likewise.
892         * emultempl/metagelf.em: Likewise.
893         * emultempl/mipself.em: Likewise.
894         * emultempl/ppc64elf.em: Likewise.
895         * emultempl/spuelf.em: Likewise.
896
897 2014-01-17  Alan Modra  <amodra@gmail.com>
898
899         * genscripts.sh (COMPILE_IN): Don't set if already set.
900         * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
901         COMPILE_IN=no.
902         * emulparams/nds32elf16m.sh: Likewise.
903         * emulparams/nds32elf_linux.sh: Likewise.
904         * emultempl/aix.em: Test COMPILE_IN value is "yes".
905         * emultempl/armcoff.em: Likewise.
906         * emultempl/elf32.em: Likewise.
907         * emultempl/generic.em: Likewise.
908         * emultempl/gld960.em: Likewise.
909         * emultempl/gld960c.em: Likewise.
910         * emultempl/linux.em: Likewise.
911         * emultempl/lnk960.em: Likewise.
912         * emultempl/m68kcoff.em: Likewise.
913         * emultempl/sunos.em: Likewise.
914         * emultempl/ticoff.em: Likewise.
915
916 2014-01-16  H.J. Lu  <hongjiu.lu@intel.com>
917
918         PR ld/16456
919         * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
920         suffix.
921         * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
922         for elf32_x86_64 emulation.
923         * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
924         for elf_i386 emulation.
925
926 2014-01-16  Alan Modra  <amodra@gmail.com>
927
928         * ld.h (fat_section_userdata_type, get_userdata): Move to..
929         * ldlang.h (input_section_userdata_type, get_userdata): ..here.
930         * ldlang.c (init_map_userdata): Delete.  Fold into..
931         (sort_def_symbol): ..here.  Don't attach input section userdata
932         to output sections or global bfd sections.
933         (lang_map): Don't pre-allocate input section userdata.
934         (init_os): Don't allocate userdata for output sections.
935         (print_all_symbols): Update.
936
937 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
938
939         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
940         Silence uninitialized warning on ehdr_start_save with older
941         GCC.
942
943 2014-01-15  Alan Modra  <amodra@gmail.com>
944
945         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
946         __ehdr_start before size_dynamic_sections and restore afterwards.
947
948 2014-01-10  Alan Modra  <amodra@gmail.com>
949
950         PR ld/14207
951         PR ld/16322
952         PR binutils/16323
953         * ldlang.c (lang_size_sections): Remove unneeded RELRO base
954         adjust.  Tidy comments.
955         * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
956
957 2014-01-10  Hans-Peter Nilsson  <hp@axis.com>
958
959         * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
960
961 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
962
963         PR ld/14207
964         PR ld/16322
965         PR binutils/16323
966         * ldlang.c (lang_size_sections): Properly align RELRO base.
967
968 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
969
970         * ldver.c (ldversion): Update copyright year to 2014.
971
972 For older changes see ChangeLog-2013
973 \f
974 Copyright (C) 2014 Free Software Foundation, Inc.
975
976 Copying and distribution of this file, with or without modification,
977 are permitted in any medium without royalty provided the copyright
978 notice and this notice are preserved.
979
980 Local Variables:
981 mode: change-log
982 left-margin: 8
983 fill-column: 74
984 version-control: never
985 End: