3 * NEWS: Mention addition of Adapteva Epiphany support.
4 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32epiphany.c .
5 (eelf32epiphany.c): New rule.
6 * configure.tgt: Handle epiphany-*-elf.
7 * emulparams/elf32epiphany.sh: New file.
8 * Makefile.in: Regenerate.
9 * po/ld.pot: Regenerate.
13 * po/ja.po: Updated Japanese translation.
18 * plugin.c (plugin_should_reload): New function.
19 * plugin.h (plugin_should_reload): Declare.
20 * ldlang.c (open_input_bfds): Use above function.
25 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
26 -z text, -z notext, -z textoff options for all targets having
31 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Remove toc check.
35 * pe-dll.c (generate_reloc): Don't emit a base reloc for an
36 underlying BFD reloc that will be discarded in eh_frame data.
40 * po/bg.po: Updated Bulgarian translation.
41 * po/es.po: Updated Spanish translation.
42 * po/fi.po: Updated Finnish translation.
43 * po/fr.po: Updated French translation.
47 * ldmain.c (main): Move code twiddling various config and link_info
49 * lexsup.c (parse_args): ..here. Move plugin_load_plugins call
51 * plugin.c (set_tv_header): Test link_info.executable, not
53 (is_visible_from_outside): Likewise. Delete redundant
54 is_ir_dummy_bfd check and "section" parameter.
58 * emultempl/ppc64elf.em (ppc_add_stub_section): Align to 32 bytes.
62 * emultempl/ppc64elf.em (ppc_create_output_section_statements): Add
63 missing colon to error message.
64 (ppc_before_allocation): Likewise.
69 * plugin.c (tv_header_tags): Add LDPT_GET_SYMBOLS_V2.
70 (set_tv_header): Handle it. Adjust LDPT_GET_SYMBOLS. Return void.
71 (get_symbols): Add def_ironly_exp param. Return that value for
72 syms exported from shared libs.
73 (get_symbols_v1, get_symbols_v2): New wrapper functions.
74 * testplug.c: Update for above changes.
78 * scripttempl/pe.sc (.text): Add support for
79 .gnu.linkonce.t.* section.
80 (.debug_info): Only use .gnu.linkonce.wi.* for
82 * scripttempl/pep.sc: Likewise.
86 * NEWS: Add marker for 2.22.
91 * ldlang.h (lang_input_statement_type): Add "reload" bitfield.
93 * ldlang.c (new_afile): Init new field.
94 (load_symbols): Don't call ldlang_add_file when reloading.
95 (open_input_bfds): Reload as-needed libs during plugin rescan.
100 * ldlang.c (lang_elf_version_info): Removed.
101 (lang_register_vers_node): Replace lang_elf_version_info with
102 link_info.version_info.
103 (lang_add_vers_depend): Likewise.
104 * pe-dll.c (process_def_file_and_drectve): Likewise.
105 * emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.
107 * ldlang.h (lang_elf_version_info): Removed.
109 * plugin.c (is_visible_from_outside): Check if symbol is hidden
112 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
113 Remove lang_elf_version_info.
118 * ldmain.c (add_archive_element): Support thin archive member
123 * po/es.po: Updated Spanish translation.
127 * NEWS: Mention that --no-copy-dt-needed-entries is now the
132 * ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE.
133 * ld.texinfo (--copy-dt-needed-entries): Mention new default.
138 * ldlang.c (section_already_linked): Revert 2011-07-09 changes.
139 * plugin.c: Likewise.
140 (asymbol_from_plugin_symbol): Create linkonce section for syms
145 * emultempl/armelf.em (fix_arm1176): New variable.
146 (arm_elf_create_output_section_statements): Pass
147 fix_arm1176 option to bfd backend.
148 (OPTION_FIX_ARM1176): New define.
149 (OPTION_NO_FIX_ARM1176): Likewise.
150 (PARSE_AND_LIST_LONGOPTS): Add new command line options.
151 (PARSE_AND_LIST_OPTIONS): Likewise.
152 (PARSE_AND_LIST_ARGS_CASES): Likewise.
153 * ld.texinfo: Document new command line options.
158 * plugin.c (add_symbols): Revert 2011-08-05.
162 * scripttempl/pep.sc: Add .debug_macro section.
163 * scripttempl/pe.sc: Likewise.
168 * plugin.c (add_symbols): Exclude comdat_key symbols from symbol
169 table if already seen.
173 * ldmain.c (main): Replace remove_output with ld_cleanup in
178 * emulparams/elf32ppc.sh: Source plt_unwind.sh.
179 * emulparams/elf64ppc.sh: Likewise.
180 * emultempl/ppc32elf.em (OPTION_NO_TLS_OPT): Adjust.
181 (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
182 PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
184 * emultempl/ppc64elf.em (OPTION_STUBGROUP_SIZE): Adjust.
185 (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
186 PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
191 * Makefile.am (ALL_64_EMULATIONS): Add eelf_k1om.o and
194 (eelf_k1om_fbsd.c): Likewise.
195 * Makefile.in: Regenerated.
197 * configure.tgt (targ64_extra_emuls): Add elf_k1om if elf_x86_64
198 is supported. Add elf_k1om_fbsd if elf_x86_64_fbsd is supported.
199 (targ_extra_emuls): Likewise.
201 * emulparams/elf_k1om.sh: New.
202 * emulparams/elf_k1om_fbsd.sh: Likewise.
206 * ld.h (args_type): New field print_output_format.
207 * lexsup.c (enum option_values, ld_options, parse_args):
208 Handle --print-output-format.
209 * ldmain.c (main): Implement --print-output-format.
210 * ld.texinfo (Options): Document it.
212 * ldlang.c (lang_get_output_target): Don't return current_target
217 * Makefile.am (e*.c): Sort.
218 * Makefile.in: Regenerate.
222 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option,
223 gld${EMULATION_NAME}_list_options): Don't condition -z relro
224 and -z norelro on COMMONPAGESIZE being defined.
228 * emultempl/ppc64elf.em (plt_static_chain): New var.
229 (gld${EMULATION_NAME}_after_allocation): Pass to ppc64_elf_size_stubs.
230 (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
231 PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Handle
232 --plt-static-chain and --no-plt-static-chain.
236 * emultempl/elf32.em (gld${EMULATION_NAME}_add_options,
237 gld${EMULATION_NAME}_handle_option, gld${EMULATION_NAME}_list_options):
238 Provide --build-id, -z defs, -z muldefs, -z max-page-size,
239 -z common-page-size, -z execstack, -z noexecstack for all targets.
240 Add help for --exclude-libs.
241 (OPTION_LD_GENERATED_UNWIND_INFO,
242 OPTION_NO_LD_GENERATED_UNWIND_INFO): Move this..
243 (gld${EMULATION_NAME}_handle_option): ..and code handling
244 --ld-generated-unwind-info and --no-ld-generated-unwind-info..
245 * emulparams/plt_unwind.sh: ..to here. New file. Add help.
246 * emulparams/elf32_x86_64.sh: Include plt_unwind.sh.
247 * emulparams/elf_i386.sh: Likewise.
248 * emulparams/elf_i386_chaos.sh: Likewise.
249 * emulparams/elf_i386_ldso.sh: Likewise.
250 * emulparams/elf_l1om.sh: Likewise.
251 * emulparams/elf_x86_64.sh: Likewise.
255 * ld.h (section_flag_list): Add field to struct wildcard_spec.
256 * ld.texinfo (INPUT_SECTION_FLAGS): Document.
257 * ldgram.y (flag_info_list, flag_info): Add to union.
258 (INPUT_SECTION_FLAGS): New token.
259 (wildcard_spec): Initialize section_flag_list to NULL for
261 (sect_flag_list, sect_flags): New rules.
262 (input_section_spec_no_keep): Add alternatives to recognize
264 * ldlang.c (walk_wild_consider_section): Initialize
265 section_flag_info field of the section struct.
266 (lang_add_section): Check input section flags.
267 (lang_add_wild): Initialize section_flag_list field of
268 the statement struct.
269 * ldlang.h (lang_input_statement_struct): Add section_flag_list field.
270 (lang_wild_statement_struct): Likewise.
271 * ldlex.l (INPUT_SECTION_FLAGS): New token.
272 * mri.c (mri_draw_tree): Initialize section_flag_list to NULL.
273 * NEWS: Announce INPUT_SECTION_FLAGS enhancement.
278 * ldlang.c (section_already_linked): Pass "struct already_linked *"
279 to bfd_section_already_linked.
280 (lang_process): Set link_info.loading_lto_outputs before
282 * plugin.c: Include "libbfd.h".
283 (add_symbols): Call bfd_section_already_linked with comdat_key.
287 * configure.tgt: Revert x32 change.
292 * emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO,
293 OPTION_NO_LD_GENERATED_UNWIND_INFO): Define.
294 (gld${EMULATION_NAME}_handle_option): Handle
295 --ld-generated-unwind-info and --no-ld-generated-unwind-info.
296 * ld.texinfo (--ld-generated-unwind-info,
297 --no-ld-generated-unwind-info): Document.
301 * configure.tgt: Support x32.
305 * NEWS: Mention addition of TILEPRO and TIKE-Gx support.
309 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx.c and
311 (ALL_64_EMULATION_SOURCES): Add eelf64tilegx.c.
312 (eelf32tilegx.c): New target.
313 (eelf32tilepro.c): Likewise.
314 (eelf64tilegx.c): Likewise.
315 * Makefile.in: Regenerate.
316 * configure.tgt: Handle tilegx-*-* and tilepro-*-*.
317 * emulparams/elf32tilegx.sh: New file.
318 * emulparams/elf64tilegx.sh: New file.
319 * emulparams/elf32tilepro.sh: New file.
323 * ldlang.c (sort_def_symbol, lang_one_common): Don't handle
324 warning symbols here.
325 * emultempl/pe.em (pr_sym): Remove redundant test.
326 * emultempl/pep.em (pr_sym): Likewise.
331 * emultempl/mipself.em (mips_add_stub_section): Do not add stubs
332 for sections that have been removed by garbage collection.
336 * ldlang.c (lang_one_common): Handle warning symbols.
340 * configure.tgt: Accept any V850 architecture.
344 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32am33lin.c
345 Add rule to build eelf32am33lin.c
346 * Makefile.in: Regenerate.
350 * lexsup.c: Fix spelling mistake in comment.
351 * scripttempl/epocpe.sc: Likewise.
352 * scripttempl/i386beos.sc: Likewise.
353 * scripttempl/mcorepe.sc: Likewise.
354 * scripttempl/pe.sc: Likewise.
355 * scripttempl/pep.sc: Likewise.
356 * po/ld.pot: Regenerate.
360 * scripttempl/v850.sc (_heap_start): Provide.
364 * ldmisc.c (vfinfo): Add %H.
365 * ldmain.c (reloc_overflow): Use %H rather than %C.
366 (reloc_dangerous, unattached_reloc): Likewise.
371 * ldlang.c (lang_output_section_find_by_flags): Match orphan .sdata2
372 like sections to existing .sdata2, and similarly for orphan TLS
374 * emultempl/elf32.em (place_orphan): Exclude .tbss from orphan_bss.
379 * emultempl/rxelf.em (ignore_lma): New variable.
380 (rx_elf_create_output_section_statements): Pass the setiing of
381 ignore_lma to bfd_elf32_rx_set_target_flags.
382 (OPTION_IGNORE_LMA): Define.
383 (OPTION_NO_IGNORE_LMA): Define.
384 (PARSE_AND_LIST_LONGOPTS): Add ignore lma.
385 (PARSE_AND_LIST_OPTIONS): Add ignore lma.
386 (PARSE_AND_LIST_ARGS_CASES): Add ignore lma.
391 * ldmain.c (notice): Add "flags" and "string" param.
392 * plugin.c (plugin_notice): Likewise. Handle indirect, warning
393 and constructor syms.
397 * ldlang.c (print_assignment): Use the symbol's section if we
399 * ldexp.c (exp_fold_tree_1): Skip self-assignment. Expand
400 comment on copying symbol type.
405 * plugin.c (plugin_notice): Set u.undef.abfd for symbols made
410 * ldlang.c (lang_leave_output_section_statement): Don't copy
411 previous lma_region if given address.
415 (eelf32_tic6x_linux_be.c, eelf32_tic6x_linux_le.c,
416 eelf32_tic6x_elf_be.c, eelf32_tic6x_elf_le.c): New rules.
417 * Makefile.am (ALL_EMULATIONS): Add these files.
418 (eelf32_tic6x_be.c, eelf32_tic6x_le.c): Depend on tic6xdsbt.em.
419 * Makefile.in: Regenerated.
420 * emultempl/tic6xdsbt.em (is_tic6x_target): Allow more tic6x target
422 * emulparams/elf32_tic6x_elf_be.sh: New file.
423 * emulparams/elf32_tic6x_elf_le.sh: New file.
424 * emulparams/elf32_tic6x_linux_be.sh: New file.
425 * emulparams/elf32_tic6x_linux_le.sh: New file.
426 * configure.tgt (tic6x-*-elf, tic6x-*-uclinux): New.
427 (tic6x-*-*): Replaced by these.
431 * configure.tgt: Add targets x86_64-*-pe and x86_64-*-pep.
435 * emultempl/tic6xdsbt.em (merge_exidx_entries): New.
436 (compare_output_sec_vma): New function.
437 (gld${EMULATION_NAME}_after_allocation): New function.
438 (OPTION_NO_MERGE_EXIDX_ENTRIES): Define.
439 (PARSE_AND_LIST_OPTIONS): Add --no-merge-exidx-entries.
440 (PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_MERGE_EXIDX_ENTRIES.
441 (LDEMUL_AFTER_ALLOCATION): Set.
442 * ld.texinfo: Document c6x --no-merge-exidx-entries.
447 * scripttempl/pe.sc (__rt_psrelocs_start): New symbol definition.
448 (__rt_psrelocs_end): Likewise.
449 (__rt_psrelocs_size): Likewise difference between the above.
450 (__RUNTIME_PSEUDO_RELOC_LIST_END__): Move outside .rdata section
451 immediately after end of pseudo-reloc data.
452 (___RUNTIME_PSEUDO_RELOC_LIST_END___): Likewise.
453 (__RUNTIME_PSEUDO_RELOC_LIST__): Move outside .rdata section and
454 calculate backward from list end.
455 (___RUNTIME_PSEUDO_RELOC_LIST___): Likewise.
456 * scripttempl/pep.sc: Likewise.
460 * scripttempl/alphavms.sc (CODE): Add *$CODE*.
464 * emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Add
465 LDEMUL_ADD_OPTIONS and LDEMUL_HANDLE_OPTION.
466 * emultempl/vms.em (OPTION_IDENTIFICATION): New macro.
467 (gld${EMULATION_NAME}_add_options): New function.
468 (gld${EMULATION_NAME}_list_options): Ditto.
469 (gld${EMULATION_NAME}_handle_option): Ditto.
470 (LDEMUL_ADD_OPTIONS, LDEMUL_HANDLE_OPTION)
471 (LDEMUL_LIST_OPTIONS): Define.
476 * ldexp.h (lang_phase_type): Add lang_assigning_phase_enum.
477 * ldexp.c (exp_fold_tree_1): Correct assign to dot comment. Don't
478 assign to dot when lang_assigning_phase_enum.
479 * ldlang.h (lang_do_assignments): Update prototype.
480 * ldlang.c (lang_do_assignments): Add phase parameter. Update all
482 * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update
483 lang_do_assignments calls.
488 * emultempl/pe.em (_after_open): Correctly check whether symbol is
493 * scripttempl/pe.sc: Handle .eh_frame($|.)* sections.
494 * scripttempl/pep.sc: Likewise.
500 * ldmain.c (notice): Delete "name" param, add "h".
501 * plugin.c (plugin_notice): Likewise. Set non_ir_ref. Handle
502 redefinitions of IR symbols in real BFDs.
503 (plugin_multiple_definition, plugin_multiple_common): Delete.
504 (non_ironly_hash, init_non_ironly_hash): Delete.
505 (is_visible_from_outside): Traverse entry_symbol chain.
506 (get_symbols): Use non_ir_ref flag rather than hash lookup.
510 * scripttempl/alphavms.sc: Add dwarf2 embedding marks.
514 * emultempl/aix.em (_add_options): Ignore -bbigtoc switch.
518 * ld.h (ld_config_type <hash_table_size>): Make it an unsigned long.
523 * ldfile.c (ldfile_try_open_bfd): Move code creating and switching
525 * ldmain.c (add_archive_element): ..and similar code here..
526 * plugin.c (plugin_maybe_claim): ..to here. New function.
527 (plugin_call_claim_file): Make static.
528 (asymbol_from_plugin_symbol): Set ELF st_shndx for common syms.
529 (plugin_multiple_common): New function.
530 (plugin_call_all_symbols_read): Hook in plugin_multiple_common.
531 * plugin.h (plugin_call_claim_file): Don't declare.
532 (plugin_maybe_claim): Declare.
537 * ldmain.c (multiple_definition): Take a bfd_link_hash_entry
538 pointer arg rather than "name", "obfd", "osec", "oval". Add code
539 removed from linker.c. Hack around xcofflink.c oddity in
541 (multiple_common): Similarly.
542 * plugin.c (orig_allow_multiple_defs): Delete.
543 (plugin_call_all_symbols_read): Don't twiddle allow_multiple_definition.
544 (plugin_multiple_definition): Update.
548 * deffilep.y (def_aligncomm): Avoid duplets.
550 * deffilep.y (def_pool_str): New type.
551 (pool_strs): Local static.
552 (def_pool_alloc): Local function.
553 (def_pool_strdup): Likewise.
554 (def_pool_free): Likewise.
555 (opt_name): Replace xmalloc/xstrdup by
556 def_pool_alloc/def_pool_strdup.
557 (dot_name): Likewise.
558 (anylang_id): Likewise.
560 (def_file_parse): Call def_pool_free on
561 exit and cleanup directives elements.
562 (def_file_add_directive): Call def_pool_free.
566 * emulparams/elf32_tic6x_le.sh: Define OTHER_READONLY_SECTIONS
567 for unwinding tables.
573 * ldfile.c (ldfile_try_open_bfd): Don't attempt any plugin action
574 when no_more_claiming.
575 * ldmain.c (add_archive_element): Likewise.
576 (multiple_definition): Remove plugin_multiple_definition call.
577 (notice): Remove plugin_notice call.
578 * ldlang.c (lang_list_insert_after, void lang_list_remove_tail): Move.
580 (plugin_insert): New static var.
581 (open_input_bfds): Only rescan libs after plugin insert point.
582 (lang_gc_sections): Omit plugin claimed files.
583 (lang_process): Set plugin_insert. Only rescan when plugin adds
585 * plugin.h (no_more_claiming): Declare.
586 (plugin_notice, plugin_multiple_definition): Don't declare.
587 * plugin.c: Formatting.
588 (orig_notice_all, orig_allow_multiple_defs, orig_callbacks,
589 plugin_callbacks): New static vars.
590 (no_more_claiming): Make global.
591 (plugin_cached_allow_multiple_defs): Delete.
592 (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section,
593 use newer bfd_make_section variant. Make COMMON section too.
594 Error handling. Correct setting of gp size.
595 (asymbol_from_plugin_symbol): Properly cast last arg of concat.
596 (message): Likewise for ACONCAT.
597 (asymbol_from_plugin_symbol): Use our COMMON section.
598 (get_symbols): When report_plugin_symbols, show visibility too.
599 (init_non_ironly_hash): Move. Don't test non_ironly_hash.
600 (plugin_load_plugins): Save state of linker callbacks, set up to
601 call plugin_notice instead. Call init_non_ironly_hash here.
602 (plugin_call_all_symbols_read): Set plugin_multiple_definition in
604 (plugin_notice): Rewrite.
605 (plugin_multiple_definition): Make static, call original callback.
610 * ldlang.c (enum open_bfd_mode): New.
611 (open_input_bfds): Replace "force" param with "mode". Reload
612 archives for rescan. Update all callers.
613 (lang_process): Make another open_input_bfds pass for plugins.
618 * deffile.h (def_file_add_export): Add is_dup argument.
619 (def_file_add_import): Likewise.
620 * deffilep.y (are_names_equal): New helper.
621 (cmp_export_elem): New helper.
622 (find_export_in_list): Add search routine for exports.
623 (def_file_add_export): Check for duplicates.
624 (cmp_import_elem): New helper.
625 (find_import_in_list): Add search routine for imports.
626 (def_file_add_import): Check for duplicates.
627 (def_exports): Handle duplicates.
628 (def_imports): Likewise.
629 * pe-dll.c (process_def_file_and_drectve): Likewise.
630 (pe_implied_import_dll): Likewise.
634 * scripttempl/elf.sc (.exception_ranges): Add new section.
639 * configure.tgt: Add support for arm-*-gnueabihf targets.
643 * Makefile.in: Regenerate. Remove stray eavrtiny10 rules.
647 * configure.tgt: Remove stray ;;.
651 * configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
652 strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
653 thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
654 xscale-*-coff, xscale-*-elf): Remove targets.
658 * configure.tgt: Add elf_l1om to targ_extra_libpath for
661 * emulparams/elf_l1om.sh: Remove duplicates.
665 * emulparams/elf32_tic6x_le.sh (BIG_OUTPUT_FORMAT, EXTRA_EM_FILE,
666 GENERATE_SHLIB_SCRIPT): New defines.
667 (TEXT_START_ADDR): Define differently depending on target.
668 (.got): Redefine to include "*(.dsbt)".
669 (SDATA_START_SYMBOLS): Remove, replace with
670 (OTHER_GOT_SYMBOLS): New.
671 (OTHER_BSS_SECTIONS): Define only for ELF targets.
672 * emultempl/tic6xdsbt.em: New file.
673 * gen-doc.texi: Set C6X.
674 * ld.texinfo: Likewise.
675 (Options specific to C6X uClinux targets): New section.
680 * ldlex.l (lex_warn_invalid): Don't assume char is unsigned.
684 * configure.host: Update *-*-dragonfly* host entry.
685 * configure.tgt: Update *-*-dragonfly* target entry.
686 * ldlex.l: Prevent redefinition of YY_NO_UNPUT.
690 * configure.in: Check for windows.h, not Windows.h.
691 * configure: Regenerate.
692 * plugin.c: Include windows.h, not Windows.h.
696 * Makefile.in: Regenerate.
700 * lexsup.c (parse_args): Only set report_plugin_symbols if plugins
701 are enabled. Mark level as possibly unused.
705 * Makefile.am (ALL_EMULATION_SOURCES): Add AVR XMEGA architectures.
706 (eavrxmega?.c): Likewise.
707 * configure.tgt (targ_extra_emuls): Likewise.
708 * emulparams/avrxmega1.sh: New file.
709 * emulparams/avrxmega2.sh: Likewise.
710 * emulparams/avrxmega3.sh: Likewise.
711 * emulparams/avrxmega4.sh: Likewise.
712 * emulparams/avrxmega5.sh: Likewise.
713 * emulparams/avrxmega6.sh: Likewise.
714 * emulparams/avrxmega7.sh: Likewise.
715 * emultempl/avrelf.em (avr_elf_${EMULATION_NAME}_before_allocation):
716 Add avrxmega6, avrxmega7 to list of architectures for no stubs.
720 * scripttempl/avr.sc: Add fuse, lock, and signature memory regions.
724 * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check
729 * emultempl/armelf.em (arm_elf_before_allocation): Check dynobj
730 instead of dynamic_sections_created.
734 * plugin.c (get_symbols): Use wrapped lookup for undefined symbols.
738 * ldlang.c (lang_check): Don't run checks on dummy IR BFDs.
742 * ldlang.h (lang_input_statement_type): Add new 'claim_archive' flag,
743 wrapping both it and 'claim' flag in #ifdef ENABLE_PLUGINS.
744 * ldmain.c (add_archive_element): Set it if the member is claimed.
745 * ldlang.c (new_afile): Initialise claim_archive and claimed members.
746 (find_replacements_insert_point): New helper function.
747 (lang_process): After adding and opening replacement files passed
748 from plugin, splice them into correct place in statement list and
749 file chains to preserve critical link order.
750 (lang_list_insert_after): New helper function.
751 (lang_list_remove_tail): Likewise.
755 * plugin.c (IRONLY_SUFFIX): Revise to nicely human-readable form.
756 (IRONLY_SUFFIX_LEN): Delete.
757 (plugin_get_ir_dummy_bfd): Don't append IRONLY_SUFFIX.
758 (is_ir_dummy_bfd): Don't look for suffix; check claimed flag of
759 enclosing lang input statement instead.
763 * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Preserve
764 alignment of input sections when creating orphan output sections
765 during relocatable link.
766 * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
770 * ld.texinfo: Document --verbose[=NUMBER].
772 * lexsup.c (ld_options): Update --verbose.
773 (parse_args): Set report_plugin_symbols.
775 * plugin.c (report_plugin_symbols): New.
776 (get_symbols): Report plugin symbols if report_plugin_symbols
779 * plugin.h (report_plugin_symbols): New.
784 * testplug.c: Don't include "filenames.h".
785 (onclaim_file): Don't use filename_cmp.
789 * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp.
790 * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck):
792 (gld${EMULATION_NAME}_stat_needed): Likewise.
793 (gld${EMULATION_NAME}_check_needed): Likewise.
794 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise.
795 (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
796 * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise.
797 (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
798 * ldfile.c (ldfile_open_file): Likewise.
799 * ldlang.c (wild_sort): Likewise.
800 (lookup_name): Likewise.
801 (check_excluded_libs): Likewise.
802 * ldmisc.c (vfinfo): Likewise.
803 * pe-dll.c (libnamencmp): Likewise.
804 (auto_export): Likewise.
805 (pe_dll_generate_implib): Likewise.
806 * testplug.c (onclaim_file): Likewise.
811 * plugin.c (get_symbols): Don't check entry symbol here.
812 (init_non_ironly_hash): Add entry_symbol chain into
818 * plugin.c (get_symbols): Don't mark entry symbol IR only.
823 emulparams/hppalinux.sh (DATA_ADDR): Define.
824 (SHLIB_DATA_ADDR): Likewise.
828 * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to
833 * pe-dll.c (process_def_file_and_drectve): Don't strip
834 leading underscore from symbol by calling bfd_find_version_for_sym.
838 * ldlang.c (lang_vers_match): Declare a new c_sym, assign it to
839 the bfd_demangle of sym, change users of sym to c_sym when not
840 already demangling, and free when done. Change callers of
841 cplus_demangle to bfd_demangle.
845 * plugin.c (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy
846 .text section, use newer bfd_make_section variant. Error handling.
847 Correct setting of gp size.
848 (asymbol_from_plugin_symbol): Properly cast last arg of concat.
849 (message): Likewise for ACONCAT.
850 (get_symbols): Formatting.
854 * ldmain.c (remove_output): Rename to..
855 (ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup.
857 * plugin.c (plugin_call_cleanup): Make global.
858 (plugin_load_plugins): Don't register plugin_call_cleanup with xatexit.
859 * plugin.h (plugin_call_cleanup): Declare.
863 * configure: Regenerate.
867 * scripttempl/armbpabi.sc: Revert 2010-11-02 H.J. Lu.
868 * scripttempl/avr.sc: Likewise.
869 * scripttempl/elf32cr16.sc: Likewise.
870 * scripttempl/elf32crx.sc: Likewise.
871 * scripttempl/elf32msp430.sc: Likewise.
872 * scripttempl/elf32msp430_3.sc: Likewise.
873 * scripttempl/elf32sh-symbian.sc: Likewise.
874 * scripttempl/elf64hppa.sc: Likewise.
875 * scripttempl/elf_chaos.sc: Likewise.
876 * scripttempl/elfd10v.sc: Likewise.
877 * scripttempl/elfd30v.sc: Likewise.
878 * scripttempl/elfi370.sc: Likewise.
879 * scripttempl/elfm68hc11.sc: Likewise.
880 * scripttempl/elfm68hc12.sc: Likewise.
881 * scripttempl/elfxtensa.sc: Likewise.
882 * scripttempl/ip2k.sc: Likewise.
883 * scripttempl/iq2000.sc: Likewise.
884 * scripttempl/mep.sc: Likewise.
885 * scripttempl/mmo.sc: Likewise.
886 * scripttempl/v850.sc: Likewise.
887 * scripttempl/xstormy16.sc: Likewise.
888 * scripttempl/elf.sc: Revert 2010-10-29 H.J. Lu.
892 * Makefile.am (CXX): Removed.
894 * configure.in: Add AC_PROG_CXX.
896 * Makefile.in: Regenerated.
897 * configure: Likewise.
901 * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's
902 private data and GP size.
906 * ldexp.c (fold_binary): Set result section for arithmetic and
907 logical operations to NULL when both operands are in same section.
908 * ld.texinfo (Expression Section): Describe this.
912 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
913 attempt to put non-alloc orphans before debug sections, just place
919 * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.
923 * Makefile.am: Sort emulation rules.
924 (eelf32am33lin.c): Delete.
925 (ALL_EMULATION_SOURCES): Sort, add missing entries.
926 (ALL_64_EMULATION_SOURCES): Likewise.
927 * Makefile.in: Regenerate.
932 * ld.texinfo (Miscellaneous Commands): Describe LD_FEATURE.
933 (Expression Section): Update.
934 * ld.h (ld_config_type): Add sane_expr.
935 * ldgram.y (ifile_p1): Add LD_FEATURE.
936 * ldlex.l (LD_FEATYRE): New.
937 * ldemul.c (after_parse_default): Delete code handling ld_compatibility.
938 * ldexp.h (struct ldexp_control): Delete uses_defined.
939 * ldexp.c: Remove all uses of uses_defined.
940 (fold_name): Test config.sane_expr rather than ld_compatibility.
941 (exp_fold_tree_1): Likewise. Adjust handling of assignments
943 * ldlang.h (ld_compatibility): Delete.
944 (lang_ld_feature): Declare.
945 * ldlang.c (ld_compatibility): Delete.
946 (open_input_bfds): Only handle assignments for --defsym.
947 (lang_ld_feature): New function.
950 * ldexp.h (exp_assop): Delete.
951 (exp_assign, exp_defsym): Declare.
952 * ldexp.c (exp_assop): Make static, handle all assignment variations.
953 (exp_assign, exp_defsym): New functions.
954 (exp_provide): Use exp_assop.
955 * ldgram.y (defsym_expr): Use exp_defsym.
956 * ldctor.c, * ldgram.y, * ldlang.c, * mri.c, * emultempl/beos.em,
957 * emultempl/pe.em, * emultempl/pep.em, * emultempl/spuelf.em,
958 * emultempl/xtensaelf.em: Update exp_assop -> exp_assign.
963 * ldexp.h (enum phase_enum): Comment. Add exp_dataseg_done.
964 * ldexp.c (fold_unary <DATA_SEGMENT_END>): Rearrange code. Test
965 for exp_dataseg_done rather than expld.phase == lang_final_phase_enum
966 to detect when we've finished sizing sections.
967 (fold_binary <DATA_SEGMENT_ALIGN>): Likewise.
968 (fold_binary <DATA_SEGMENT_RELRO_END>): Likewise. Also test
969 that we are not inside an output section statement.
970 * ldlang.c (lang_size_sections): Set exp_dataseg_done on exit if
971 not exp_dataseg_relro_adjust or exp_dataseg_adjust. Don't set
972 lang_final_phase_enum here.
973 (lang_process): Set lang_final_phase_enum here.
977 * po/da.po: Updated Danish translation.
981 * ldlang.c (startup_file): Removed.
982 (lang_startup): Updated.
987 * plugin.c (get_symbols): Check if owner_sec->owner is NULL
988 before accessing its flags field.
992 * ldver.c (ldversion): Update copyright to 2011.
994 For older changes see ChangeLog-2010
1000 version-control: never