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