Reload --as-needed libraries inside groups
[external/binutils.git] / ld / ChangeLog
1 2014-07-03  Alan Modra  <amodra@gmail.com>
2
3         PR 17068
4         * ldlang.c (load_symbols): Always check flags.reload.
5         (open_input_bfds): Always reload --as-needed shared libraries,
6         not just when rescanning.
7         * ldlang.h (struct lang_input_statement_flags): Update reload comment.
8         * plugin.c (plugin_should_reload): Assume shared library arg.
9         * plugin.h (plugin_should_reload): Update comment.
10
11 2014-07-01  Alan Modra  <amodra@gmail.com>
12
13         * emultempl/ppc64elf.em (stub_added): Delete.
14         (gld${EMULATION_NAME}_finish): Call ppc64_elf_build_stubs even when
15         none of the usual stubs have been added.  Only change entry_section
16         for ELFv1.
17
18 2014-07-01  Alan Modra  <amodra@gmail.com>
19
20         * sysdep.h: Don't include limits.h and sys/param.h.  Don't
21         include unistd.h twice.
22         (LD_PATHMAX): Don't define.
23         * ldlang.c (lang_common): Don't use UINT_MAX.
24
25 2014-07-01  Barney Stratford  <barney_stratford@fastmail.fm>
26             Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
27             Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
28             Soundararajan  <Sounderarajan.D@atmel.com>
29
30         * Makefile.am (ALL_EMULATION_SOURCES): Add avrtiny emulation source.
31         (eavrtiny.c): Add rules for avrtiny emulation source.
32         * Makefile.in: Regenerate.
33         * configure.tgt: Add avrtiny to avr target emulations.
34         * scripttempl/avrtiny.sc: New file.  Linker script template for
35         avrtiny arch.
36         * emulparams/avrtiny.sh: New file.  Emulation parameters for
37         avrtiny arch.
38
39 2014-06-30  Ulrich Drepper  <drepper@gmail.com>
40
41         * lexsup.c (parse_args): Check whether provided SONAME is empty
42         string.  If yes, warn and ignore it.  Don't overwrite valid SONAME
43         with empty string.
44
45 2014-06-26  Linda Zhang  <lindasc@qq.com>
46
47         * emultempl/pe.em: Initialise insert_timestamp to true.
48         Add a --no-insert-timestamp command line option.
49         * emultempl/pep.em: Likewise.
50         * ld.texinfo: Document that --insert-timestamp is enabled by
51         default and that it now has an inverse command line option.
52         * NEWS: Mention the new behaviour.
53
54 2014-06-25  Nick Clifton  <nickc@redhat.com>
55
56         * Makefile.am (ALL_EMULATION_SOURCES): Move ei386pep.c from
57         here...
58         (ALL_64_EMULATION_SOURCES): ... to here.
59         (ALL_EMUL_EXTRA_OFILES): Move pep-dll.o from here...
60         (ALL_64_EMUL_EXTRA_OFILES): New.  ... to here.
61         * configure.in (EMUL_EXTRA_OFILES): Include
62         ALL_64_EMUL_EXTRA_OFILES when making a 64-bit enabled build.
63         * Makefile.in: Regenerate.
64         * configure: Regenerate.
65
66 2014-06-18  Andreas Tobler  <andreast@fgznet.ch>
67
68         * configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls.
69         (arm*b-*-freebsd*): Add target.
70         * emulparams/armelfb_fbsd.sh: Added.
71         * emulparams/armelf_fbsd.sh: Updated.
72         * Makefile.am (ALL_EMULATION_SOURCES): Add earmelfb_fbsd.c.
73         * Makefile.in: Regenerate.
74
75 2014-06-16  Alan Modra  <amodra@gmail.com>
76
77         * scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from
78         .rel sections, and __rel_iplt from .rela sections.
79         * scripttempl/nds32elf.sc: Likewise.
80         * Makefile.am (ends32*.c) Depend on nds32elf.sc.
81         * Makefile.in: Regenerate.
82
83 2014-06-13  Alan Modra  <amodra@gmail.com>
84
85         PR 17047
86         * ldlang.c (output_bfd_hash_table_free_fn): Delete.
87         (open_output): Don't set it..
88         * ldmain.c (ld_cleanup): ..or call it.
89
90 2014-06-13  Alan Modra  <amodra@gmail.com>
91
92         * emultempl/cr16elf.em, * emultempl/elf32.em, * emultempl/genelf.em,
93         * emultempl/m68kcoff.em, * emultempl/m68kelf.em,
94         * emultempl/nds32elf.em, * emultempl/pe.em, * emultempl/pep.em,
95         * ldlang.c, * ldmain.c, * pe-dll.c: Update for bfd.link_next change.
96
97 2014-06-13  Alan Modra  <amodra@gmail.com>
98
99         * Makefile.am (ALL_EMULATION_SOURCES): Add enios2elf.c, enios2linux.c.
100         * Makefile.in: Regenerate.
101
102 2014-06-07  Alan Modra  <amodra@gmail.com>
103
104         * ldexp.c (exp_fold_tree_1 <etree_provide>): Make PROVIDEd
105         linker script symbol value override a built-in linker symbol.
106
107 2014-06-05  Joel Brobecker  <brobecker@adacore.com>
108
109         * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
110         bfd's development.sh.
111         * Makefile.in, configure: Regenerate.
112
113 2014-06-02  Alan Modra  <amodra@gmail.com>
114
115         * emulparams/elf32bfin.sh: Rename from bfin.sh.
116         * emulparams/elf32bfinfd.sh: Update to suit.
117         * emulparams/msp430.sh: Rename from msp430all.sh.  Remove
118         MSP430_NAME and msp430X vars.
119         * emulparams/msp430X.sh: New.
120         * emulparams/score3_elf.sh: Rename from scoreelf.sh.  Remove
121         SCORE_NAME and score7_elf ARCH setting.
122         * emulparams/score7_elf.sh: New.
123         * Makefile.am (eelf32bfin.c, eelf32bfinfd.c): Update dependencies.
124         (emsp430.c, emsp430X.c, escore3_elf.c, escore7_elf.c): Likewise.
125         * Makefile.in: Regenerate.
126         * genscripts.sh: Delete customizer_script param.
127
128 2014-05-28  Hans-Peter Nilsson  <hp@axis.com>
129
130         * Makefile.am: Change all rules with ${GENSCRIPTS}
131         invocations to be just dependencies.
132         ($(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES))
133         (run-genscripts): New rules.
134         * Makefile.in: Regenerate.
135
136 2014-05-27  DJ Delorie  <dj@redhat.com>
137
138         * ld/ldemul.h (extra_map_file_text): New field.
139         (ldemul_extra_map_file_text): Declare.
140         * ld/ldemul.c (ldemul_extra_map_file_text): Define.
141         * ld/ldlang.c (lang_map): Call it.
142
143         * ld/emultempl/rxelf.em: Add extra_map_file_text hook.
144         * ld/emultempl/aix.em: Add NULL extra_map_file_text hook.
145         * ld/emultempl/armcoff.em: Likewise.
146         * ld/emultempl/beos.em: Likewise.
147         * ld/emultempl/elf32.em: Likewise.
148         * ld/emultempl/generic.em: Likewise.
149         * ld/emultempl/gld960.em: Likewise.
150         * ld/emultempl/gld960c.em: Likewise.
151         * ld/emultempl/linux.em: Likewise.
152         * ld/emultempl/lnk960.em: Likewise.
153         * ld/emultempl/m68kcoff.em: Likewise.
154         * ld/emultempl/pe.em: Likewise.
155         * ld/emultempl/pep.em: Likewise.
156         * ld/emultempl/sunos.em: Likewise.
157         * ld/emultempl/ticoff.em: Likewise.
158         * ld/emultempl/vanilla.em: Likewise.
159
160 2014-05-24  Alan Modra  <amodra@gmail.com>
161
162         * ldlang.c (base): Move variable to..
163         * mri.c: ..here, and make static.
164         * ldlang.h (base): Delete declaration.
165
166 2014-05-20  Hans-Peter Nilsson  <hp@axis.com>
167
168         * Makefile.am (ALL_EMULATION_SOURCES): Add missing eelf32mbel_linux.c.
169         * Makefile.in: Regenerate.
170
171 2014-05-20  Alan Modra  <amodra@gmail.com>
172
173         PR 16952
174         * emulparams/elf32ppccommon.sh (_SDA_BASE_, _SDA2_BASE_): Delete.
175         * emultempl/ppc32elf.em (ppc_before_allocation): Call
176         ppc_elf_maybe_strip_sdata_syms.
177         * ldlang.c (size_input_section): Correct output_offset value
178         for excluded input sections.
179
180 2014-05-16  John Marino  <binutils@marino.st>
181
182         * configure.tgt: Add /lib to dragonfly NATIVE_LIB_DIRS.
183
184 2014-05-11  Chung-Lin Tang  <cltang@codesourcery.com>
185
186         * emulparams/nios2linux.sh (OTHER_GOT_SYMBOLS): Wrap _gp in HIDDEN(),
187         and gp in PROVIDE_HIDDEN.
188
189 2014-05-10  Hans-Peter Nilsson  <hp@bitrange.com>
190
191         * ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here.
192         (output_bfd_hash_table_free_fn): New variable.
193         (open_output): Save the _bfd_link_hash_table_free function for the
194         output_bfd into output_bfd_hash_table_free_fn.
195         * ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn
196         on link_info.hash.
197         * ldlang.h (output_bfd_hash_table_free_fn): Declare.
198
199 2014-05-02  Alan Modra  <amodra@gmail.com>
200
201         * emultempl/metagelf.em: Update bfd target vector naming.
202         * emultempl/nios2elf.em: Likewise.
203         * emultempl/spuelf.em: Likewise.
204         * emultempl/tic6xdsbt.em: Likewise.
205
206 2014-04-22  Christian Svensson  <blue@cmd.nu>
207
208         * Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
209         * configure.tgt: Likewise.
210         * emulparams/elf32or1k.sh: New file.
211         * emulparams/elf32or1k_linux.sh: New file.
212         * emulparams/elf32openrisc.sh: Delete.
213         * emulparams/or32.sh: Delete.
214         * emulparams/or32elf.sh: Delete.
215         * scripttempl/or32.sc: Delete.
216         * Makefile.in: Regenerate.
217
218 2014-04-21  Richard Henderson  <rth@redhat.com>
219
220         * emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes.
221
222 2014-04-16  Steve Ellcey  <sellcey@mips.com>
223
224         * emultempl/elf32.em: Include safe-ctype.h.
225
226 2014-04-16  Steve Ellcey  <sellcey@mips.com>
227
228         * ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg.
229
230 2014-04-09  Nick Clifton  <nickc@redhat.com>
231
232         * Makefile.am (default-manifest.o): Remove rule.
233         (EMUL_EXTRA_BINARIES): Delete.
234         (ALL_EMUL_EXTRA_BINARIES): Delete.
235         (ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES.
236         (install-data-local): Remove EMUL_EXTRA_BINARIES.
237         * Makefile.in: Regenerate.
238         * configure.in (all_emul_extra_binaries): Delete.
239         (EMUL_EXTRA_BINARIES): Remove.
240         * configure: Regenerate.
241         * configure.tgt (target_extra_binaries): Delete.
242         * emultempl/default-manifest.rc: Delete.
243         * ld.texinfo: Remove discussion of default manifest.
244         * emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete.
245         * emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete.
246
247 2014-04-09  Alan Modra  <amodra@gmail.com>
248
249         * emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h.
250         * emultempl/nds32elf.em: Include bfd_stdint.h.
251         * po/POTFILES.in: Regenerate.
252
253 2014-04-09  Alan Modra  <amodra@gmail.com>
254
255         * emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions.
256         (LDEMUL_FINISH): Define.
257
258 2014-04-08  Nick Clifton  <nickc@redhat.com>
259
260         * scripttempl/pe.sc (R_RSRC): Remove default manifest.
261         * scripttempl/pep.sc (R_RSRC): Remove default manifest.
262
263 2014-04-08  Jon TURNEY  <jon.turney@dronecode.org.uk>
264
265         * emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
266         Move code for parsing build-id option and calculating the build-id to...
267         * ldbuildid.c: New file.
268         * ldbuildid.h: New file.
269         * Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
270         files.
271         * Makefile.in: Regenerate.
272         * ld.texinfo: Update --build-id description to mention COFF
273         support.
274         * NEWS: Mention support for COFF build ids.
275         * emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
276         (pecoff_checksum_contents, write_build_id, setup_build_id)
277         (gld_${EMULATION_NAME}_after_open):  Handle and implement
278         build-id option.
279         * emultempl/pep.em: Likewise.
280
281 2014-04-04  Cary Coutant  <ccoutant@google.com>
282
283         PR gold/16804
284         * ld.texinfo: Document optional comma following output section
285         command and overlay command.
286
287 2014-04-04  Alan Modra  <amodra@gmail.com>
288
289         * ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
290         current "fill", not "output_section_statement->fill".
291
292 2014-03-31  Nick Clifton  <nickc@redhat.com>
293
294         PR ld/16744
295         * emultempl/elf32.em (_after_open): Create a .note.GNU-stack
296         section when performing a relocatable link with -z [no]execstack
297         specified.
298
299 2014-03-27  H.J. Lu  <hongjiu.lu@intel.com>
300
301         PR ld/16756
302         * ldmain.c (symbol_warning): New function.
303         (warning_callback): Use it.  Scan all input files for a reference
304         to SYMBOL.
305
306 2014-03-21  Christopher Faylor  <me.cygwin2013@cgf.cx>
307
308         * ld.texinfo: Document change in handling of --enable-auto-image-base.
309         * emultempl/pe.em (pe_auto_image_base): Set to default base.
310         (gld_${EMULATION_NAME}_list_options): Change usage message to reflect
311         optional --enable-auto-image-base argument.
312         (gld${EMULATION_NAME}_handle_option): Handle optional
313         --enable-auto-image-base argument.
314         (compute_dll_image_base): Eliminate constant.  Use pe_auto_image_base.
315
316 2014-03-19  Nick Clifton  <nickc@redhat.com>
317
318         * Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET.
319         * Makefile.in: Regenerate.
320         * emultempl/default-manifest.rc: Fix typo.
321         * scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion.
322         (.rsrc): Add SUBALIGN(4).  Remove SORT.
323         * scripttempl/pep.sc: Likewise.
324
325 2014-03-17  Christopher Faylor  <me.cygwin2014@cgf.cx>
326
327         * Makefile.am: Use host version of windres.
328         * Makefile.in: Regenerate.
329
330 2014-03-14  Romain Geissler  <romain.geissler@amadeus.com>
331             Alan Modra  <amodra@gmail.com>
332
333         * ldlang.h (full_name_provided): New input flag.
334         * ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
335         for -l:namespec.  Instead use lang_input_file_is_l_enum with
336         full_name_provided flag.
337         * ldlfile.c (ldfile_open_file_search): Don't complete lib name if
338         full_name_provided flag is set.
339         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
340         Handle full_name_provided libraries.  Tidy EXTRA_SHLIB_EXTENSION
341         support.  Set DT_NEEDED for -l:namespec as namespec.
342         * emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
343         * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
344         Don't handle full_name_provided libraries.
345         * emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
346         * emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
347         * emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
348
349 2014-03-12  Alan Modra  <amodra@gmail.com>
350
351         * Makefile.in: Regenerate.
352
353 2014-03-05  Alan Modra  <amodra@gmail.com>
354
355         Update copyright years.
356
357 2014-03-04  Nick Clifton  <nickc@redhat.com>
358
359         * Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
360         * Makefile.in: Regenerate.
361
362 2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
363
364         * emultempl/armelf.em (OPTION_LONG_PLT): Define.
365         (PARSE_AND_LIST_LONGOPTS): Add long-plt.
366         (PARSE_AND_LIST_OPTIONS): Likewise.
367         (PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
368         * ld.texinfo: Document --long-plt.
369
370 2014-02-27  Alan Modra  <amodra@gmail.com>
371
372         * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
373         use ppc32elf.em.
374         * emultempl/ppc32elf.em (ppc_after_open): Don't compile for
375         vxworks.
376         (LDEMUL_AFTER_OPEN): Don't set for vxworks.
377         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
378         -secure-plt, -bss-plt and -sdata-got when vxworks.
379
380 2014-02-27  Nick Clifton  <nickc@redhat.com>
381
382         * configure.in (all_emul_extra_binaries): New variable.  Populated
383         by invoking configure.tgt.
384         (EMUL_EXTRA_BINARIES): New substitution.
385         * configure: Regenerate.
386         * configure.tgt (target_extra_binaries): New variable.  Set to
387         default-manifest.o for Cygwin and MinGW targets.
388         * Makefile.am (EMUL_EXTRA_BINARIES): New variable.  Initialised
389         by the configure script.
390         (ALL_EMUL_EXTRA_BINARIES): New variable.
391         (default-manifest.o): New rule to build the default manifest.
392         (ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
393         (install-data-local): Add EMUL_EXTRA_BINARIES.
394         * Makefile.in: Regenerate.
395         * ld.texinfo: Document default manifest support.
396         * emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
397         * emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
398         * emultempl/default-manifest.rc: New file.
399         * scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
400         * scripttempl/pep.sc (R_RSRC): Likewise.
401
402 2014-02-26  Dan Mick  <dan.mick@inktank.com>
403
404         PR ld/16569
405         * ldcref.c (cref_sort_array): Compare unmangled names unless
406         demanglng has been requiested.
407         (output_one_cref): Output unmangled name unless demangling has
408         been requested.
409
410 2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
411             H.J. Lu  <hongjiu.lu@intel.com>
412
413         * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
414
415 2014-02-19  Alan Modra  <amodra@gmail.com>
416
417         * emultempl/ppc64elf.em (params): Init new field.
418         (ppc_create_output_section_statements): Set params.save_restore_funcs
419         default.
420         (PARSE_AND_LIST_*): Add support for --save-restore-funcs and
421         --no-save-restore-funcs.
422
423 2014-02-17  Alan Modra  <amodra@gmail.com>
424
425         * emultemps/ppc64elf.em (params): New static struct replacing
426         various other static vars.  Adjust code throughout file.
427
428 2014-02-17  Alan Modra  <amodra@gmail.com>
429
430         * emultempl/ppc32elf.em (ppc_after_open_output): Really enable
431         ppc476 workaround for ld -r.
432
433 2014-02-12  Alan Modra  <amodra@gmail.com>
434
435         * emultempl/ppc32elf.em (pagesize): New static var.
436         (ppc_after_open_output): Set params.pagesize_p2 from pagesize.
437         (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
438
439 2014-02-11  Andrew Pinski  <apinski@cavium.com>
440
441         * emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
442         (ELF_INTERPRETER_NAME): Define.
443         * emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
444
445 2014-02-10  Alan Modra  <amodra@gmail.com>
446
447         * po/ld.pot: Regenerate.
448
449 2014-02-03  Alan Modra  <amodra@gmail.com>
450
451         * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
452         plt_style): Delete.  Adjust all refs to instead use..
453         (params): ..this.  New variable.
454         (ppc_after_open_output): New function.  Tweak params and pass to
455         ppc_elf_link_params.
456         (ppc_after_open): Adjust ppc_elf_select_plt_layout call.
457         (ppc_before_allocation): Adjust ppc_elf_tls_setup call.  Enable
458         relaxation for ppc476 workaround.
459         (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
460         (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
461
462 2014-02-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
463
464         * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
465         * ld/ldlang.c (lang_size_sections_1): Add dotdelta
466         variable which reflects the VMA change due to alignment
467         requirements.  Use dotdelta do change the LMA if
468         ALIGN_WITH_INPUT is requested.
469
470 2014-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
471
472         * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
473         call to bfd_set_section_vma exposed by recent bfd_set_section_vma
474         change.
475
476 2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
477
478         * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
479         * Makefile.in: Regenerated.
480         * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
481         * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
482         * emultempl/nios2elf.em: New file.
483         * gen-doc.texi (NIOSII): Set.
484         * ld.texinfo (NIOSII): Set.
485
486 2014-01-28  Nick Clifton  <nickc@redhat.com>
487
488         * Makefile.am: Remove obsolete MSP430 emulations.
489         * configure.tgt: Likewise.
490         * emulparams/msp430all.sh: Likewise.
491         * Makefile.in: Regenerate.
492
493 2014-01-24  H.J. Lu  <hongjiu.lu@intel.com>
494
495         PR ld/16498
496         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
497         orphaned TLS section handling.
498
499 2014-01-24  Alan Modra  <amodra@gmail.com>
500
501         * ldlang.c (lang_output_section_find_by_flags): Be careful to
502         test look->bfd_section->flags if available rather than
503         look->flags.  Separate SEC_THREAD_LOCAL handling from
504         SEC_READONLY loop, and rewrite.
505
506 2014-01-22  Alan Modra  <amodra@gmail.com>
507
508         * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
509         (lang_init): Initialise them.
510         (lang_print_asneeded): New function.
511         (lang_process): Call lang_print_asneeded.
512         * ldlang.h (struct asneeded_minfo): New.
513         (asneeded_list_tail): Declare.
514         * ldmain.c (add_archive_element): Improve archive map heading.
515         * ldmisc.c (minfo): Stash --as-needed info.
516
517 2014-01-22  Alan Modra  <amodra@gmail.com>
518
519         * ld.h (struct map_symbol_def): Move to..
520         * ldlang.h: ..here.
521         * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
522
523 2014-01-22  Alan Modra  <amodra@gmail.com>
524
525         * ld.texinfo (Output Section Discarding): Mention assigning to dot
526         as a way of keeping otherwise empty sections.
527         * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
528         is_dot_plus_0, is_align_conditional): New predicates.
529         (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
530         output section, except for some special cases.
531         * scripttempl/elfmicroblaze.sc: Use canonical form to align at
532         end of .heap and .stack.
533
534 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
535
536         * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
537
538 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
539
540         * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
541
542 2014-01-20  Alan Modra  <amodra@gmail.com>
543
544         * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
545         by_script.  Make iteration a single bit field.
546         (lang_track_definedness, lang_symbol_definition_iteration): Delete.
547         (lang_symbol_defined): Declare.
548         * ldlang.c (lang_statement_iteration): Expand comment a little.
549         (lang_init <lang_definedness_table>): Make it bigger.
550         (lang_track_definedness, lang_symbol_definition): Delete.
551         (lang_definedness_newfunc): Update.
552         (lang_symbol_defined): New function.
553         (lang_update_definedness): Create entries here.  Do track whether
554         script definition of symbol is valid, even when also defined in
555         an object file.
556         * ldexp.c (fold_name <DEFINED>): Update.
557         (fold_name <NAME>): Allow self-assignment for absolute symbols
558         defined in a linker script.
559
560 2014-01-20  Guy Martin <gmsoft@tuxicoman.be>
561             Alan Modra  <amodra@gmail.com>
562
563         * ldlang.h (lang_output_section_get): Define.
564         * ldlang.c (lang_output_section_get): Likewise.
565         (init_os): Set the output_section userdata to the output
566         section statement.
567         * emultempl/hppaelf.em: Use lang_output_section_get instead of
568         lang_output_section_find where applicable.
569         * emultempl/aarch64elf.em: Likewise.
570         * emultempl/aix.em: Likewise.
571         * emultempl/armelf.em: Likewise.
572         * emultempl/m68hc1xelf.em: Likewise.
573         * emultempl/metagelf.em: Likewise.
574         * emultempl/mipself.em: Likewise.
575         * emultempl/ppc64elf.em: Likewise.
576         * emultempl/spuelf.em: Likewise.
577
578 2014-01-17  Alan Modra  <amodra@gmail.com>
579
580         * genscripts.sh (COMPILE_IN): Don't set if already set.
581         * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
582         COMPILE_IN=no.
583         * emulparams/nds32elf16m.sh: Likewise.
584         * emulparams/nds32elf_linux.sh: Likewise.
585         * emultempl/aix.em: Test COMPILE_IN value is "yes".
586         * emultempl/armcoff.em: Likewise.
587         * emultempl/elf32.em: Likewise.
588         * emultempl/generic.em: Likewise.
589         * emultempl/gld960.em: Likewise.
590         * emultempl/gld960c.em: Likewise.
591         * emultempl/linux.em: Likewise.
592         * emultempl/lnk960.em: Likewise.
593         * emultempl/m68kcoff.em: Likewise.
594         * emultempl/sunos.em: Likewise.
595         * emultempl/ticoff.em: Likewise.
596
597 2014-01-16  H.J. Lu  <hongjiu.lu@intel.com>
598
599         PR ld/16456
600         * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
601         suffix.
602         * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
603         for elf32_x86_64 emulation.
604         * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
605         for elf_i386 emulation.
606
607 2014-01-16  Alan Modra  <amodra@gmail.com>
608
609         * ld.h (fat_section_userdata_type, get_userdata): Move to..
610         * ldlang.h (input_section_userdata_type, get_userdata): ..here.
611         * ldlang.c (init_map_userdata): Delete.  Fold into..
612         (sort_def_symbol): ..here.  Don't attach input section userdata
613         to output sections or global bfd sections.
614         (lang_map): Don't pre-allocate input section userdata.
615         (init_os): Don't allocate userdata for output sections.
616         (print_all_symbols): Update.
617
618 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
619
620         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
621         Silence uninitialized warning on ehdr_start_save with older
622         GCC.
623
624 2014-01-15  Alan Modra  <amodra@gmail.com>
625
626         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
627         __ehdr_start before size_dynamic_sections and restore afterwards.
628
629 2014-01-10  Alan Modra  <amodra@gmail.com>
630
631         PR ld/14207
632         PR ld/16322
633         PR binutils/16323
634         * ldlang.c (lang_size_sections): Remove unneeded RELRO base
635         adjust.  Tidy comments.
636         * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
637
638 2014-01-10  Hans-Peter Nilsson  <hp@axis.com>
639
640         * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
641
642 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
643
644         PR ld/14207
645         PR ld/16322
646         PR binutils/16323
647         * ldlang.c (lang_size_sections): Properly align RELRO base.
648
649 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
650
651         * ldver.c (ldversion): Update copyright year to 2014.
652
653 For older changes see ChangeLog-2013
654 \f
655 Copyright (C) 2014 Free Software Foundation, Inc.
656
657 Copying and distribution of this file, with or without modification,
658 are permitted in any medium without royalty provided the copyright
659 notice and this notice are preserved.
660
661 Local Variables:
662 mode: change-log
663 left-margin: 8
664 fill-column: 74
665 version-control: never
666 End: