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