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