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