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