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