1 2011-05-04 Alan Modra <amodra@gmail.com>
4 * ldexp.h (lang_phase_type): Add lang_assigning_phase_enum.
5 * ldexp.c (exp_fold_tree_1): Correct assign to dot comment. Don't
6 assign to dot when lang_assigning_phase_enum.
7 * ldlang.h (lang_do_assignments): Update prototype.
8 * ldlang.c (lang_do_assignments): Add phase parameter. Update all
10 * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update
11 lang_do_assignments calls.
13 2011-04-28 Daniel C. Klauer <daniel.c.klauer@web.de>
16 * emultempl/pe.em (_after_open): Correctly check whether symbol is
19 2011-04-26 Kai Tietz <ktietz@redhat.com>
21 * scripttempl/pe.sc: Handle .eh_frame($|.)* sections.
22 * scripttempl/pep.sc: Likewise.
24 2011-04-24 Alan Modra <amodra@gmail.com>
28 * ldmain.c (notice): Delete "name" param, add "h".
29 * plugin.c (plugin_notice): Likewise. Set non_ir_ref. Handle
30 redefinitions of IR symbols in real BFDs.
31 (plugin_multiple_definition, plugin_multiple_common): Delete.
32 (non_ironly_hash, init_non_ironly_hash): Delete.
33 (is_visible_from_outside): Traverse entry_symbol chain.
34 (get_symbols): Use non_ir_ref flag rather than hash lookup.
36 2011-04-21 Tristan Gingold <gingold@adacore.com>
38 * scripttempl/alphavms.sc: Add dwarf2 embedding marks.
40 2011-04-20 Tristan Gingold <gingold@adacore.com>
42 * emultempl/aix.em (_add_options): Ignore -bbigtoc switch.
44 2011-04-20 Alan Modra <amodra@gmail.com>
46 * ld.h (ld_config_type <hash_table_size>): Make it an unsigned long.
48 2011-04-20 Alan Modra <amodra@gmail.com>
51 * ldfile.c (ldfile_try_open_bfd): Move code creating and switching
53 * ldmain.c (add_archive_element): ..and similar code here..
54 * plugin.c (plugin_maybe_claim): ..to here. New function.
55 (plugin_call_claim_file): Make static.
56 (asymbol_from_plugin_symbol): Set ELF st_shndx for common syms.
57 (plugin_multiple_common): New function.
58 (plugin_call_all_symbols_read): Hook in plugin_multiple_common.
59 * plugin.h (plugin_call_claim_file): Don't declare.
60 (plugin_maybe_claim): Declare.
62 2011-04-20 Alan Modra <amodra@gmail.com>
65 * ldmain.c (multiple_definition): Take a bfd_link_hash_entry
66 pointer arg rather than "name", "obfd", "osec", "oval". Add code
67 removed from linker.c. Hack around xcofflink.c oddity in
69 (multiple_common): Similarly.
70 * plugin.c (orig_allow_multiple_defs): Delete.
71 (plugin_call_all_symbols_read): Don't twiddle allow_multiple_definition.
72 (plugin_multiple_definition): Update.
74 2011-04-18 Kai Tietz <ktietz@redhat.com>
76 * deffilep.y (def_aligncomm): Avoid duplets.
78 * deffilep.y (def_pool_str): New type.
79 (pool_strs): Local static.
80 (def_pool_alloc): Local function.
81 (def_pool_strdup): Likewise.
82 (def_pool_free): Likewise.
83 (opt_name): Replace xmalloc/xstrdup by
84 def_pool_alloc/def_pool_strdup.
86 (anylang_id): Likewise.
88 (def_file_parse): Call def_pool_free on
89 exit and cleanup directives elements.
90 (def_file_add_directive): Call def_pool_free.
92 2011-04-18 Paul Brook <paul@codesourcery.com>
94 * emulparams/elf32_tic6x_le.sh: Define OTHER_READONLY_SECTIONS
97 2011-04-18 Alan Modra <amodra@gmail.com>
101 * ldfile.c (ldfile_try_open_bfd): Don't attempt any plugin action
102 when no_more_claiming.
103 * ldmain.c (add_archive_element): Likewise.
104 (multiple_definition): Remove plugin_multiple_definition call.
105 (notice): Remove plugin_notice call.
106 * ldlang.c (lang_list_insert_after, void lang_list_remove_tail): Move.
108 (plugin_insert): New static var.
109 (open_input_bfds): Only rescan libs after plugin insert point.
110 (lang_gc_sections): Omit plugin claimed files.
111 (lang_process): Set plugin_insert. Only rescan when plugin adds
113 * plugin.h (no_more_claiming): Declare.
114 (plugin_notice, plugin_multiple_definition): Don't declare.
115 * plugin.c: Formatting.
116 (orig_notice_all, orig_allow_multiple_defs, orig_callbacks,
117 plugin_callbacks): New static vars.
118 (no_more_claiming): Make global.
119 (plugin_cached_allow_multiple_defs): Delete.
120 (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section,
121 use newer bfd_make_section variant. Make COMMON section too.
122 Error handling. Correct setting of gp size.
123 (asymbol_from_plugin_symbol): Properly cast last arg of concat.
124 (message): Likewise for ACONCAT.
125 (asymbol_from_plugin_symbol): Use our COMMON section.
126 (get_symbols): When report_plugin_symbols, show visibility too.
127 (init_non_ironly_hash): Move. Don't test non_ironly_hash.
128 (plugin_load_plugins): Save state of linker callbacks, set up to
129 call plugin_notice instead. Call init_non_ironly_hash here.
130 (plugin_call_all_symbols_read): Set plugin_multiple_definition in
132 (plugin_notice): Rewrite.
133 (plugin_multiple_definition): Make static, call original callback.
135 2011-04-15 Alan Modra <amodra@gmail.com>
138 * ldlang.c (enum open_bfd_mode): New.
139 (open_input_bfds): Replace "force" param with "mode". Reload
140 archives for rescan. Update all callers.
141 (lang_process): Make another open_input_bfds pass for plugins.
143 2011-04-13 Kai Tietz <ktietz@redhat.com>
146 * deffile.h (def_file_add_export): Add is_dup argument.
147 (def_file_add_import): Likewise.
148 * deffilep.y (are_names_equal): New helper.
149 (cmp_export_elem): New helper.
150 (find_export_in_list): Add search routine for exports.
151 (def_file_add_export): Check for duplicates.
152 (cmp_import_elem): New helper.
153 (find_import_in_list): Add search routine for imports.
154 (def_file_add_import): Check for duplicates.
155 (def_exports): Handle duplicates.
156 (def_imports): Likewise.
157 * pe-dll.c (process_def_file_and_drectve): Likewise.
158 (pe_implied_import_dll): Likewise.
160 2011-04-11 Chris Quenelle <chris.quenelle@oracle.com>
162 * scripttempl/elf.sc (.exception_ranges): Add new section.
164 2011-04-08 Hector Oron <hector.oron@gmail.com>
167 * configure.tgt: Add support for arm-*-gnueabihf targets.
169 2011-04-07 Eric B. Weddington <eric.weddington@atmel.com>
171 * Makefile.in: Regenerate. Remove stray eavrtiny10 rules.
173 2011-04-07 Joseph Myers <joseph@codesourcery.com>
175 * configure.tgt: Remove stray ;;.
177 2011-04-06 Joseph Myers <joseph@codesourcery.com>
179 * configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
180 strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
181 thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
182 xscale-*-coff, xscale-*-elf): Remove targets.
184 2011-03-31 H.J. Lu <hongjiu.lu@intel.com>
186 * configure.tgt: Add elf_l1om to targ_extra_libpath for
189 * emulparams/elf_l1om.sh: Remove duplicates.
191 2011-03-31 Bernd Schmidt <bernds@codesourcery.com>
193 * emulparams/elf32_tic6x_le.sh (BIG_OUTPUT_FORMAT, EXTRA_EM_FILE,
194 GENERATE_SHLIB_SCRIPT): New defines.
195 (TEXT_START_ADDR): Define differently depending on target.
196 (.got): Redefine to include "*(.dsbt)".
197 (SDATA_START_SYMBOLS): Remove, replace with
198 (OTHER_GOT_SYMBOLS): New.
199 (OTHER_BSS_SECTIONS): Define only for ELF targets.
200 * emultempl/tic6xdsbt.em: New file.
201 * gen-doc.texi: Set C6X.
202 * ld.texinfo: Likewise.
203 (Options specific to C6X uClinux targets): New section.
205 2011-03-29 Alan Modra <amodra@gmail.com>
208 * ldlex.l (lex_warn_invalid): Don't assume char is unsigned.
210 2011-03-26 John Marino <binutils@marino.st>
212 * configure.host: Update *-*-dragonfly* host entry.
213 * configure.tgt: Update *-*-dragonfly* target entry.
214 * ldlex.l: Prevent redefinition of YY_NO_UNPUT.
216 2011-03-28 Joseph Myers <joseph@codesourcery.com>
218 * configure.in: Check for windows.h, not Windows.h.
219 * configure: Regenerate.
220 * plugin.c: Include windows.h, not Windows.h.
222 2011-03-25 Eric B. Weddington <eric.weddington@atmel.com>
224 * Makefile.in: Regenerate.
226 2011-03-23 Joseph Myers <joseph@codesourcery.com>
228 * lexsup.c (parse_args): Only set report_plugin_symbols if plugins
229 are enabled. Mark level as possibly unused.
231 2011-03-22 Eric B. Weddington <eric.weddington@atmel.com>
233 * Makefile.am (ALL_EMULATION_SOURCES): Add AVR XMEGA architectures.
234 (eavrxmega?.c): Likewise.
235 * configure.tgt (targ_extra_emuls): Likewise.
236 * emulparams/avrxmega1.sh: New file.
237 * emulparams/avrxmega2.sh: Likewise.
238 * emulparams/avrxmega3.sh: Likewise.
239 * emulparams/avrxmega4.sh: Likewise.
240 * emulparams/avrxmega5.sh: Likewise.
241 * emulparams/avrxmega6.sh: Likewise.
242 * emulparams/avrxmega7.sh: Likewise.
243 * emultempl/avrelf.em (avr_elf_${EMULATION_NAME}_before_allocation):
244 Add avrxmega6, avrxmega7 to list of architectures for no stubs.
246 2011-03-21 Eric B. Weddington <eric.weddington@atmel.com>
248 * scripttempl/avr.sc: Add fuse, lock, and signature memory regions.
250 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
252 * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check
255 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
257 * emultempl/armelf.em (arm_elf_before_allocation): Check dynobj
258 instead of dynamic_sections_created.
260 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
262 * plugin.c (get_symbols): Use wrapped lookup for undefined symbols.
264 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
266 * ldlang.c (lang_check): Don't run checks on dummy IR BFDs.
268 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
270 * ldlang.h (lang_input_statement_type): Add new 'claim_archive' flag,
271 wrapping both it and 'claim' flag in #ifdef ENABLE_PLUGINS.
272 * ldmain.c (add_archive_element): Set it if the member is claimed.
273 * ldlang.c (new_afile): Initialise claim_archive and claimed members.
274 (find_replacements_insert_point): New helper function.
275 (lang_process): After adding and opening replacement files passed
276 from plugin, splice them into correct place in statement list and
277 file chains to preserve critical link order.
278 (lang_list_insert_after): New helper function.
279 (lang_list_remove_tail): Likewise.
281 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
283 * plugin.c (IRONLY_SUFFIX): Revise to nicely human-readable form.
284 (IRONLY_SUFFIX_LEN): Delete.
285 (plugin_get_ir_dummy_bfd): Don't append IRONLY_SUFFIX.
286 (is_ir_dummy_bfd): Don't look for suffix; check claimed flag of
287 enclosing lang input statement instead.
289 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
291 * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Preserve
292 alignment of input sections when creating orphan output sections
293 during relocatable link.
294 * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
296 2011-03-04 H.J. Lu <hongjiu.lu@intel.com>
298 * ld.texinfo: Document --verbose[=NUMBER].
300 * lexsup.c (ld_options): Update --verbose.
301 (parse_args): Set report_plugin_symbols.
303 * plugin.c (report_plugin_symbols): New.
304 (get_symbols): Report plugin symbols if report_plugin_symbols
307 * plugin.h (report_plugin_symbols): New.
309 2011-03-01 H.J. Lu <hongjiu.lu@intel.com>
312 * testplug.c: Don't include "filenames.h".
313 (onclaim_file): Don't use filename_cmp.
315 2011-02-28 Kai Tietz <kai.tietz@onevision.com>
317 * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp.
318 * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck):
320 (gld${EMULATION_NAME}_stat_needed): Likewise.
321 (gld${EMULATION_NAME}_check_needed): Likewise.
322 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise.
323 (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
324 * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise.
325 (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
326 * ldfile.c (ldfile_open_file): Likewise.
327 * ldlang.c (wild_sort): Likewise.
328 (lookup_name): Likewise.
329 (check_excluded_libs): Likewise.
330 * ldmisc.c (vfinfo): Likewise.
331 * pe-dll.c (libnamencmp): Likewise.
332 (auto_export): Likewise.
333 (pe_dll_generate_implib): Likewise.
334 * testplug.c (onclaim_file): Likewise.
336 2011-02-24 H.J. Lu <hongjiu.lu@intel.com>
339 * plugin.c (get_symbols): Don't check entry symbol here.
340 (init_non_ironly_hash): Add entry_symbol chain into
343 2011-02-24 H.J. Lu <hongjiu.lu@intel.com>
346 * plugin.c (get_symbols): Don't mark entry symbol IR only.
348 2011-02-18 John David Anglin <dave.anglin@nrc-cnnrc.gc.ca>
351 emulparams/hppalinux.sh (DATA_ADDR): Define.
352 (SHLIB_DATA_ADDR): Likewise.
354 2011-02-16 H.J. Lu <hongjiu.lu@intel.com>
356 * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to
359 2011-02-15 Kai Tietz <kai.tietz@onevision.com>
361 * pe-dll.c (process_def_file_and_drectve): Don't strip
362 leading underscore from symbol by calling bfd_find_version_for_sym.
364 2011-02-14 Mike Frysinger <vapier@gentoo.org>
366 * ldlang.c (lang_vers_match): Declare a new c_sym, assign it to
367 the bfd_demangle of sym, change users of sym to c_sym when not
368 already demangling, and free when done. Change callers of
369 cplus_demangle to bfd_demangle.
371 2011-02-14 Alan Modra <amodra@gmail.com>
373 * plugin.c (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy
374 .text section, use newer bfd_make_section variant. Error handling.
375 Correct setting of gp size.
376 (asymbol_from_plugin_symbol): Properly cast last arg of concat.
377 (message): Likewise for ACONCAT.
378 (get_symbols): Formatting.
380 2011-02-14 Alan Modra <amodra@gmail.com>
382 * ldmain.c (remove_output): Rename to..
383 (ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup.
385 * plugin.c (plugin_call_cleanup): Make global.
386 (plugin_load_plugins): Don't register plugin_call_cleanup with xatexit.
387 * plugin.h (plugin_call_cleanup): Declare.
389 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
391 * configure: Regenerate.
393 2011-02-10 Alan Modra <amodra@gmail.com>
395 * scripttempl/armbpabi.sc: Revert 2010-11-02 H.J. Lu.
396 * scripttempl/avr.sc: Likewise.
397 * scripttempl/elf32cr16.sc: Likewise.
398 * scripttempl/elf32crx.sc: Likewise.
399 * scripttempl/elf32msp430.sc: Likewise.
400 * scripttempl/elf32msp430_3.sc: Likewise.
401 * scripttempl/elf32sh-symbian.sc: Likewise.
402 * scripttempl/elf64hppa.sc: Likewise.
403 * scripttempl/elf_chaos.sc: Likewise.
404 * scripttempl/elfd10v.sc: Likewise.
405 * scripttempl/elfd30v.sc: Likewise.
406 * scripttempl/elfi370.sc: Likewise.
407 * scripttempl/elfm68hc11.sc: Likewise.
408 * scripttempl/elfm68hc12.sc: Likewise.
409 * scripttempl/elfxtensa.sc: Likewise.
410 * scripttempl/ip2k.sc: Likewise.
411 * scripttempl/iq2000.sc: Likewise.
412 * scripttempl/mep.sc: Likewise.
413 * scripttempl/mmo.sc: Likewise.
414 * scripttempl/v850.sc: Likewise.
415 * scripttempl/xstormy16.sc: Likewise.
416 * scripttempl/elf.sc: Revert 2010-10-29 H.J. Lu.
418 2011-01-22 H.J. Lu <hongjiu.lu@intel.com>
420 * Makefile.am (CXX): Removed.
422 * configure.in: Add AC_PROG_CXX.
424 * Makefile.in: Regenerated.
425 * configure: Likewise.
427 2011-01-22 Richard Sandiford <rdsandiford@googlemail.com>
429 * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's
430 private data and GP size.
432 2011-01-21 Alan Modra <amodra@gmail.com>
434 * ldexp.c (fold_binary): Set result section for arithmetic and
435 logical operations to NULL when both operands are in same section.
436 * ld.texinfo (Expression Section): Describe this.
438 2011-01-14 Alan Modra <amodra@gmail.com>
440 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
441 attempt to put non-alloc orphans before debug sections, just place
444 2011-01-14 J. Park <grassman@gmail.com>
447 * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.
449 2011-01-14 Alan Modra <amodra@gmail.com>
451 * Makefile.am: Sort emulation rules.
452 (eelf32am33lin.c): Delete.
453 (ALL_EMULATION_SOURCES): Sort, add missing entries.
454 (ALL_64_EMULATION_SOURCES): Likewise.
455 * Makefile.in: Regenerate.
457 2011-01-13 Alan Modra <amodra@gmail.com>
460 * ld.texinfo (Miscellaneous Commands): Describe LD_FEATURE.
461 (Expression Section): Update.
462 * ld.h (ld_config_type): Add sane_expr.
463 * ldgram.y (ifile_p1): Add LD_FEATURE.
464 * ldlex.l (LD_FEATYRE): New.
465 * ldemul.c (after_parse_default): Delete code handling ld_compatibility.
466 * ldexp.h (struct ldexp_control): Delete uses_defined.
467 * ldexp.c: Remove all uses of uses_defined.
468 (fold_name): Test config.sane_expr rather than ld_compatibility.
469 (exp_fold_tree_1): Likewise. Adjust handling of assignments
471 * ldlang.h (ld_compatibility): Delete.
472 (lang_ld_feature): Declare.
473 * ldlang.c (ld_compatibility): Delete.
474 (open_input_bfds): Only handle assignments for --defsym.
475 (lang_ld_feature): New function.
478 * ldexp.h (exp_assop): Delete.
479 (exp_assign, exp_defsym): Declare.
480 * ldexp.c (exp_assop): Make static, handle all assignment variations.
481 (exp_assign, exp_defsym): New functions.
482 (exp_provide): Use exp_assop.
483 * ldgram.y (defsym_expr): Use exp_defsym.
484 * ldctor.c, * ldgram.y, * ldlang.c, * mri.c, * emultempl/beos.em,
485 * emultempl/pe.em, * emultempl/pep.em, * emultempl/spuelf.em,
486 * emultempl/xtensaelf.em: Update exp_assop -> exp_assign.
488 2011-01-12 Alan Modra <amodra@gmail.com>
491 * ldexp.h (enum phase_enum): Comment. Add exp_dataseg_done.
492 * ldexp.c (fold_unary <DATA_SEGMENT_END>): Rearrange code. Test
493 for exp_dataseg_done rather than expld.phase == lang_final_phase_enum
494 to detect when we've finished sizing sections.
495 (fold_binary <DATA_SEGMENT_ALIGN>): Likewise.
496 (fold_binary <DATA_SEGMENT_RELRO_END>): Likewise. Also test
497 that we are not inside an output section statement.
498 * ldlang.c (lang_size_sections): Set exp_dataseg_done on exit if
499 not exp_dataseg_relro_adjust or exp_dataseg_adjust. Don't set
500 lang_final_phase_enum here.
501 (lang_process): Set lang_final_phase_enum here.
503 2011-01-10 Nick Clifton <nickc@redhat.com>
505 * po/da.po: Updated Danish translation.
507 2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
509 * ldlang.c (startup_file): Removed.
510 (lang_startup): Updated.
512 2011-01-05 H.J. Lu <hongjiu.lu@intel.com>
515 * plugin.c (get_symbols): Check if owner_sec->owner is NULL
516 before accessing its flags field.
518 2011-01-01 H.J. Lu <hongjiu.lu@intel.com>
520 * ldver.c (ldversion): Update copyright to 2011.
522 For older changes see ChangeLog-2010
528 version-control: never