3 * emulparams/elf32bmip.sh (OTHER_SECTIONS): Put .mdebug.* and
4 .gcc_compiled_long* sections at address 0.
8 * po/it.po: New Italian translation.
9 * configure.in (ALL_LINGUAS): Add it.
10 * configure: Regenerate.
14 * emultempl/spuelf.em (spu_elf_relink): Use pex_one in place
19 * emultempl/armelf.em: Update copyright to 2010 and 2011.
20 (PARSE_AND_LIST_OPTIONS): Fix formatting.
24 * Makefile.am (ALL_64_EMULATION_SOURCES): Add powerpc64-*-freebsd
26 (eelf64ppc_fbsd.c): Add rules to build this file.
27 * Makefile.in: Regenerate.
28 * configure.tgt: Add target definition for powerpc64-*-freebsd*.
29 Adjust powerpc-*-freebsd*.
30 * emultempl/ppc64elf.em: Add a mechanism to override the default
31 value of 0 for plt_static_chain.
32 * emulparams/elf32ppc_fbsd.sh (OUTPUT_FORMAT): Override the default.
33 * emulparams/elf64ppc_fbsd.sh (OUTPUT_FORMAT): Likewise.
34 (DEFAULT_PLT_STATIC_CHAIN): Define to 1.
38 * ldlang.c (insert_pad): Change alignment_needed argument to
40 (size_input_section): Change alignment_needed varible to
42 * ldlang.h (lang_padding_statement_type): Change size field to
47 * scripttempl/aix.sc: Consider header size for .text and .data
52 * emultempl/aix.em (read_file_list): New function.
53 (_handle_option): Handle '-f'.
54 * NEWS: Mention this feature.
58 * configure.tgt (x86_64-*-solaris2*): Use $targ_extra_emuls for
63 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32rl78.c.
64 (+eelf32rl78.c): New rule.
65 * Makefile.in: Regenerate.
66 * configure.tgt: Add rl78-*-* case.
67 * emulparams/elf32rl78.sh: New file.
68 * NEWS: Mention addition of Renesas RL78 support.
72 * NEWS: Fix TILEPro capitalization.
76 * NEWS: Mention addition of Adapteva Epiphany support.
77 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32epiphany.c .
78 (eelf32epiphany.c): New rule.
79 * configure.tgt: Handle epiphany-*-elf.
80 * emulparams/elf32epiphany.sh: New file.
81 * Makefile.in: Regenerate.
82 * po/ld.pot: Regenerate.
86 * po/ja.po: Updated Japanese translation.
91 * plugin.c (plugin_should_reload): New function.
92 * plugin.h (plugin_should_reload): Declare.
93 * ldlang.c (open_input_bfds): Use above function.
98 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
99 -z text, -z notext, -z textoff options for all targets having
104 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Remove toc check.
108 * pe-dll.c (generate_reloc): Don't emit a base reloc for an
109 underlying BFD reloc that will be discarded in eh_frame data.
113 * po/bg.po: Updated Bulgarian translation.
114 * po/es.po: Updated Spanish translation.
115 * po/fi.po: Updated Finnish translation.
116 * po/fr.po: Updated French translation.
120 * ldmain.c (main): Move code twiddling various config and link_info
122 * lexsup.c (parse_args): ..here. Move plugin_load_plugins call
124 * plugin.c (set_tv_header): Test link_info.executable, not
126 (is_visible_from_outside): Likewise. Delete redundant
127 is_ir_dummy_bfd check and "section" parameter.
131 * emultempl/ppc64elf.em (ppc_add_stub_section): Align to 32 bytes.
135 * emultempl/ppc64elf.em (ppc_create_output_section_statements): Add
136 missing colon to error message.
137 (ppc_before_allocation): Likewise.
142 * plugin.c (tv_header_tags): Add LDPT_GET_SYMBOLS_V2.
143 (set_tv_header): Handle it. Adjust LDPT_GET_SYMBOLS. Return void.
144 (get_symbols): Add def_ironly_exp param. Return that value for
145 syms exported from shared libs.
146 (get_symbols_v1, get_symbols_v2): New wrapper functions.
147 * testplug.c: Update for above changes.
151 * scripttempl/pe.sc (.text): Add support for
152 .gnu.linkonce.t.* section.
153 (.debug_info): Only use .gnu.linkonce.wi.* for
155 * scripttempl/pep.sc: Likewise.
159 * NEWS: Add marker for 2.22.
164 * ldlang.h (lang_input_statement_type): Add "reload" bitfield.
166 * ldlang.c (new_afile): Init new field.
167 (load_symbols): Don't call ldlang_add_file when reloading.
168 (open_input_bfds): Reload as-needed libs during plugin rescan.
173 * ldlang.c (lang_elf_version_info): Removed.
174 (lang_register_vers_node): Replace lang_elf_version_info with
175 link_info.version_info.
176 (lang_add_vers_depend): Likewise.
177 * pe-dll.c (process_def_file_and_drectve): Likewise.
178 * emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.
180 * ldlang.h (lang_elf_version_info): Removed.
182 * plugin.c (is_visible_from_outside): Check if symbol is hidden
185 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
186 Remove lang_elf_version_info.
191 * ldmain.c (add_archive_element): Support thin archive member
196 * po/es.po: Updated Spanish translation.
200 * NEWS: Mention that --no-copy-dt-needed-entries is now the
205 * ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE.
206 * ld.texinfo (--copy-dt-needed-entries): Mention new default.
211 * ldlang.c (section_already_linked): Revert 2011-07-09 changes.
212 * plugin.c: Likewise.
213 (asymbol_from_plugin_symbol): Create linkonce section for syms
218 * emultempl/armelf.em (fix_arm1176): New variable.
219 (arm_elf_create_output_section_statements): Pass
220 fix_arm1176 option to bfd backend.
221 (OPTION_FIX_ARM1176): New define.
222 (OPTION_NO_FIX_ARM1176): Likewise.
223 (PARSE_AND_LIST_LONGOPTS): Add new command line options.
224 (PARSE_AND_LIST_OPTIONS): Likewise.
225 (PARSE_AND_LIST_ARGS_CASES): Likewise.
226 * ld.texinfo: Document new command line options.
231 * plugin.c (add_symbols): Revert 2011-08-05.
235 * scripttempl/pep.sc: Add .debug_macro section.
236 * scripttempl/pe.sc: Likewise.
241 * plugin.c (add_symbols): Exclude comdat_key symbols from symbol
242 table if already seen.
246 * ldmain.c (main): Replace remove_output with ld_cleanup in
251 * emulparams/elf32ppc.sh: Source plt_unwind.sh.
252 * emulparams/elf64ppc.sh: Likewise.
253 * emultempl/ppc32elf.em (OPTION_NO_TLS_OPT): Adjust.
254 (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
255 PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
257 * emultempl/ppc64elf.em (OPTION_STUBGROUP_SIZE): Adjust.
258 (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
259 PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
264 * Makefile.am (ALL_64_EMULATIONS): Add eelf_k1om.o and
267 (eelf_k1om_fbsd.c): Likewise.
268 * Makefile.in: Regenerated.
270 * configure.tgt (targ64_extra_emuls): Add elf_k1om if elf_x86_64
271 is supported. Add elf_k1om_fbsd if elf_x86_64_fbsd is supported.
272 (targ_extra_emuls): Likewise.
274 * emulparams/elf_k1om.sh: New.
275 * emulparams/elf_k1om_fbsd.sh: Likewise.
279 * ld.h (args_type): New field print_output_format.
280 * lexsup.c (enum option_values, ld_options, parse_args):
281 Handle --print-output-format.
282 * ldmain.c (main): Implement --print-output-format.
283 * ld.texinfo (Options): Document it.
285 * ldlang.c (lang_get_output_target): Don't return current_target
290 * Makefile.am (e*.c): Sort.
291 * Makefile.in: Regenerate.
295 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option,
296 gld${EMULATION_NAME}_list_options): Don't condition -z relro
297 and -z norelro on COMMONPAGESIZE being defined.
301 * emultempl/ppc64elf.em (plt_static_chain): New var.
302 (gld${EMULATION_NAME}_after_allocation): Pass to ppc64_elf_size_stubs.
303 (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
304 PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Handle
305 --plt-static-chain and --no-plt-static-chain.
309 * emultempl/elf32.em (gld${EMULATION_NAME}_add_options,
310 gld${EMULATION_NAME}_handle_option, gld${EMULATION_NAME}_list_options):
311 Provide --build-id, -z defs, -z muldefs, -z max-page-size,
312 -z common-page-size, -z execstack, -z noexecstack for all targets.
313 Add help for --exclude-libs.
314 (OPTION_LD_GENERATED_UNWIND_INFO,
315 OPTION_NO_LD_GENERATED_UNWIND_INFO): Move this..
316 (gld${EMULATION_NAME}_handle_option): ..and code handling
317 --ld-generated-unwind-info and --no-ld-generated-unwind-info..
318 * emulparams/plt_unwind.sh: ..to here. New file. Add help.
319 * emulparams/elf32_x86_64.sh: Include plt_unwind.sh.
320 * emulparams/elf_i386.sh: Likewise.
321 * emulparams/elf_i386_chaos.sh: Likewise.
322 * emulparams/elf_i386_ldso.sh: Likewise.
323 * emulparams/elf_l1om.sh: Likewise.
324 * emulparams/elf_x86_64.sh: Likewise.
328 * ld.h (section_flag_list): Add field to struct wildcard_spec.
329 * ld.texinfo (INPUT_SECTION_FLAGS): Document.
330 * ldgram.y (flag_info_list, flag_info): Add to union.
331 (INPUT_SECTION_FLAGS): New token.
332 (wildcard_spec): Initialize section_flag_list to NULL for
334 (sect_flag_list, sect_flags): New rules.
335 (input_section_spec_no_keep): Add alternatives to recognize
337 * ldlang.c (walk_wild_consider_section): Initialize
338 section_flag_info field of the section struct.
339 (lang_add_section): Check input section flags.
340 (lang_add_wild): Initialize section_flag_list field of
341 the statement struct.
342 * ldlang.h (lang_input_statement_struct): Add section_flag_list field.
343 (lang_wild_statement_struct): Likewise.
344 * ldlex.l (INPUT_SECTION_FLAGS): New token.
345 * mri.c (mri_draw_tree): Initialize section_flag_list to NULL.
346 * NEWS: Announce INPUT_SECTION_FLAGS enhancement.
351 * ldlang.c (section_already_linked): Pass "struct already_linked *"
352 to bfd_section_already_linked.
353 (lang_process): Set link_info.loading_lto_outputs before
355 * plugin.c: Include "libbfd.h".
356 (add_symbols): Call bfd_section_already_linked with comdat_key.
360 * configure.tgt: Revert x32 change.
365 * emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO,
366 OPTION_NO_LD_GENERATED_UNWIND_INFO): Define.
367 (gld${EMULATION_NAME}_handle_option): Handle
368 --ld-generated-unwind-info and --no-ld-generated-unwind-info.
369 * ld.texinfo (--ld-generated-unwind-info,
370 --no-ld-generated-unwind-info): Document.
374 * configure.tgt: Support x32.
378 * NEWS: Mention addition of TILEPRO and TIKE-Gx support.
382 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx.c and
384 (ALL_64_EMULATION_SOURCES): Add eelf64tilegx.c.
385 (eelf32tilegx.c): New target.
386 (eelf32tilepro.c): Likewise.
387 (eelf64tilegx.c): Likewise.
388 * Makefile.in: Regenerate.
389 * configure.tgt: Handle tilegx-*-* and tilepro-*-*.
390 * emulparams/elf32tilegx.sh: New file.
391 * emulparams/elf64tilegx.sh: New file.
392 * emulparams/elf32tilepro.sh: New file.
396 * ldlang.c (sort_def_symbol, lang_one_common): Don't handle
397 warning symbols here.
398 * emultempl/pe.em (pr_sym): Remove redundant test.
399 * emultempl/pep.em (pr_sym): Likewise.
404 * emultempl/mipself.em (mips_add_stub_section): Do not add stubs
405 for sections that have been removed by garbage collection.
409 * ldlang.c (lang_one_common): Handle warning symbols.
413 * configure.tgt: Accept any V850 architecture.
417 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32am33lin.c
418 Add rule to build eelf32am33lin.c
419 * Makefile.in: Regenerate.
423 * lexsup.c: Fix spelling mistake in comment.
424 * scripttempl/epocpe.sc: Likewise.
425 * scripttempl/i386beos.sc: Likewise.
426 * scripttempl/mcorepe.sc: Likewise.
427 * scripttempl/pe.sc: Likewise.
428 * scripttempl/pep.sc: Likewise.
429 * po/ld.pot: Regenerate.
433 * scripttempl/v850.sc (_heap_start): Provide.
437 * ldmisc.c (vfinfo): Add %H.
438 * ldmain.c (reloc_overflow): Use %H rather than %C.
439 (reloc_dangerous, unattached_reloc): Likewise.
444 * ldlang.c (lang_output_section_find_by_flags): Match orphan .sdata2
445 like sections to existing .sdata2, and similarly for orphan TLS
447 * emultempl/elf32.em (place_orphan): Exclude .tbss from orphan_bss.
452 * emultempl/rxelf.em (ignore_lma): New variable.
453 (rx_elf_create_output_section_statements): Pass the setiing of
454 ignore_lma to bfd_elf32_rx_set_target_flags.
455 (OPTION_IGNORE_LMA): Define.
456 (OPTION_NO_IGNORE_LMA): Define.
457 (PARSE_AND_LIST_LONGOPTS): Add ignore lma.
458 (PARSE_AND_LIST_OPTIONS): Add ignore lma.
459 (PARSE_AND_LIST_ARGS_CASES): Add ignore lma.
464 * ldmain.c (notice): Add "flags" and "string" param.
465 * plugin.c (plugin_notice): Likewise. Handle indirect, warning
466 and constructor syms.
470 * ldlang.c (print_assignment): Use the symbol's section if we
472 * ldexp.c (exp_fold_tree_1): Skip self-assignment. Expand
473 comment on copying symbol type.
478 * plugin.c (plugin_notice): Set u.undef.abfd for symbols made
483 * ldlang.c (lang_leave_output_section_statement): Don't copy
484 previous lma_region if given address.
488 (eelf32_tic6x_linux_be.c, eelf32_tic6x_linux_le.c,
489 eelf32_tic6x_elf_be.c, eelf32_tic6x_elf_le.c): New rules.
490 * Makefile.am (ALL_EMULATIONS): Add these files.
491 (eelf32_tic6x_be.c, eelf32_tic6x_le.c): Depend on tic6xdsbt.em.
492 * Makefile.in: Regenerated.
493 * emultempl/tic6xdsbt.em (is_tic6x_target): Allow more tic6x target
495 * emulparams/elf32_tic6x_elf_be.sh: New file.
496 * emulparams/elf32_tic6x_elf_le.sh: New file.
497 * emulparams/elf32_tic6x_linux_be.sh: New file.
498 * emulparams/elf32_tic6x_linux_le.sh: New file.
499 * configure.tgt (tic6x-*-elf, tic6x-*-uclinux): New.
500 (tic6x-*-*): Replaced by these.
504 * configure.tgt: Add targets x86_64-*-pe and x86_64-*-pep.
508 * emultempl/tic6xdsbt.em (merge_exidx_entries): New.
509 (compare_output_sec_vma): New function.
510 (gld${EMULATION_NAME}_after_allocation): New function.
511 (OPTION_NO_MERGE_EXIDX_ENTRIES): Define.
512 (PARSE_AND_LIST_OPTIONS): Add --no-merge-exidx-entries.
513 (PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_MERGE_EXIDX_ENTRIES.
514 (LDEMUL_AFTER_ALLOCATION): Set.
515 * ld.texinfo: Document c6x --no-merge-exidx-entries.
520 * scripttempl/pe.sc (__rt_psrelocs_start): New symbol definition.
521 (__rt_psrelocs_end): Likewise.
522 (__rt_psrelocs_size): Likewise difference between the above.
523 (__RUNTIME_PSEUDO_RELOC_LIST_END__): Move outside .rdata section
524 immediately after end of pseudo-reloc data.
525 (___RUNTIME_PSEUDO_RELOC_LIST_END___): Likewise.
526 (__RUNTIME_PSEUDO_RELOC_LIST__): Move outside .rdata section and
527 calculate backward from list end.
528 (___RUNTIME_PSEUDO_RELOC_LIST___): Likewise.
529 * scripttempl/pep.sc: Likewise.
533 * scripttempl/alphavms.sc (CODE): Add *$CODE*.
537 * emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Add
538 LDEMUL_ADD_OPTIONS and LDEMUL_HANDLE_OPTION.
539 * emultempl/vms.em (OPTION_IDENTIFICATION): New macro.
540 (gld${EMULATION_NAME}_add_options): New function.
541 (gld${EMULATION_NAME}_list_options): Ditto.
542 (gld${EMULATION_NAME}_handle_option): Ditto.
543 (LDEMUL_ADD_OPTIONS, LDEMUL_HANDLE_OPTION)
544 (LDEMUL_LIST_OPTIONS): Define.
549 * ldexp.h (lang_phase_type): Add lang_assigning_phase_enum.
550 * ldexp.c (exp_fold_tree_1): Correct assign to dot comment. Don't
551 assign to dot when lang_assigning_phase_enum.
552 * ldlang.h (lang_do_assignments): Update prototype.
553 * ldlang.c (lang_do_assignments): Add phase parameter. Update all
555 * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update
556 lang_do_assignments calls.
561 * emultempl/pe.em (_after_open): Correctly check whether symbol is
566 * scripttempl/pe.sc: Handle .eh_frame($|.)* sections.
567 * scripttempl/pep.sc: Likewise.
573 * ldmain.c (notice): Delete "name" param, add "h".
574 * plugin.c (plugin_notice): Likewise. Set non_ir_ref. Handle
575 redefinitions of IR symbols in real BFDs.
576 (plugin_multiple_definition, plugin_multiple_common): Delete.
577 (non_ironly_hash, init_non_ironly_hash): Delete.
578 (is_visible_from_outside): Traverse entry_symbol chain.
579 (get_symbols): Use non_ir_ref flag rather than hash lookup.
583 * scripttempl/alphavms.sc: Add dwarf2 embedding marks.
587 * emultempl/aix.em (_add_options): Ignore -bbigtoc switch.
591 * ld.h (ld_config_type <hash_table_size>): Make it an unsigned long.
596 * ldfile.c (ldfile_try_open_bfd): Move code creating and switching
598 * ldmain.c (add_archive_element): ..and similar code here..
599 * plugin.c (plugin_maybe_claim): ..to here. New function.
600 (plugin_call_claim_file): Make static.
601 (asymbol_from_plugin_symbol): Set ELF st_shndx for common syms.
602 (plugin_multiple_common): New function.
603 (plugin_call_all_symbols_read): Hook in plugin_multiple_common.
604 * plugin.h (plugin_call_claim_file): Don't declare.
605 (plugin_maybe_claim): Declare.
610 * ldmain.c (multiple_definition): Take a bfd_link_hash_entry
611 pointer arg rather than "name", "obfd", "osec", "oval". Add code
612 removed from linker.c. Hack around xcofflink.c oddity in
614 (multiple_common): Similarly.
615 * plugin.c (orig_allow_multiple_defs): Delete.
616 (plugin_call_all_symbols_read): Don't twiddle allow_multiple_definition.
617 (plugin_multiple_definition): Update.
621 * deffilep.y (def_aligncomm): Avoid duplets.
623 * deffilep.y (def_pool_str): New type.
624 (pool_strs): Local static.
625 (def_pool_alloc): Local function.
626 (def_pool_strdup): Likewise.
627 (def_pool_free): Likewise.
628 (opt_name): Replace xmalloc/xstrdup by
629 def_pool_alloc/def_pool_strdup.
630 (dot_name): Likewise.
631 (anylang_id): Likewise.
633 (def_file_parse): Call def_pool_free on
634 exit and cleanup directives elements.
635 (def_file_add_directive): Call def_pool_free.
639 * emulparams/elf32_tic6x_le.sh: Define OTHER_READONLY_SECTIONS
640 for unwinding tables.
646 * ldfile.c (ldfile_try_open_bfd): Don't attempt any plugin action
647 when no_more_claiming.
648 * ldmain.c (add_archive_element): Likewise.
649 (multiple_definition): Remove plugin_multiple_definition call.
650 (notice): Remove plugin_notice call.
651 * ldlang.c (lang_list_insert_after, void lang_list_remove_tail): Move.
653 (plugin_insert): New static var.
654 (open_input_bfds): Only rescan libs after plugin insert point.
655 (lang_gc_sections): Omit plugin claimed files.
656 (lang_process): Set plugin_insert. Only rescan when plugin adds
658 * plugin.h (no_more_claiming): Declare.
659 (plugin_notice, plugin_multiple_definition): Don't declare.
660 * plugin.c: Formatting.
661 (orig_notice_all, orig_allow_multiple_defs, orig_callbacks,
662 plugin_callbacks): New static vars.
663 (no_more_claiming): Make global.
664 (plugin_cached_allow_multiple_defs): Delete.
665 (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section,
666 use newer bfd_make_section variant. Make COMMON section too.
667 Error handling. Correct setting of gp size.
668 (asymbol_from_plugin_symbol): Properly cast last arg of concat.
669 (message): Likewise for ACONCAT.
670 (asymbol_from_plugin_symbol): Use our COMMON section.
671 (get_symbols): When report_plugin_symbols, show visibility too.
672 (init_non_ironly_hash): Move. Don't test non_ironly_hash.
673 (plugin_load_plugins): Save state of linker callbacks, set up to
674 call plugin_notice instead. Call init_non_ironly_hash here.
675 (plugin_call_all_symbols_read): Set plugin_multiple_definition in
677 (plugin_notice): Rewrite.
678 (plugin_multiple_definition): Make static, call original callback.
683 * ldlang.c (enum open_bfd_mode): New.
684 (open_input_bfds): Replace "force" param with "mode". Reload
685 archives for rescan. Update all callers.
686 (lang_process): Make another open_input_bfds pass for plugins.
691 * deffile.h (def_file_add_export): Add is_dup argument.
692 (def_file_add_import): Likewise.
693 * deffilep.y (are_names_equal): New helper.
694 (cmp_export_elem): New helper.
695 (find_export_in_list): Add search routine for exports.
696 (def_file_add_export): Check for duplicates.
697 (cmp_import_elem): New helper.
698 (find_import_in_list): Add search routine for imports.
699 (def_file_add_import): Check for duplicates.
700 (def_exports): Handle duplicates.
701 (def_imports): Likewise.
702 * pe-dll.c (process_def_file_and_drectve): Likewise.
703 (pe_implied_import_dll): Likewise.
707 * scripttempl/elf.sc (.exception_ranges): Add new section.
712 * configure.tgt: Add support for arm-*-gnueabihf targets.
716 * Makefile.in: Regenerate. Remove stray eavrtiny10 rules.
720 * configure.tgt: Remove stray ;;.
724 * configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
725 strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
726 thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
727 xscale-*-coff, xscale-*-elf): Remove targets.
731 * configure.tgt: Add elf_l1om to targ_extra_libpath for
734 * emulparams/elf_l1om.sh: Remove duplicates.
738 * emulparams/elf32_tic6x_le.sh (BIG_OUTPUT_FORMAT, EXTRA_EM_FILE,
739 GENERATE_SHLIB_SCRIPT): New defines.
740 (TEXT_START_ADDR): Define differently depending on target.
741 (.got): Redefine to include "*(.dsbt)".
742 (SDATA_START_SYMBOLS): Remove, replace with
743 (OTHER_GOT_SYMBOLS): New.
744 (OTHER_BSS_SECTIONS): Define only for ELF targets.
745 * emultempl/tic6xdsbt.em: New file.
746 * gen-doc.texi: Set C6X.
747 * ld.texinfo: Likewise.
748 (Options specific to C6X uClinux targets): New section.
753 * ldlex.l (lex_warn_invalid): Don't assume char is unsigned.
757 * configure.host: Update *-*-dragonfly* host entry.
758 * configure.tgt: Update *-*-dragonfly* target entry.
759 * ldlex.l: Prevent redefinition of YY_NO_UNPUT.
763 * configure.in: Check for windows.h, not Windows.h.
764 * configure: Regenerate.
765 * plugin.c: Include windows.h, not Windows.h.
769 * Makefile.in: Regenerate.
773 * lexsup.c (parse_args): Only set report_plugin_symbols if plugins
774 are enabled. Mark level as possibly unused.
778 * Makefile.am (ALL_EMULATION_SOURCES): Add AVR XMEGA architectures.
779 (eavrxmega?.c): Likewise.
780 * configure.tgt (targ_extra_emuls): Likewise.
781 * emulparams/avrxmega1.sh: New file.
782 * emulparams/avrxmega2.sh: Likewise.
783 * emulparams/avrxmega3.sh: Likewise.
784 * emulparams/avrxmega4.sh: Likewise.
785 * emulparams/avrxmega5.sh: Likewise.
786 * emulparams/avrxmega6.sh: Likewise.
787 * emulparams/avrxmega7.sh: Likewise.
788 * emultempl/avrelf.em (avr_elf_${EMULATION_NAME}_before_allocation):
789 Add avrxmega6, avrxmega7 to list of architectures for no stubs.
793 * scripttempl/avr.sc: Add fuse, lock, and signature memory regions.
797 * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check
802 * emultempl/armelf.em (arm_elf_before_allocation): Check dynobj
803 instead of dynamic_sections_created.
807 * plugin.c (get_symbols): Use wrapped lookup for undefined symbols.
811 * ldlang.c (lang_check): Don't run checks on dummy IR BFDs.
815 * ldlang.h (lang_input_statement_type): Add new 'claim_archive' flag,
816 wrapping both it and 'claim' flag in #ifdef ENABLE_PLUGINS.
817 * ldmain.c (add_archive_element): Set it if the member is claimed.
818 * ldlang.c (new_afile): Initialise claim_archive and claimed members.
819 (find_replacements_insert_point): New helper function.
820 (lang_process): After adding and opening replacement files passed
821 from plugin, splice them into correct place in statement list and
822 file chains to preserve critical link order.
823 (lang_list_insert_after): New helper function.
824 (lang_list_remove_tail): Likewise.
828 * plugin.c (IRONLY_SUFFIX): Revise to nicely human-readable form.
829 (IRONLY_SUFFIX_LEN): Delete.
830 (plugin_get_ir_dummy_bfd): Don't append IRONLY_SUFFIX.
831 (is_ir_dummy_bfd): Don't look for suffix; check claimed flag of
832 enclosing lang input statement instead.
836 * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Preserve
837 alignment of input sections when creating orphan output sections
838 during relocatable link.
839 * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
843 * ld.texinfo: Document --verbose[=NUMBER].
845 * lexsup.c (ld_options): Update --verbose.
846 (parse_args): Set report_plugin_symbols.
848 * plugin.c (report_plugin_symbols): New.
849 (get_symbols): Report plugin symbols if report_plugin_symbols
852 * plugin.h (report_plugin_symbols): New.
857 * testplug.c: Don't include "filenames.h".
858 (onclaim_file): Don't use filename_cmp.
862 * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp.
863 * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck):
865 (gld${EMULATION_NAME}_stat_needed): Likewise.
866 (gld${EMULATION_NAME}_check_needed): Likewise.
867 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise.
868 (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
869 * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise.
870 (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
871 * ldfile.c (ldfile_open_file): Likewise.
872 * ldlang.c (wild_sort): Likewise.
873 (lookup_name): Likewise.
874 (check_excluded_libs): Likewise.
875 * ldmisc.c (vfinfo): Likewise.
876 * pe-dll.c (libnamencmp): Likewise.
877 (auto_export): Likewise.
878 (pe_dll_generate_implib): Likewise.
879 * testplug.c (onclaim_file): Likewise.
884 * plugin.c (get_symbols): Don't check entry symbol here.
885 (init_non_ironly_hash): Add entry_symbol chain into
891 * plugin.c (get_symbols): Don't mark entry symbol IR only.
896 emulparams/hppalinux.sh (DATA_ADDR): Define.
897 (SHLIB_DATA_ADDR): Likewise.
901 * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to
906 * pe-dll.c (process_def_file_and_drectve): Don't strip
907 leading underscore from symbol by calling bfd_find_version_for_sym.
911 * ldlang.c (lang_vers_match): Declare a new c_sym, assign it to
912 the bfd_demangle of sym, change users of sym to c_sym when not
913 already demangling, and free when done. Change callers of
914 cplus_demangle to bfd_demangle.
918 * plugin.c (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy
919 .text section, use newer bfd_make_section variant. Error handling.
920 Correct setting of gp size.
921 (asymbol_from_plugin_symbol): Properly cast last arg of concat.
922 (message): Likewise for ACONCAT.
923 (get_symbols): Formatting.
927 * ldmain.c (remove_output): Rename to..
928 (ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup.
930 * plugin.c (plugin_call_cleanup): Make global.
931 (plugin_load_plugins): Don't register plugin_call_cleanup with xatexit.
932 * plugin.h (plugin_call_cleanup): Declare.
936 * configure: Regenerate.
940 * scripttempl/armbpabi.sc: Revert 2010-11-02 H.J. Lu.
941 * scripttempl/avr.sc: Likewise.
942 * scripttempl/elf32cr16.sc: Likewise.
943 * scripttempl/elf32crx.sc: Likewise.
944 * scripttempl/elf32msp430.sc: Likewise.
945 * scripttempl/elf32msp430_3.sc: Likewise.
946 * scripttempl/elf32sh-symbian.sc: Likewise.
947 * scripttempl/elf64hppa.sc: Likewise.
948 * scripttempl/elf_chaos.sc: Likewise.
949 * scripttempl/elfd10v.sc: Likewise.
950 * scripttempl/elfd30v.sc: Likewise.
951 * scripttempl/elfi370.sc: Likewise.
952 * scripttempl/elfm68hc11.sc: Likewise.
953 * scripttempl/elfm68hc12.sc: Likewise.
954 * scripttempl/elfxtensa.sc: Likewise.
955 * scripttempl/ip2k.sc: Likewise.
956 * scripttempl/iq2000.sc: Likewise.
957 * scripttempl/mep.sc: Likewise.
958 * scripttempl/mmo.sc: Likewise.
959 * scripttempl/v850.sc: Likewise.
960 * scripttempl/xstormy16.sc: Likewise.
961 * scripttempl/elf.sc: Revert 2010-10-29 H.J. Lu.
965 * Makefile.am (CXX): Removed.
967 * configure.in: Add AC_PROG_CXX.
969 * Makefile.in: Regenerated.
970 * configure: Likewise.
974 * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's
975 private data and GP size.
979 * ldexp.c (fold_binary): Set result section for arithmetic and
980 logical operations to NULL when both operands are in same section.
981 * ld.texinfo (Expression Section): Describe this.
985 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
986 attempt to put non-alloc orphans before debug sections, just place
992 * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.
996 * Makefile.am: Sort emulation rules.
997 (eelf32am33lin.c): Delete.
998 (ALL_EMULATION_SOURCES): Sort, add missing entries.
999 (ALL_64_EMULATION_SOURCES): Likewise.
1000 * Makefile.in: Regenerate.
1005 * ld.texinfo (Miscellaneous Commands): Describe LD_FEATURE.
1006 (Expression Section): Update.
1007 * ld.h (ld_config_type): Add sane_expr.
1008 * ldgram.y (ifile_p1): Add LD_FEATURE.
1009 * ldlex.l (LD_FEATYRE): New.
1010 * ldemul.c (after_parse_default): Delete code handling ld_compatibility.
1011 * ldexp.h (struct ldexp_control): Delete uses_defined.
1012 * ldexp.c: Remove all uses of uses_defined.
1013 (fold_name): Test config.sane_expr rather than ld_compatibility.
1014 (exp_fold_tree_1): Likewise. Adjust handling of assignments
1016 * ldlang.h (ld_compatibility): Delete.
1017 (lang_ld_feature): Declare.
1018 * ldlang.c (ld_compatibility): Delete.
1019 (open_input_bfds): Only handle assignments for --defsym.
1020 (lang_ld_feature): New function.
1023 * ldexp.h (exp_assop): Delete.
1024 (exp_assign, exp_defsym): Declare.
1025 * ldexp.c (exp_assop): Make static, handle all assignment variations.
1026 (exp_assign, exp_defsym): New functions.
1027 (exp_provide): Use exp_assop.
1028 * ldgram.y (defsym_expr): Use exp_defsym.
1029 * ldctor.c, * ldgram.y, * ldlang.c, * mri.c, * emultempl/beos.em,
1030 * emultempl/pe.em, * emultempl/pep.em, * emultempl/spuelf.em,
1031 * emultempl/xtensaelf.em: Update exp_assop -> exp_assign.
1036 * ldexp.h (enum phase_enum): Comment. Add exp_dataseg_done.
1037 * ldexp.c (fold_unary <DATA_SEGMENT_END>): Rearrange code. Test
1038 for exp_dataseg_done rather than expld.phase == lang_final_phase_enum
1039 to detect when we've finished sizing sections.
1040 (fold_binary <DATA_SEGMENT_ALIGN>): Likewise.
1041 (fold_binary <DATA_SEGMENT_RELRO_END>): Likewise. Also test
1042 that we are not inside an output section statement.
1043 * ldlang.c (lang_size_sections): Set exp_dataseg_done on exit if
1044 not exp_dataseg_relro_adjust or exp_dataseg_adjust. Don't set
1045 lang_final_phase_enum here.
1046 (lang_process): Set lang_final_phase_enum here.
1050 * po/da.po: Updated Danish translation.
1054 * ldlang.c (startup_file): Removed.
1055 (lang_startup): Updated.
1060 * plugin.c (get_symbols): Check if owner_sec->owner is NULL
1061 before accessing its flags field.
1065 * ldver.c (ldversion): Update copyright to 2011.
1067 For older changes see ChangeLog-2010
1069 Copyright (C) 2011 Free Software Foundation, Inc.
1071 Copying and distribution of this file, with or without modification,
1072 are permitted in any medium without royalty provided the copyright
1073 notice and this notice are preserved.
1079 version-control: never