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