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