bfd/ChangeLog
[platform/upstream/binutils.git] / ld / ChangeLog
1 2014-04-09  Nick Clifton  <nickc@redhat.com>
2
3         * Makefile.am (default-manifest.o): Remove rule.
4         (EMUL_EXTRA_BINARIES): Delete.
5         (ALL_EMUL_EXTRA_BINARIES): Delete.
6         (ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES.
7         (install-data-local): Remove EMUL_EXTRA_BINARIES.
8         * Makefile.in: Regenerate.
9         * configure.in (all_emul_extra_binaries): Delete.
10         (EMUL_EXTRA_BINARIES): Remove.
11         * configure: Regenerate.
12         * configure.tgt (target_extra_binaries): Delete.
13         * emultempl/default-manifest.rc: Delete.
14         * ld.texinfo: Remove discussion of default manifest.
15         * emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete.
16         * emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete.
17
18 2014-04-09  Alan Modra  <amodra@gmail.com>
19
20         * emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h.
21         * emultempl/nds32elf.em: Include bfd_stdint.h.
22         * po/POTFILES.in: Regenerate.
23
24 2014-04-09  Alan Modra  <amodra@gmail.com>
25
26         * emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions.
27         (LDEMUL_FINISH): Define.
28
29 2014-04-08  Nick Clifton  <nickc@redhat.com>
30
31         * scripttempl/pe.sc (R_RSRC): Remove default manifest.
32         * scripttempl/pep.sc (R_RSRC): Remove default manifest.
33
34 2014-04-08  Jon TURNEY  <jon.turney@dronecode.org.uk>
35
36         * emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
37         Move code for parsing build-id option and calculating the build-id to...
38         * ldbuildid.c: New file.
39         * ldbuildid.h: New file.
40         * Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
41         files.
42         * Makefile.in: Regenerate.
43         * ld.texinfo: Update --build-id description to mention COFF
44         support.
45         * NEWS: Mention support for COFF build ids.
46         * emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
47         (pecoff_checksum_contents, write_build_id, setup_build_id)
48         (gld_${EMULATION_NAME}_after_open):  Handle and implement
49         build-id option.
50         * emultempl/pep.em: Likewise.
51
52 2014-04-04  Cary Coutant  <ccoutant@google.com>
53
54         PR gold/16804
55         * ld.texinfo: Document optional comma following output section
56         command and overlay command.
57
58 2014-04-04  Alan Modra  <amodra@gmail.com>
59
60         * ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
61         current "fill", not "output_section_statement->fill".
62
63 2014-03-31  Nick Clifton  <nickc@redhat.com>
64
65         PR ld/16744
66         * emultempl/elf32.em (_after_open): Create a .note.GNU-stack
67         section when performing a relocatable link with -z [no]execstack
68         specified.
69
70 2014-03-27  H.J. Lu  <hongjiu.lu@intel.com>
71
72         PR ld/16756
73         * ldmain.c (symbol_warning): New function.
74         (warning_callback): Use it.  Scan all input files for a reference
75         to SYMBOL.
76
77 2014-03-21  Christopher Faylor  <me.cygwin2013@cgf.cx>
78
79         * ld.texinfo: Document change in handling of --enable-auto-image-base.
80         * emultempl/pe.em (pe_auto_image_base): Set to default base.
81         (gld_${EMULATION_NAME}_list_options): Change usage message to reflect
82         optional --enable-auto-image-base argument.
83         (gld${EMULATION_NAME}_handle_option): Handle optional
84         --enable-auto-image-base argument.
85         (compute_dll_image_base): Eliminate constant.  Use pe_auto_image_base.
86
87 2014-03-19  Nick Clifton  <nickc@redhat.com>
88
89         * Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET.
90         * Makefile.in: Regenerate.
91         * emultempl/default-manifest.rc: Fix typo.
92         * scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion.
93         (.rsrc): Add SUBALIGN(4).  Remove SORT.
94         * scripttempl/pep.sc: Likewise.
95
96 2014-03-17  Christopher Faylor  <me.cygwin2014@cgf.cx>
97
98         * Makefile.am: Use host version of windres.
99         * Makefile.in: Regenerate.
100
101 2014-03-14  Romain Geissler  <romain.geissler@amadeus.com>
102             Alan Modra  <amodra@gmail.com>
103
104         * ldlang.h (full_name_provided): New input flag.
105         * ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
106         for -l:namespec.  Instead use lang_input_file_is_l_enum with
107         full_name_provided flag.
108         * ldlfile.c (ldfile_open_file_search): Don't complete lib name if
109         full_name_provided flag is set.
110         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
111         Handle full_name_provided libraries.  Tidy EXTRA_SHLIB_EXTENSION
112         support.  Set DT_NEEDED for -l:namespec as namespec.
113         * emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
114         * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
115         Don't handle full_name_provided libraries.
116         * emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
117         * emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
118         * emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
119
120 2014-03-12  Alan Modra  <amodra@gmail.com>
121
122         * Makefile.in: Regenerate.
123
124 2014-03-05  Alan Modra  <amodra@gmail.com>
125
126         Update copyright years.
127
128 2014-03-04  Nick Clifton  <nickc@redhat.com>
129
130         * Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
131         * Makefile.in: Regenerate.
132
133 2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
134
135         * emultempl/armelf.em (OPTION_LONG_PLT): Define.
136         (PARSE_AND_LIST_LONGOPTS): Add long-plt.
137         (PARSE_AND_LIST_OPTIONS): Likewise.
138         (PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
139         * ld.texinfo: Document --long-plt.
140
141 2014-02-27  Alan Modra  <amodra@gmail.com>
142
143         * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
144         use ppc32elf.em.
145         * emultempl/ppc32elf.em (ppc_after_open): Don't compile for
146         vxworks.
147         (LDEMUL_AFTER_OPEN): Don't set for vxworks.
148         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
149         -secure-plt, -bss-plt and -sdata-got when vxworks.
150
151 2014-02-27  Nick Clifton  <nickc@redhat.com>
152
153         * configure.in (all_emul_extra_binaries): New variable.  Populated
154         by invoking configure.tgt.
155         (EMUL_EXTRA_BINARIES): New substitution.
156         * configure: Regenerate.
157         * configure.tgt (target_extra_binaries): New variable.  Set to
158         default-manifest.o for Cygwin and MinGW targets.
159         * Makefile.am (EMUL_EXTRA_BINARIES): New variable.  Initialised
160         by the configure script.
161         (ALL_EMUL_EXTRA_BINARIES): New variable.
162         (default-manifest.o): New rule to build the default manifest.
163         (ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
164         (install-data-local): Add EMUL_EXTRA_BINARIES.
165         * Makefile.in: Regenerate.
166         * ld.texinfo: Document default manifest support.
167         * emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
168         * emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
169         * emultempl/default-manifest.rc: New file.
170         * scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
171         * scripttempl/pep.sc (R_RSRC): Likewise.
172
173 2014-02-26  Dan Mick  <dan.mick@inktank.com>
174
175         PR ld/16569
176         * ldcref.c (cref_sort_array): Compare unmangled names unless
177         demanglng has been requiested.
178         (output_one_cref): Output unmangled name unless demangling has
179         been requested.
180
181 2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
182             H.J. Lu  <hongjiu.lu@intel.com>
183
184         * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
185
186 2014-02-19  Alan Modra  <amodra@gmail.com>
187
188         * emultempl/ppc64elf.em (params): Init new field.
189         (ppc_create_output_section_statements): Set params.save_restore_funcs
190         default.
191         (PARSE_AND_LIST_*): Add support for --save-restore-funcs and
192         --no-save-restore-funcs.
193
194 2014-02-17  Alan Modra  <amodra@gmail.com>
195
196         * emultemps/ppc64elf.em (params): New static struct replacing
197         various other static vars.  Adjust code throughout file.
198
199 2014-02-17  Alan Modra  <amodra@gmail.com>
200
201         * emultempl/ppc32elf.em (ppc_after_open_output): Really enable
202         ppc476 workaround for ld -r.
203
204 2014-02-12  Alan Modra  <amodra@gmail.com>
205
206         * emultempl/ppc32elf.em (pagesize): New static var.
207         (ppc_after_open_output): Set params.pagesize_p2 from pagesize.
208         (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
209
210 2014-02-11  Andrew Pinski  <apinski@cavium.com>
211
212         * emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
213         (ELF_INTERPRETER_NAME): Define.
214         * emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
215
216 2014-02-10  Alan Modra  <amodra@gmail.com>
217
218         * po/ld.pot: Regenerate.
219
220 2014-02-03  Alan Modra  <amodra@gmail.com>
221
222         * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
223         plt_style): Delete.  Adjust all refs to instead use..
224         (params): ..this.  New variable.
225         (ppc_after_open_output): New function.  Tweak params and pass to
226         ppc_elf_link_params.
227         (ppc_after_open): Adjust ppc_elf_select_plt_layout call.
228         (ppc_before_allocation): Adjust ppc_elf_tls_setup call.  Enable
229         relaxation for ppc476 workaround.
230         (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
231         (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
232
233 2014-02-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
234
235         * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
236         * ld/ldlang.c (lang_size_sections_1): Add dotdelta
237         variable which reflects the VMA change due to alignment
238         requirements.  Use dotdelta do change the LMA if
239         ALIGN_WITH_INPUT is requested.
240
241 2014-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
242
243         * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
244         call to bfd_set_section_vma exposed by recent bfd_set_section_vma
245         change.
246
247 2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
248
249         * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
250         * Makefile.in: Regenerated.
251         * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
252         * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
253         * emultempl/nios2elf.em: New file.
254         * gen-doc.texi (NIOSII): Set.
255         * ld.texinfo (NIOSII): Set.
256
257 2014-01-28  Nick Clifton  <nickc@redhat.com>
258
259         * Makefile.am: Remove obsolete MSP430 emulations.
260         * configure.tgt: Likewise.
261         * emulparams/msp430all.sh: Likewise.
262         * Makefile.in: Regenerate.
263
264 2014-01-24  H.J. Lu  <hongjiu.lu@intel.com>
265
266         PR ld/16498
267         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
268         orphaned TLS section handling.
269
270 2014-01-24  Alan Modra  <amodra@gmail.com>
271
272         * ldlang.c (lang_output_section_find_by_flags): Be careful to
273         test look->bfd_section->flags if available rather than
274         look->flags.  Separate SEC_THREAD_LOCAL handling from
275         SEC_READONLY loop, and rewrite.
276
277 2014-01-22  Alan Modra  <amodra@gmail.com>
278
279         * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
280         (lang_init): Initialise them.
281         (lang_print_asneeded): New function.
282         (lang_process): Call lang_print_asneeded.
283         * ldlang.h (struct asneeded_minfo): New.
284         (asneeded_list_tail): Declare.
285         * ldmain.c (add_archive_element): Improve archive map heading.
286         * ldmisc.c (minfo): Stash --as-needed info.
287
288 2014-01-22  Alan Modra  <amodra@gmail.com>
289
290         * ld.h (struct map_symbol_def): Move to..
291         * ldlang.h: ..here.
292         * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
293
294 2014-01-22  Alan Modra  <amodra@gmail.com>
295
296         * ld.texinfo (Output Section Discarding): Mention assigning to dot
297         as a way of keeping otherwise empty sections.
298         * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
299         is_dot_plus_0, is_align_conditional): New predicates.
300         (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
301         output section, except for some special cases.
302         * scripttempl/elfmicroblaze.sc: Use canonical form to align at
303         end of .heap and .stack.
304
305 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
306
307         * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
308
309 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
310
311         * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
312
313 2014-01-20  Alan Modra  <amodra@gmail.com>
314
315         * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
316         by_script.  Make iteration a single bit field.
317         (lang_track_definedness, lang_symbol_definition_iteration): Delete.
318         (lang_symbol_defined): Declare.
319         * ldlang.c (lang_statement_iteration): Expand comment a little.
320         (lang_init <lang_definedness_table>): Make it bigger.
321         (lang_track_definedness, lang_symbol_definition): Delete.
322         (lang_definedness_newfunc): Update.
323         (lang_symbol_defined): New function.
324         (lang_update_definedness): Create entries here.  Do track whether
325         script definition of symbol is valid, even when also defined in
326         an object file.
327         * ldexp.c (fold_name <DEFINED>): Update.
328         (fold_name <NAME>): Allow self-assignment for absolute symbols
329         defined in a linker script.
330
331 2014-01-20  Guy Martin <gmsoft@tuxicoman.be>
332             Alan Modra  <amodra@gmail.com>
333
334         * ldlang.h (lang_output_section_get): Define.
335         * ldlang.c (lang_output_section_get): Likewise.
336         (init_os): Set the output_section userdata to the output
337         section statement.
338         * emultempl/hppaelf.em: Use lang_output_section_get instead of
339         lang_output_section_find where applicable.
340         * emultempl/aarch64elf.em: Likewise.
341         * emultempl/aix.em: Likewise.
342         * emultempl/armelf.em: Likewise.
343         * emultempl/m68hc1xelf.em: Likewise.
344         * emultempl/metagelf.em: Likewise.
345         * emultempl/mipself.em: Likewise.
346         * emultempl/ppc64elf.em: Likewise.
347         * emultempl/spuelf.em: Likewise.
348
349 2014-01-17  Alan Modra  <amodra@gmail.com>
350
351         * genscripts.sh (COMPILE_IN): Don't set if already set.
352         * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
353         COMPILE_IN=no.
354         * emulparams/nds32elf16m.sh: Likewise.
355         * emulparams/nds32elf_linux.sh: Likewise.
356         * emultempl/aix.em: Test COMPILE_IN value is "yes".
357         * emultempl/armcoff.em: Likewise.
358         * emultempl/elf32.em: Likewise.
359         * emultempl/generic.em: Likewise.
360         * emultempl/gld960.em: Likewise.
361         * emultempl/gld960c.em: Likewise.
362         * emultempl/linux.em: Likewise.
363         * emultempl/lnk960.em: Likewise.
364         * emultempl/m68kcoff.em: Likewise.
365         * emultempl/sunos.em: Likewise.
366         * emultempl/ticoff.em: Likewise.
367
368 2014-01-16  H.J. Lu  <hongjiu.lu@intel.com>
369
370         PR ld/16456
371         * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
372         suffix.
373         * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
374         for elf32_x86_64 emulation.
375         * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
376         for elf_i386 emulation.
377
378 2014-01-16  Alan Modra  <amodra@gmail.com>
379
380         * ld.h (fat_section_userdata_type, get_userdata): Move to..
381         * ldlang.h (input_section_userdata_type, get_userdata): ..here.
382         * ldlang.c (init_map_userdata): Delete.  Fold into..
383         (sort_def_symbol): ..here.  Don't attach input section userdata
384         to output sections or global bfd sections.
385         (lang_map): Don't pre-allocate input section userdata.
386         (init_os): Don't allocate userdata for output sections.
387         (print_all_symbols): Update.
388
389 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
390
391         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
392         Silence uninitialized warning on ehdr_start_save with older
393         GCC.
394
395 2014-01-15  Alan Modra  <amodra@gmail.com>
396
397         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
398         __ehdr_start before size_dynamic_sections and restore afterwards.
399
400 2014-01-10  Alan Modra  <amodra@gmail.com>
401
402         PR ld/14207
403         PR ld/16322
404         PR binutils/16323
405         * ldlang.c (lang_size_sections): Remove unneeded RELRO base
406         adjust.  Tidy comments.
407         * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
408
409 2014-01-10  Hans-Peter Nilsson  <hp@axis.com>
410
411         * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
412
413 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
414
415         PR ld/14207
416         PR ld/16322
417         PR binutils/16323
418         * ldlang.c (lang_size_sections): Properly align RELRO base.
419
420 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
421
422         * ldver.c (ldversion): Update copyright year to 2014.
423
424 For older changes see ChangeLog-2013
425 \f
426 Copyright (C) 2014 Free Software Foundation, Inc.
427
428 Copying and distribution of this file, with or without modification,
429 are permitted in any medium without royalty provided the copyright
430 notice and this notice are preserved.
431
432 Local Variables:
433 mode: change-log
434 left-margin: 8
435 fill-column: 74
436 version-control: never
437 End: