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