- * po/ja.po: Updated Japanese translation.
+ * configure.in (ALL_LINGUGAS): Add uk.
+ * configure: Regenerate.
+ * po/uk.po: New Ukranian translation.
+
+
+ * Makefile.am: Add AArch64.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add AArch64.
+ * emulparams/aarch64elf.sh: New file.
+ * emulparams/aarch64elfb.sh: New file.
+ * emulparams/aarch64linux.sh: New file.
+ * emulparams/aarch64linuxb.sh: New file.
+ * emultempl/aarch64elf.em: New file.
+ * NEWS: Mention the new feature.
-2011-10-20 Alan Modra <amodra@gmail.com>
+2012-08-09 Nick Clifton <nickc@redhat.com>
- PR ld/13287
- * plugin.c (plugin_should_reload): New function.
- * plugin.h (plugin_should_reload): Declare.
- * ldlang.c (open_input_bfds): Use above function.
+ * po/vi.po: Updated Vietnamese translation.
-2011-10-19 Alan Modra <amodra@gmail.com>
+2012-08-07 Daniel Green <venix1@gmail.com>
- PR ld/13254
- * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
- -z text, -z notext, -z textoff options for all targets having
- shared lib support.
+ * scripttempl/pe.sc (R_TLS): Add .tls$AAA and .tls$ZZZ.
+ * scripttempl/pep.sc (R_TLS): Add .tls$AAA and .tls$ZZZ.
-2011-10-15 Alan Modra <amodra@gmail.com>
+2012-08-07 Nick Clifton <nickc@redhat.com>
- * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Remove toc check.
+ * po/ja.po: Updated Japanese translation.
+
+ * emulparams/elf32bmip.sh: Make _gp hidden.
+ * emulparams/elf32bmipn32-defs.sh: Likewise.
+ * emulparams/elf32mipswindiss.sh: Likewise.
+ * scripttempl/mips.sc: Likewise.
+
+
+ * ldexp.h (etree_union): Add defsym member to the assign member
+ structure.
+ (exp_assign): Add hidden argument to prototype.
+ * ldexp.c (exp_fold_tree_1): Use the defsym member to handle
+ --defsym symbols.
+ (exp_assop): Add defsym argument, initialize the defsym member
+ of the assign structure.
+ (exp_assign): Handle hidden symbols.
+ (exp_defsym): Update to use the defsym argument to exp_assop.
+ (exp_provide): Update to handle the defsym argument to exp_assop.
+ * ldlex.l (HIDDEN): New token.
+ * ldgram.y (HIDDEN): Likewise.
+ (assignment, section): Update calls to exp_assign.
+ * ldctor.c (ldctor_build_sets): Likewise.
+ * mri.c (mri_format): Likewise.
+ * ldlang.c (lang_insert_orphan, lang_leave_overlay): Likewise.
+ (open_input_bfds): Remove --defsym symbols special case.
+ * emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Update
+ call to exp_assign.
+ * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
+ * emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
+ * emultempl/spuelf.em (spu_place_special_section): Likewise.
+ * emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets):
+ Likewise.
+ * ld.texinfo (Assigning Values to Symbols): Add HIDDEN.
+ (HIDDEN): New subsection.
- * pe-dll.c (generate_reloc): Don't emit a base reloc for an
- underlying BFD reloc that will be discarded in eh_frame data.
+
+ PR ld/14156
+ * ldlang.c (wild_sort): Properly handle by_none.
+
+ * scripttempl/elf.sc: Add SORT_NONE to .init and .fini sections.
+ * scripttempl/elf32msp430.sc: Likewise.
+ * scripttempl/elf32msp430_3.sc: Likewise.
+ * scripttempl/elfd10v.sc: Likewise.
+ * scripttempl/elfd30v.sc: Likewise.
+ * scripttempl/elfxtensa.sc: Likewise.
+ * po/ld.pot: Updated template.
* po/bg.po: Updated Bulgarian translation.
* po/es.po: Updated Spanish translation.
* po/fi.po: Updated Finnish translation.
- * po/fr.po: Updated French translation.
-
-
- * ldmain.c (main): Move code twiddling various config and link_info
- bits to..
- * lexsup.c (parse_args): ..here. Move plugin_load_plugins call
- into main.
- * plugin.c (set_tv_header): Test link_info.executable, not
- link_info.shared.
- (is_visible_from_outside): Likewise. Delete redundant
- is_ir_dummy_bfd check and "section" parameter.
-
-
- * emultempl/ppc64elf.em (ppc_add_stub_section): Align to 32 bytes.
-
-
- * emultempl/ppc64elf.em (ppc_create_output_section_statements): Add
- missing colon to error message.
- (ppc_before_allocation): Likewise.
- PR ld/13229
- * plugin.c (tv_header_tags): Add LDPT_GET_SYMBOLS_V2.
- (set_tv_header): Handle it. Adjust LDPT_GET_SYMBOLS. Return void.
- (get_symbols): Add def_ironly_exp param. Return that value for
- syms exported from shared libs.
- (get_symbols_v1, get_symbols_v2): New wrapper functions.
- * testplug.c: Update for above changes.
-
+ * configure.in (BFD_VERSION): Run bfd/configure --version and
+ parse the output of that.
+ * configure: Regenerate.
- * scripttempl/pe.sc (.text): Add support for
- .gnu.linkonce.t.* section.
- (.debug_info): Only use .gnu.linkonce.wi.* for
- relocating.
- * scripttempl/pep.sc: Likewise.
+ * NEWS: Add marker for 2.23.
- * NEWS: Add marker for 2.22.
+ PR ld/14058
+ * emultempl/avrelf.em (avr_elf_after_allocation): Call
+ elf32_avr_size_stubs with is_prealloc_run as TRUE.
- PR ld/13201
- * ldlang.h (lang_input_statement_type): Add "reload" bitfield.
- Clarify comments.
- * ldlang.c (new_afile): Init new field.
- (load_symbols): Don't call ldlang_add_file when reloading.
- (open_input_bfds): Reload as-needed libs during plugin rescan.
+ * emulparams/elf_s390.sh (IREL_IN_PLT): Define.
+ * emulparams/elf64_s390.sh (IREL_IN_PLT): Define.
- PR ld/12975
- * ldlang.c (lang_elf_version_info): Removed.
- (lang_register_vers_node): Replace lang_elf_version_info with
- link_info.version_info.
- (lang_add_vers_depend): Likewise.
- * pe-dll.c (process_def_file_and_drectve): Likewise.
- * emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.
- * ldlang.h (lang_elf_version_info): Removed.
+ PR ld/14357
+ * ldmain.c (trace_file_tries): Rename to 'verbose'.
+ * ldfile.c: Likewise.
+ * ldlang.c: Likewise.
+ * ldmain.h: Likewise.
+ * lexsup.c: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultemp/spuelf.em: Likewise.
+ * pe-dll.c (pe_dll_generate_implib): Only print creation message
+ in verbose mode.
- * plugin.c (is_visible_from_outside): Check if symbol is hidden
- by version script.
- * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
- Remove lang_elf_version_info.
+ PR ld/14156
+ * NEWS: Mention SORT_NONE.
+ * ld.h (sort_type): Add by_none.
- PR ld/13183
- * ldmain.c (add_archive_element): Support thin archive member
- for LTO.
+ * ld.texinfo: Document SORT_NONE.
+ * ldgram.y: Handle SORT_NONE.
- * po/es.po: Updated Spanish translation.
+ * ldlang.c (update_wild_statements): Handle by_none. Don't
+ sort .init/.fini sections.
+ * ldlex.l: Add SORT_NONE.
- * NEWS: Mention that --no-copy-dt-needed-entries is now the
- default.
+ * ld.texinfo: Replace __end_SECNAME with __stop_SECNAME.
- * ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE.
- * ld.texinfo (--copy-dt-needed-entries): Mention new default.
-
- PR ld/12762
- * ldlang.c (section_already_linked): Revert 2011-07-09 changes.
- * plugin.c: Likewise.
- (asymbol_from_plugin_symbol): Create linkonce section for syms
- with comdat_key.
+ * scripttempl/alphavms.sc: Add .debug_macro section.
+ * scripttempl/elf.sc: Likewise.
+ * scripttempl/elf64hppa.sc: Likewise.
+ * scripttempl/elf_chaos.sc: Likewise.
+ * scripttempl/elfxtensa.sc: Likewise.
+ * scripttempl/ia64vms.sc: Likewise.
+ * scripttempl/armbpabi.sc: Add .debug_pubtypes, .debug_ranges and
+ .debug_macro sections.
+ * scripttempl/avr.sc: Likewise.
+ * scripttempl/elf32cr16.sc: Likewise.
+ * scripttempl/elf32crx.sc: Likewise.
+ * scripttempl/elf32msp430.sc: Likewise.
+ * scripttempl/elf32msp430_3.sc: Likewise.
+ * scripttempl/elf32sh-symbian.sc: Likewise.
+ * scripttempl/elfd30v.sc: Likewise.
+ * scripttempl/elfi370.sc: Likewise.
+ * scripttempl/elfm68hc11.sc: Likewise.
+ * scripttempl/elfm68hc12.sc: Likewise.
+ * scripttempl/elfxgate.sc: Likewise.
+ * scripttempl/i386beos.sc: Likewise.
+ * scripttempl/i386go32.sc: Likewise.
+ * scripttempl/ip2k.sc: Likewise.
+ * scripttempl/iq2000.sc: Likewise.
+ * scripttempl/mep.sc: Likewise.
+ * scripttempl/mmo.sc: Likewise.
+ * scripttempl/v850.sc: Likewise.
+ * scripttempl/xstormy16.sc: Likewise.
- * emultempl/armelf.em (fix_arm1176): New variable.
- (arm_elf_create_output_section_statements): Pass
- fix_arm1176 option to bfd backend.
- (OPTION_FIX_ARM1176): New define.
- (OPTION_NO_FIX_ARM1176): Likewise.
- (PARSE_AND_LIST_LONGOPTS): Add new command line options.
- (PARSE_AND_LIST_OPTIONS): Likewise.
- (PARSE_AND_LIST_ARGS_CASES): Likewise.
- * ld.texinfo: Document new command line options.
+ * ldlang.c (update_wild_statements): Remove redundant statement.
- PR ld/13066
- * plugin.c (add_symbols): Revert 2011-08-05.
+ * ldlang.c (load_symbols): Close file and set flags.loaded
+ after parsing script file.
+ (open_input_bfds): Don't segv on closed script.
- * scripttempl/pep.sc: Add .debug_macro section.
- * scripttempl/pe.sc: Likewise.
+ * configure.tgt: Enable elf_k1om for x86_64-*-linux-gnux32.
+ Remove x32 in tdir_i386linux and tdir_elf_i386.
- PR ld/12762
- * plugin.c (add_symbols): Exclude comdat_key symbols from symbol
- table if already seen.
+ * NEWS: Mention __ehdr_start.
- * ldmain.c (main): Replace remove_output with ld_cleanup in
- comments.
+ * ldlang.c (lang_insert_orphan): Don't make __start_<sec> symbol
+ absolute, and remove unnecessary alignment.
- * emulparams/elf32ppc.sh: Source plt_unwind.sh.
- * emulparams/elf64ppc.sh: Likewise.
- * emultempl/ppc32elf.em (OPTION_NO_TLS_OPT): Adjust.
- (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
- PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
- existing values.
- * emultempl/ppc64elf.em (OPTION_STUBGROUP_SIZE): Adjust.
- (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
- PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
- existing values.
+ * ldlang.h (lang_output_section_statement_type): Add after_end field.
+ (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
+ (section_for_dot): Declare.
+ * ldlang.c (lang_size_sections_1): Correct comment.
+ (current_section): Move earlier.
+ (current_assign, prefer_next_section): New static vars.
+ (lang_do_assignments_1): Add found_end param. Detect _end
+ assignment to set found_end. Set os->after_end. Set above statics.
+ (lang_do_assignments): Adjust lang_do_assignments_1 call. Init
+ vars.
+ (section_for_dot): New function.
+ (lang_set_startof): Don't make an absolute symbol.
+ (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
+ * ldexp.c (new_rel_from_abs): Use section_for_dot.
+ * emultempl/lnk960.em (symbol_at_beginning_of): New function.
+ (symbol_at_end_of): Likewise.
+ (lnk960_after_allocation): Use them.
+ * scripttempl/elf.sc: Precede OTHER_GOT_SYMBOLS with . = .; and
+ likewise before __bss_start.
- * Makefile.am (ALL_64_EMULATIONS): Add eelf_k1om.o and
- eelf_k1om_fbsd.o
- (eelf_k1om.c): New.
- (eelf_k1om_fbsd.c): Likewise.
- * Makefile.in: Regenerated.
- * configure.tgt (targ64_extra_emuls): Add elf_k1om if elf_x86_64
- is supported. Add elf_k1om_fbsd if elf_x86_64_fbsd is supported.
- (targ_extra_emuls): Likewise.
+ * plugin.c (set_tv_header): Handle link_info.pie.
- * emulparams/elf_k1om.sh: New.
- * emulparams/elf_k1om_fbsd.sh: Likewise.
+ PR ld/14215
+ * ldexp.c (fold_name <SIZEOF, ALIGNOF>): Allow forward section
+ references.
+ * emulparams/elf32_x86_64.sh (SEPARATE_GOTPLT): Depend on size of
+ .got.plt.
+ * emulparams/elf32mb_linux.sh (SEPARATE_GOTPLT): Likewise.
+ * emulparams/elf32tilegx.sh (SEPARATE_GOTPLT): Likewise.
+ * emulparams/elf32tilepro.sh (SEPARATE_GOTPLT): Likewise.
+ * emulparams/elf64tilegx.sh (SEPARATE_GOTPLT): Likewise.
+ * emulparams/elf_i386.sh (SEPARATE_GOTPLT): Likewise.
+ * emulparams/elf_k1om.sh (SEPARATE_GOTPLT): Likewise.
+ * emulparams/elf_l1om.sh (SEPARATE_GOTPLT): Likewise.
+ * emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Likewise.
- * ld.h (args_type): New field print_output_format.
- * lexsup.c (enum option_values, ld_options, parse_args):
- Handle --print-output-format.
- * ldmain.c (main): Implement --print-output-format.
- * ld.texinfo (Options): Document it.
- * ldlang.c (lang_get_output_target): Don't return current_target
- when it's NULL.
+ PR 13697
+ * scripttempl/avr.sc (.data): Keep it.
- * Makefile.am (e*.c): Sort.
+ * Makefile.am (TEXINFO_TEX): Remove $(top_srcdir) prefix.
* Makefile.in: Regenerate.
-
- * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option,
- gld${EMULATION_NAME}_list_options): Don't condition -z relro
- and -z norelro on COMMONPAGESIZE being defined.
-
-
- * emultempl/ppc64elf.em (plt_static_chain): New var.
- (gld${EMULATION_NAME}_after_allocation): Pass to ppc64_elf_size_stubs.
- (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
- PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Handle
- --plt-static-chain and --no-plt-static-chain.
-
-
- * emultempl/elf32.em (gld${EMULATION_NAME}_add_options,
- gld${EMULATION_NAME}_handle_option, gld${EMULATION_NAME}_list_options):
- Provide --build-id, -z defs, -z muldefs, -z max-page-size,
- -z common-page-size, -z execstack, -z noexecstack for all targets.
- Add help for --exclude-libs.
- (OPTION_LD_GENERATED_UNWIND_INFO,
- OPTION_NO_LD_GENERATED_UNWIND_INFO): Move this..
- (gld${EMULATION_NAME}_handle_option): ..and code handling
- --ld-generated-unwind-info and --no-ld-generated-unwind-info..
- * emulparams/plt_unwind.sh: ..to here. New file. Add help.
- * emulparams/elf32_x86_64.sh: Include plt_unwind.sh.
- * emulparams/elf_i386.sh: Likewise.
- * emulparams/elf_i386_chaos.sh: Likewise.
- * emulparams/elf_i386_ldso.sh: Likewise.
- * emulparams/elf_l1om.sh: Likewise.
- * emulparams/elf_x86_64.sh: Likewise.
-
- * ld.h (section_flag_list): Add field to struct wildcard_spec.
- * ld.texinfo (INPUT_SECTION_FLAGS): Document.
- * ldgram.y (flag_info_list, flag_info): Add to union.
- (INPUT_SECTION_FLAGS): New token.
- (wildcard_spec): Initialize section_flag_list to NULL for
- each alternative.
- (sect_flag_list, sect_flags): New rules.
- (input_section_spec_no_keep): Add alternatives to recognize
- sect_flags.
- * ldlang.c (walk_wild_consider_section): Initialize
- section_flag_info field of the section struct.
- (lang_add_section): Check input section flags.
- (lang_add_wild): Initialize section_flag_list field of
- the statement struct.
- * ldlang.h (lang_input_statement_struct): Add section_flag_list field.
- (lang_wild_statement_struct): Likewise.
- * ldlex.l (INPUT_SECTION_FLAGS): New token.
- * mri.c (mri_draw_tree): Initialize section_flag_list to NULL.
- * NEWS: Announce INPUT_SECTION_FLAGS enhancement.
-
-
- PR ld/12942
- * ldlang.c (section_already_linked): Pass "struct already_linked *"
- to bfd_section_already_linked.
- (lang_process): Set link_info.loading_lto_outputs before
- loading LTO outputs.
- * plugin.c: Include "libbfd.h".
- (add_symbols): Call bfd_section_already_linked with comdat_key.
-
-
- * configure.tgt: Revert x32 change.
-
-
- PR ld/12570
- * emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO,
- OPTION_NO_LD_GENERATED_UNWIND_INFO): Define.
- (gld${EMULATION_NAME}_handle_option): Handle
- --ld-generated-unwind-info and --no-ld-generated-unwind-info.
- * ld.texinfo (--ld-generated-unwind-info,
- --no-ld-generated-unwind-info): Document.
-
-
- * configure.tgt: Support x32.
-
-
- * NEWS: Mention addition of TILEPRO and TIKE-Gx support.
-
-
- * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx.c and
- eelf32tilepro.c.
- (ALL_64_EMULATION_SOURCES): Add eelf64tilegx.c.
- (eelf32tilegx.c): New target.
- (eelf32tilepro.c): Likewise.
- (eelf64tilegx.c): Likewise.
- * Makefile.in: Regenerate.
- * configure.tgt: Handle tilegx-*-* and tilepro-*-*.
- * emulparams/elf32tilegx.sh: New file.
- * emulparams/elf64tilegx.sh: New file.
- * emulparams/elf32tilepro.sh: New file.
+ * ldlang.h (lang_output_section_statement_type): Rename
+ "section_relative_symbol" field to "update_dot".
+ * ldlang.c: Update all uses.
+ (strip_excluded_output_sections): Don't test update_dot_tree here..
+ (lang_leave_overlay): ..set update_dot here.
- * ldlang.c (sort_def_symbol, lang_one_common): Don't handle
- warning symbols here.
- * emultempl/pe.em (pr_sym): Remove redundant test.
- * emultempl/pep.em (pr_sym): Likewise.
+ * ldlex.h (enum option_values): Move from..
+ * lexsup.c: ..here.
+ * emultempl/ppc32elf.em: Include ldlex.h.
+ (PARSE_AND_LIST_ARGS_CASES): Disable optimisations when
+ --traditional-format.
+ * emultempl/ppc64elf.em: Likewise.
-2011-06-09 Nick Clifton <nickc@redhat.com>
+2012-05-25 Alan Modra <amodra@gmail.com>
- PR ld/12845
- * emultempl/mipself.em (mips_add_stub_section): Do not add stubs
- for sections that have been removed by garbage collection.
+ PR ld/13909
+ * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle
+ multiple .eh_frame sections attached to bfd.
-2011-06-08 Alan Modra <amodra@gmail.com>
+2012-05-23 Cary Coutant <ccoutant@google.com>
- * ldlang.c (lang_one_common): Handle warning symbols.
+ * scripttempl/armbpabi.sc: Match .data.rel.ro.* sections more
+ carefully. Fix typo where .rela.data.rel.ro matches
+ .rel.data.rel.ro.
+ * scripttempl/mep.sc: Likewise.
+ * scripttempl/elf.sc: Match .data.rel.ro.* sections more carefully.
+ * scripttempl/elf64hppa.sc: Likewise.
+ * scripttempl/elfxtensa.sc: Likewise.
- * configure.tgt: Accept any V850 architecture.
+ PR 14072
+ * configure.in: Add check that sysdep.h has been included before
+ any system header files.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * sysdep.h: Generate an error if included before config.h.
+
+
+ * emultempl/m68hc1xelf.em (hook_in_stub): Pass proper `bfd'
+ as the first argument for `bfd_get_section_name'.
+
+
+ PR ld/14069
+ * emultempl/elf32.em: Include *-*-gnu* targets in ld.so.conf
+ support.
+
+
+ * NEWS: Mention the support for S12X processors.
+
+
+ * ldlang.c (walk_wild_consider_section): Don't copy section_flag_list.
+ Pass it to callback.
+ (walk_wild_section_general): Pass section_flag_list to callback.
+ (lang_add_section): Add sflag_list parm.
+ Move out logic to keep / omit a section & call bfd_lookup_section_flags.
+ (output_section_callback_fast): Add sflag_list parm.
+ Add new parm to lang_add_section calls.
+ (output_section_callback): Likewise.
+ (check_section_callback): Add sflag_list parm.
+ (lang_place_orphans): Add new parm to lang_add_section calls.
+ (gc_section_callback): Add sflag_list parm.
+ (find_relro_section_callback): Likewise.
+ * ldlang.h (callback_t): Add flag_info parm.
+ (lang_add_section): Add sflag_list parm.
+ * emultempl/armelf.em (elf32_arm_add_stub_section):
+ Add lang_add_section parm.
+ * emultempl/beos.em (gld*_place_orphan): Likewise.
+ * emultempl/elf32.em (gld*_place_orphan): Likewise.
+ * emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise.
+ * emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise.
+ * emultempl/mipself.em (mips_add_stub_section): Likewise.
+ * emultempl/mmo.em (mmo_place_orphan): Likewise.
+ * emultempl/pe.em (gld_*_place_orphan): Likewise.
+ * emultempl/pep.em (gld_*_place_orphan): Likewise.
+ * emultempl/ppc64elf.em (ppc_add_stub_section): Likewise.
+ * emultempl/spuelf.em (spu_place_special_section): Likewise.
+ * emultempl/vms.em (vms_place_orphan): Likewise.
+
+
+ * NEWS: Mention PowerPC VLE port.
+
+
+ PR binutils/14028
+ * configure.in: Invoke ACX_HEADER_STRING.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * sysdep.h: If STRINGS_WITH_STRING is defined then include both
+ string.h and strings.h.
-2011-06-03 Nick Clifton <nickc@redhat.com>
+2012-05-08 Alan Modra <amodra@gmail.com>
- * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32am33lin.c
- Add rule to build eelf32am33lin.c
+ * Makefile.am (check_DEJAGNU): Export LC_ALL=C in place of other
+ LC and LANG environment vars.
* Makefile.in: Regenerate.
-
- * lexsup.c: Fix spelling mistake in comment.
- * scripttempl/epocpe.sc: Likewise.
- * scripttempl/i386beos.sc: Likewise.
- * scripttempl/mcorepe.sc: Likewise.
- * scripttempl/pe.sc: Likewise.
- * scripttempl/pep.sc: Likewise.
- * po/ld.pot: Regenerate.
-
-
- * scripttempl/v850.sc (_heap_start): Provide.
+ * pe-dll.c (udef_table): Make it static.
- * ldmisc.c (vfinfo): Add %H.
- * ldmain.c (reloc_overflow): Use %H rather than %C.
- (reloc_dangerous, unattached_reloc): Likewise.
+ * pe-dll.c (process_def_file_and_drectve): Use bfd_und_section_ptr.
+ (generate_reloc): Use bfd_abs_section_ptr.
- PR 12763
- * ldlang.c (lang_output_section_find_by_flags): Match orphan .sdata2
- like sections to existing .sdata2, and similarly for orphan TLS
- sections.
- * emultempl/elf32.em (place_orphan): Exclude .tbss from orphan_bss.
+ * configure.tgt: Support x86_64-*-linux-gnux32.
- PR ld/12759
- * emultempl/rxelf.em (ignore_lma): New variable.
- (rx_elf_create_output_section_statements): Pass the setiing of
- ignore_lma to bfd_elf32_rx_set_target_flags.
- (OPTION_IGNORE_LMA): Define.
- (OPTION_NO_IGNORE_LMA): Define.
- (PARSE_AND_LIST_LONGOPTS): Add ignore lma.
- (PARSE_AND_LIST_OPTIONS): Add ignore lma.
- (PARSE_AND_LIST_ARGS_CASES): Add ignore lma.
+ * Makefile.am (ALL_EMULATIONS): Added new emulation for XGATE
+ and XGATE (elf).
+ * Makefile.in: Rebuild.
+ * configure.tgt: Recognize XGATE.
+ * scripttempl/elfxgate.sc: New file, mostly cloned from m68hc12.
+ * emulparams/xgateelf: New emulation, mostly cloned from m68hc12.
+ * NEWS: Mention new support.
- PR ld/12760
- * ldmain.c (notice): Add "flags" and "string" param.
- * plugin.c (plugin_notice): Likewise. Handle indirect, warning
- and constructor syms.
+ Make bfd asserts cause linker errors.
+ * ldmain.c (default_bfd_assert_handler): New variable.
+ (ld_bfd_assert_handler): New function.
+ (main): Call bfd_set_assert_handler.
- * ldlang.c (print_assignment): Use the symbol's section if we
- use its value.
- * ldexp.c (exp_fold_tree_1): Skip self-assignment. Expand
- comment on copying symbol type.
+ * ldlang.c (size_input_section): Use sec_info_type rather than
+ usrdata->flags.just_syms.
+ * ldwrite.c (build_link_order): Likewise.
+ * emultempl/hppaelf.em (build_section_lists): Likewise.
+ * emultempl/ppc64elf.em (build_toc_list): Likewise.
+ * emultempl/armelf.em (build_section_lists): Likewise.
+ (after_allocation): Update for renamed sec_info_type value.
+ * emultempl/tic6xdsbt.em: Likewise.
- PR ld/12760
- * plugin.c (plugin_notice): Set u.undef.abfd for symbols made
- undefweak.
-
- * ldlang.c (lang_leave_output_section_statement): Don't copy
- previous lma_region if given address.
-
-
- (eelf32_tic6x_linux_be.c, eelf32_tic6x_linux_le.c,
- eelf32_tic6x_elf_be.c, eelf32_tic6x_elf_le.c): New rules.
- * Makefile.am (ALL_EMULATIONS): Add these files.
- (eelf32_tic6x_be.c, eelf32_tic6x_le.c): Depend on tic6xdsbt.em.
+ * configure.tgt (arm*-*-nacl*, arm*b-*-nacl*): Handle them.
+ * emulparams/armelf_nacl.sh: New file.
+ * emulparams/armelfb_nacl.sh: New file.
+ * Makefile.am (ALL_EMULATION_SOURCES): Add earmelf_nacl.c
+ and earmelfb_nacl.c here.
+ (earmelf_nacl.c, earmelfb_nacl.c): New targets.
* Makefile.in: Regenerated.
- * emultempl/tic6xdsbt.em (is_tic6x_target): Allow more tic6x target
- vectors.
- * emulparams/elf32_tic6x_elf_be.sh: New file.
- * emulparams/elf32_tic6x_elf_le.sh: New file.
- * emulparams/elf32_tic6x_linux_be.sh: New file.
- * emulparams/elf32_tic6x_linux_le.sh: New file.
- * configure.tgt (tic6x-*-elf, tic6x-*-uclinux): New.
- (tic6x-*-*): Replaced by these.
-
-
- * configure.tgt: Add targets x86_64-*-pe and x86_64-*-pep.
-
-
- * emultempl/tic6xdsbt.em (merge_exidx_entries): New.
- (compare_output_sec_vma): New function.
- (gld${EMULATION_NAME}_after_allocation): New function.
- (OPTION_NO_MERGE_EXIDX_ENTRIES): Define.
- (PARSE_AND_LIST_OPTIONS): Add --no-merge-exidx-entries.
- (PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_MERGE_EXIDX_ENTRIES.
- (LDEMUL_AFTER_ALLOCATION): Set.
- * ld.texinfo: Document c6x --no-merge-exidx-entries.
-
-
- PR ld/12365
- * scripttempl/pe.sc (__rt_psrelocs_start): New symbol definition.
- (__rt_psrelocs_end): Likewise.
- (__rt_psrelocs_size): Likewise difference between the above.
- (__RUNTIME_PSEUDO_RELOC_LIST_END__): Move outside .rdata section
- immediately after end of pseudo-reloc data.
- (___RUNTIME_PSEUDO_RELOC_LIST_END___): Likewise.
- (__RUNTIME_PSEUDO_RELOC_LIST__): Move outside .rdata section and
- calculate backward from list end.
- (___RUNTIME_PSEUDO_RELOC_LIST___): Likewise.
- * scripttempl/pep.sc: Likewise.
-
-
- * scripttempl/alphavms.sc (CODE): Add *$CODE*.
-
-
- * emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Add
- LDEMUL_ADD_OPTIONS and LDEMUL_HANDLE_OPTION.
- * emultempl/vms.em (OPTION_IDENTIFICATION): New macro.
- (gld${EMULATION_NAME}_add_options): New function.
- (gld${EMULATION_NAME}_list_options): Ditto.
- (gld${EMULATION_NAME}_handle_option): Ditto.
- (LDEMUL_ADD_OPTIONS, LDEMUL_HANDLE_OPTION)
- (LDEMUL_LIST_OPTIONS): Define.
-
-
- PR ld/12726
- * ldexp.h (lang_phase_type): Add lang_assigning_phase_enum.
- * ldexp.c (exp_fold_tree_1): Correct assign to dot comment. Don't
- assign to dot when lang_assigning_phase_enum.
- * ldlang.h (lang_do_assignments): Update prototype.
- * ldlang.c (lang_do_assignments): Add phase parameter. Update all
- callers.
- * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update
- lang_do_assignments calls.
-
-
- PR ld/12614
- * emultempl/pe.em (_after_open): Correctly check whether symbol is
- in undef list.
-
-
- * scripttempl/pe.sc: Handle .eh_frame($|.)* sections.
- * scripttempl/pep.sc: Likewise.
-
-
- PR ld/12365
- PR ld/12696
- * ldmain.c (notice): Delete "name" param, add "h".
- * plugin.c (plugin_notice): Likewise. Set non_ir_ref. Handle
- redefinitions of IR symbols in real BFDs.
- (plugin_multiple_definition, plugin_multiple_common): Delete.
- (non_ironly_hash, init_non_ironly_hash): Delete.
- (is_visible_from_outside): Traverse entry_symbol chain.
- (get_symbols): Use non_ir_ref flag rather than hash lookup.
-
-
- * scripttempl/alphavms.sc: Add dwarf2 embedding marks.
-
-
- * emultempl/aix.em (_add_options): Ignore -bbigtoc switch.
-
-
- * ld.h (ld_config_type <hash_table_size>): Make it an unsigned long.
-
-
- PR ld/12365
- * ldfile.c (ldfile_try_open_bfd): Move code creating and switching
- to plugin IR BFD..
- * ldmain.c (add_archive_element): ..and similar code here..
- * plugin.c (plugin_maybe_claim): ..to here. New function.
- (plugin_call_claim_file): Make static.
- (asymbol_from_plugin_symbol): Set ELF st_shndx for common syms.
- (plugin_multiple_common): New function.
- (plugin_call_all_symbols_read): Hook in plugin_multiple_common.
- * plugin.h (plugin_call_claim_file): Don't declare.
- (plugin_maybe_claim): Declare.
-
-
- PR ld/12365
- * ldmain.c (multiple_definition): Take a bfd_link_hash_entry
- pointer arg rather than "name", "obfd", "osec", "oval". Add code
- removed from linker.c. Hack around xcofflink.c oddity in
- passing NULL nbfd.
- (multiple_common): Similarly.
- * plugin.c (orig_allow_multiple_defs): Delete.
- (plugin_call_all_symbols_read): Don't twiddle allow_multiple_definition.
- (plugin_multiple_definition): Update.
-
-
- * deffilep.y (def_aligncomm): Avoid duplets.
-
- * deffilep.y (def_pool_str): New type.
- (pool_strs): Local static.
- (def_pool_alloc): Local function.
- (def_pool_strdup): Likewise.
- (def_pool_free): Likewise.
- (opt_name): Replace xmalloc/xstrdup by
- def_pool_alloc/def_pool_strdup.
- (dot_name): Likewise.
- (anylang_id): Likewise.
- (def_lex): Likewise.
- (def_file_parse): Call def_pool_free on
- exit and cleanup directives elements.
- (def_file_add_directive): Call def_pool_free.
-
-
- * emulparams/elf32_tic6x_le.sh: Define OTHER_READONLY_SECTIONS
- for unwinding tables.
-
-
- PR ld/12365
- PR ld/12672
- * ldfile.c (ldfile_try_open_bfd): Don't attempt any plugin action
- when no_more_claiming.
- * ldmain.c (add_archive_element): Likewise.
- (multiple_definition): Remove plugin_multiple_definition call.
- (notice): Remove plugin_notice call.
- * ldlang.c (lang_list_insert_after, void lang_list_remove_tail): Move.
- Delete prototype.
- (plugin_insert): New static var.
- (open_input_bfds): Only rescan libs after plugin insert point.
- (lang_gc_sections): Omit plugin claimed files.
- (lang_process): Set plugin_insert. Only rescan when plugin adds
- objects.
- * plugin.h (no_more_claiming): Declare.
- (plugin_notice, plugin_multiple_definition): Don't declare.
- * plugin.c: Formatting.
- (orig_notice_all, orig_allow_multiple_defs, orig_callbacks,
- plugin_callbacks): New static vars.
- (no_more_claiming): Make global.
- (plugin_cached_allow_multiple_defs): Delete.
- (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section,
- use newer bfd_make_section variant. Make COMMON section too.
- Error handling. Correct setting of gp size.
- (asymbol_from_plugin_symbol): Properly cast last arg of concat.
- (message): Likewise for ACONCAT.
- (asymbol_from_plugin_symbol): Use our COMMON section.
- (get_symbols): When report_plugin_symbols, show visibility too.
- (init_non_ironly_hash): Move. Don't test non_ironly_hash.
- (plugin_load_plugins): Save state of linker callbacks, set up to
- call plugin_notice instead. Call init_non_ironly_hash here.
- (plugin_call_all_symbols_read): Set plugin_multiple_definition in
- plugin callbacks.
- (plugin_notice): Rewrite.
- (plugin_multiple_definition): Make static, call original callback.
-
-
- PR ld/12672
- * ldlang.c (enum open_bfd_mode): New.
- (open_input_bfds): Replace "force" param with "mode". Reload
- archives for rescan. Update all callers.
- (lang_process): Make another open_input_bfds pass for plugins.
-
-
- PR binutils/12658
- * deffile.h (def_file_add_export): Add is_dup argument.
- (def_file_add_import): Likewise.
- * deffilep.y (are_names_equal): New helper.
- (cmp_export_elem): New helper.
- (find_export_in_list): Add search routine for exports.
- (def_file_add_export): Check for duplicates.
- (cmp_import_elem): New helper.
- (find_import_in_list): Add search routine for imports.
- (def_file_add_import): Check for duplicates.
- (def_exports): Handle duplicates.
- (def_imports): Likewise.
- * pe-dll.c (process_def_file_and_drectve): Likewise.
- (pe_implied_import_dll): Likewise.
-
-
- * scripttempl/elf.sc (.exception_ranges): Add new section.
-
-
- PR ld/12643
- * configure.tgt: Add support for arm-*-gnueabihf targets.
-
-
- * Makefile.in: Regenerate. Remove stray eavrtiny10 rules.
-
-
- * configure.tgt: Remove stray ;;.
-
-
- * configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
- strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
- thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
- xscale-*-coff, xscale-*-elf): Remove targets.
-
-
- * configure.tgt: Add elf_l1om to targ_extra_libpath for
- x86_64-*-linux-*.
-
- * emulparams/elf_l1om.sh: Remove duplicates.
-
-
- * emulparams/elf32_tic6x_le.sh (BIG_OUTPUT_FORMAT, EXTRA_EM_FILE,
- GENERATE_SHLIB_SCRIPT): New defines.
- (TEXT_START_ADDR): Define differently depending on target.
- (.got): Redefine to include "*(.dsbt)".
- (SDATA_START_SYMBOLS): Remove, replace with
- (OTHER_GOT_SYMBOLS): New.
- (OTHER_BSS_SECTIONS): Define only for ELF targets.
- * emultempl/tic6xdsbt.em: New file.
- * gen-doc.texi: Set C6X.
- * ld.texinfo: Likewise.
- (Options specific to C6X uClinux targets): New section.
-
-
- PR ld/12613
- * ldlex.l (lex_warn_invalid): Don't assume char is unsigned.
-
-
- * configure.host: Update *-*-dragonfly* host entry.
- * configure.tgt: Update *-*-dragonfly* target entry.
- * ldlex.l: Prevent redefinition of YY_NO_UNPUT.
-
- * configure.in: Check for windows.h, not Windows.h.
- * configure: Regenerate.
- * plugin.c: Include windows.h, not Windows.h.
-
+ * scripttempl/ia64vms.sc: New file.
+ * emultempl/vms.em (_before_parse): Support for ia64.
+ (elf64-ia64-vms): New fragment for ia64.
+ * emulparams/elf64_ia64_vms.sh: New file.
+ * configure.tgt (ia64-*-*vms*): Add.
+ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64_ia64_vms.c
+ (eelf64_ia64_vms.c): New rule.
* Makefile.in: Regenerate.
-
- * lexsup.c (parse_args): Only set report_plugin_symbols if plugins
- are enabled. Mark level as possibly unused.
-
-
- * Makefile.am (ALL_EMULATION_SOURCES): Add AVR XMEGA architectures.
- (eavrxmega?.c): Likewise.
- * configure.tgt (targ_extra_emuls): Likewise.
- * emulparams/avrxmega1.sh: New file.
- * emulparams/avrxmega2.sh: Likewise.
- * emulparams/avrxmega3.sh: Likewise.
- * emulparams/avrxmega4.sh: Likewise.
- * emulparams/avrxmega5.sh: Likewise.
- * emulparams/avrxmega6.sh: Likewise.
- * emulparams/avrxmega7.sh: Likewise.
- * emultempl/avrelf.em (avr_elf_${EMULATION_NAME}_before_allocation):
- Add avrxmega6, avrxmega7 to list of architectures for no stubs.
-
-
- * scripttempl/avr.sc: Add fuse, lock, and signature memory regions.
-
-
- * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check
- eh->target_internal.
-
-
- * emultempl/armelf.em (arm_elf_before_allocation): Check dynobj
- instead of dynamic_sections_created.
-
-
- * plugin.c (get_symbols): Use wrapped lookup for undefined symbols.
-
-
- * ldlang.c (lang_check): Don't run checks on dummy IR BFDs.
-
-
- * ldlang.h (lang_input_statement_type): Add new 'claim_archive' flag,
- wrapping both it and 'claim' flag in #ifdef ENABLE_PLUGINS.
- * ldmain.c (add_archive_element): Set it if the member is claimed.
- * ldlang.c (new_afile): Initialise claim_archive and claimed members.
- (find_replacements_insert_point): New helper function.
- (lang_process): After adding and opening replacement files passed
- from plugin, splice them into correct place in statement list and
- file chains to preserve critical link order.
- (lang_list_insert_after): New helper function.
- (lang_list_remove_tail): Likewise.
-
-
- * plugin.c (IRONLY_SUFFIX): Revise to nicely human-readable form.
- (IRONLY_SUFFIX_LEN): Delete.
- (plugin_get_ir_dummy_bfd): Don't append IRONLY_SUFFIX.
- (is_ir_dummy_bfd): Don't look for suffix; check claimed flag of
- enclosing lang input statement instead.
-
-
- * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Preserve
- alignment of input sections when creating orphan output sections
- during relocatable link.
- * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
-
-
- * ld.texinfo: Document --verbose[=NUMBER].
-
- * lexsup.c (ld_options): Update --verbose.
- (parse_args): Set report_plugin_symbols.
-
- * plugin.c (report_plugin_symbols): New.
- (get_symbols): Report plugin symbols if report_plugin_symbols
- is TRUE.
-
- * plugin.h (report_plugin_symbols): New.
-
-
- PR ld/12529
- * testplug.c: Don't include "filenames.h".
- (onclaim_file): Don't use filename_cmp.
-
-
- * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp.
- * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck):
- Likewise.
- (gld${EMULATION_NAME}_stat_needed): Likewise.
- (gld${EMULATION_NAME}_check_needed): Likewise.
- * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise.
- (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
- * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise.
- (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
- * ldfile.c (ldfile_open_file): Likewise.
- * ldlang.c (wild_sort): Likewise.
- (lookup_name): Likewise.
- (check_excluded_libs): Likewise.
- * ldmisc.c (vfinfo): Likewise.
- * pe-dll.c (libnamencmp): Likewise.
- (auto_export): Likewise.
- (pe_dll_generate_implib): Likewise.
- * testplug.c (onclaim_file): Likewise.
-
-
- PR ld/12507
- * plugin.c (get_symbols): Don't check entry symbol here.
- (init_non_ironly_hash): Add entry_symbol chain into
- non_ironly_hash.
-
-
- PR ld/12507
- * plugin.c (get_symbols): Don't mark entry symbol IR only.
-
-
- PR ld/12376
- emulparams/hppalinux.sh (DATA_ADDR): Define.
- (SHLIB_DATA_ADDR): Likewise.
-
-
- * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to
- x32 for x32.
-
-
- * pe-dll.c (process_def_file_and_drectve): Don't strip
- leading underscore from symbol by calling bfd_find_version_for_sym.
-
-
- * ldlang.c (lang_vers_match): Declare a new c_sym, assign it to
- the bfd_demangle of sym, change users of sym to c_sym when not
- already demangling, and free when done. Change callers of
- cplus_demangle to bfd_demangle.
-
-
- * plugin.c (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy
- .text section, use newer bfd_make_section variant. Error handling.
- Correct setting of gp size.
- (asymbol_from_plugin_symbol): Properly cast last arg of concat.
- (message): Likewise for ACONCAT.
- (get_symbols): Formatting.
-
-
- * ldmain.c (remove_output): Rename to..
- (ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup.
- (main): Adjust.
- * plugin.c (plugin_call_cleanup): Make global.
- (plugin_load_plugins): Don't register plugin_call_cleanup with xatexit.
- * plugin.h (plugin_call_cleanup): Declare.
-
+ * configure.in (AC_CHECK_HEADERS): Add locale.h.
+ * config.in: Regenerate.
* configure: Regenerate.
-2011-02-10 Alan Modra <amodra@gmail.com>
+2012-04-05 Nick Clifton <nickc@redhat.com>
- * scripttempl/armbpabi.sc: Revert 2010-11-02 H.J. Lu.
- * scripttempl/avr.sc: Likewise.
- * scripttempl/elf32cr16.sc: Likewise.
- * scripttempl/elf32crx.sc: Likewise.
- * scripttempl/elf32msp430.sc: Likewise.
- * scripttempl/elf32msp430_3.sc: Likewise.
- * scripttempl/elf32sh-symbian.sc: Likewise.
- * scripttempl/elf64hppa.sc: Likewise.
- * scripttempl/elf_chaos.sc: Likewise.
- * scripttempl/elfd10v.sc: Likewise.
- * scripttempl/elfd30v.sc: Likewise.
- * scripttempl/elfi370.sc: Likewise.
- * scripttempl/elfm68hc11.sc: Likewise.
- * scripttempl/elfm68hc12.sc: Likewise.
- * scripttempl/elfxtensa.sc: Likewise.
- * scripttempl/ip2k.sc: Likewise.
- * scripttempl/iq2000.sc: Likewise.
- * scripttempl/mep.sc: Likewise.
- * scripttempl/mmo.sc: Likewise.
- * scripttempl/v850.sc: Likewise.
- * scripttempl/xstormy16.sc: Likewise.
- * scripttempl/elf.sc: Revert 2010-10-29 H.J. Lu.
-
+ * configure.in (AC_CHECK_FUNCS): Add setlocale.
+ (AM_LC_MESSAGES): Add.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
- * Makefile.am (CXX): Removed.
+
+ * configure.tgt (i[3-7]86-*-nacl*, x86_64-*-nacl*): Handle them.
+ * emulparams/elf_nacl.sh: New file.
+ * emulparams/elf_i386_nacl.sh: New file.
+ * emulparams/elf32_x86_64_nacl.sh: New file.
+ * emulparams/elf_x86_64_nacl.sh: New file.
+ * Makefile.am (ALL_EMULATION_SOURCES): Add eelf_i386_nacl.c here.
+ (ALL_64_EMULATION_SOURCES): Add eelf32_x86_64_nacl.c and
+ eelf_x86_64_nacl.c here.
+ (eelf_i386_nacl.c, eelf32_x86_64_nacl.c, eelf_x86_64_nacl.c):
+ New targets.
+ * Makefile.in: Regenerated.
- * configure.in: Add AC_PROG_CXX.
+ * scripttempl/elf.sc: Handle SEPARATE_CODE cases.
+
+
+ * ldmisc.c (vfinfo): Assign new local str to fmt. Delete
+ putc call. If str and fmt are different, call fwrite on
+ the difference.
+
+
+ * po/vi.po: Updated Vietnamese translation.
+
+
+ * configure.in: Set want64 on a 64-bit host regardless of
+ --enable-targets=all.
+ * configure: Regenerated.
+
+
+ * lexsup.c (parse_args): Add a missing '\n'.
+
+
+ * ldemul.c (before_allocation_default): Revert last change.
+ * ldlang.c (lang_add_section): Likewise.
+ (strip_excluded_output_sections): Don't strip output sections with
+ user input sections when emitrelocations, unless all are SEC_EXCLUDE.
+
+
+ * ldemul.c (before_allocation_default): When emitrelocations,
+ don't strip sections..
+ * ldlang.c (lang_add_section): ..and don't set up map_head, map_tail.
+
+
+ * pe-dll.c (found_sym): New static variable.
+ (undef_count): Likewise.
+ (key_value): New structure.
+ (undef_sort_cmp): Compare routine for qsort/bsearch.
+ (pe_find_cdecl_alias_match): Add new argument.
+ (pe_undef_alias_cdecl_match): Removed.
+ (pe_undef_count): New helper routine.
+ (pe_create_undef_table): Likewise.
+ (pe_process_import_defs): Use pe_create_undef_table and
+ new pe_undef_alias_cdecl_match function.
+
+
+ PR ld/13839
+ * ldexp.c (fold_name): Ignore undefined symbols when assigning to
+ dot in mark phase.
+ (exp_fold_tree_1): Evaluate assignment to dot expressions even when
+ discarding result, for side effects. Fix typo in error message.
+
+
+ * ldexp.c (exp_print_tree): Special case for SEGMENT_START.
+ (exp_print_token): Constify.
+
+
+ PR ld/10340
+ * ldfile.c (is_sysrooted_pathname): Remove notsame param.
+ (ldfile_add_library_path): Don't set sysrooted flag.
+ (ldfile_open_file_search): Likewise, and don't copy them.
+ (try_open): Delete exten and code handling such. Add sysrooted
+ param and return whether path is in sysroot.
+ (ldfile_find_command_file): Delete extend param. Add sysrooted
+ param. Rename local var. Update try_open calls.
+ (ldfile_open_command_file_1): Pass sysrooted to lex_push_file.
+ * ldfile.h (search_dirs_type): Remove sysrooted field.
+ * ldlang.c (new_afile): Always set sysrooted from input_flags.
+ (load_symbols): Don't set input_flags.sysrooted.
+ * ldlang.h (struct lang_input_statement_flags): Revise sysrooted
+ comment.
+ * ldlex.h (lex_push_file): Update prototype.
+ * ldlex.l (sysrooted_stack): New array.
+ (EOF): Pop input_flags.sysrooted.
+ (lex_push_file): Add sysrooted param. Save and set
+ input_flags.sysrooted.
+
+
+ * ldlang.h (struct lang_input_statement_flags): New, extract from..
+ (lang_input_statement_type): ..here. New field "flags".
+ (input_flags): Declare.
+ (missing_file): Delete.
+ * ldmain.h (whole_archive): Delete.
+ (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
+ * ld.h (ld_config_type <dynamic_link>): Delete.
+ * ldmain.c (whole_archive): Delete.
+ (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
+ * ldlang.c (missing_file, ldlang_sysrooted_script): Delete.
+ (input_flags): New variable. Replace all uses of config.dynamic_link,
+ missing_file, ldlang_sysrooted_script, whole_archive,
+ add_DT_NEEDED_for_regular and add_DT_NEEDED_for_dynamic with fields
+ from here.
+ * ldfile.c: Likewise.
+ * ldgram.y: Likewise.
+ * ldmain.c: Likewise.
+ * ldwrite.c: Likewise.
+ * lexsup.c: Likewise.
+ * plugin.c: Likewise.
+ * emultempl/aix.em: Likewise.
+ * emultempl/armelf.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/hppaelf.em: Likewise.
+ * emultempl/linux.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/pep.em: Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/scoreelf.em: Likewise.
+ * emultempl/spuelf.em: Likewise.
+ * emultempl/sunos.em: Likewise.
+ * emultempl/vms.em: Likewise.
+ * ldlang.c (new_afile): Use memset to init zero fields.
+ (load_symbols): Simplify save and restore of flags around command
+ file processing.
+ * ldfile.c (is_sysrooted_pathname): Tidy.
+
+
+ * configure.tgt (mips64*el-*-freebsd*, mips64*-*-freebsd*)
+ (mips*el-*-freebsd*, mips*-*-freebsd*): Correct triplets by
+ replacing trailing "-*" with "*".
+
+
+ * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx_be.c.
+ (ALL_64_EMULATION_SOURCES): Add eelf64tilegx_be.c.
+ (eelf32tilegx_be.c): Add rule to build this file.
+ (eelf64tilegx_be.c): Ditto.
+ * Makefile.in: Regenerate.
+ * configure.tgt (tilegx-*-*): Support big endian.
+ (tilegxbe-*-*): New.
+ * emulparams/elf32tilegx.sh (OUTPUT_FORMAT): Rename.
+ (BIG_OUTPUT_FORMAT): Define.
+ (LITTLE_OUTPUT_FORMAT): Define.
+ * emulparams/elf32tilegx_be.sh: New.
+ * emulparams/elf64tilegx.sh (OUTPUT_FORMAT): Rename.
+ (BIG_OUTPUT_FORMAT): Define.
+ (LITTLE_OUTPUT_FORMAT): Define.
+ * emulparams/elf64tilegx_be.sh: New.
+
+
+ PR binutils/13710
+ * deffilep.y (keyword_as_name): Disable LIBRARY
+ keyword.
+
+
+ PR ld/13683
+ * ldlang.c (lang_process): Rerun lang_do_assignments before
+ starting garbage collection.
+ * ldexp.c (fold_name): Generate a reloc for defined symbols
+ found without an associated output section during the mark phase.
+ (exp_fold_tree_1): Continue processing an expression, even if we
+ are unable to fold it, if we are in the first two evaluation
+ phases.
+ * ldexp.h (enum lang_phase_type): Add descriptions of the phases.
+
+
+ * deffilep.y (cmp_import_elem): Sort first by module name.
+ * pe-dll.c (process_def_file_and_drectve): Free strings
+ from removed export-element.
+ (add_bfd_to_link): Optimize loop on import-elements and lower
+ allocated memory.
+ (pe_implied_import_dll): Pass NULL instead of 0 for pointer
+ argument.
+
+
+ * ldmisc.c (vfinfo <%S>): Use same type and avoid cast for
+ temporary variable node used for NULL argument.
+
+
+ PR ld/13343
+ * ld.h (parsing_defsym): Delete.
+ * ldexp.c (exp_intop, exp_bigintop, exp_relop): Set type.filename.
+ (fold_binary, fold_name, exp_fold_tree_1, exp_get_vma, exp_get_fill,
+ exp_get_abs_int): Add tree arg for %S in error messages. Don't
+ fudge lineno.
+ (exp_binop, exp_unop, exp_nameop, exp_assop, exp_assert): Copy
+ type.filename from sub-tree.
+ (exp_trinop): Likewise, and use "cond" rather than "lhs".
+ * ldexp.h (node_type): Add filename field to struct.
+ * ldfile.c (ldfile_input_filename): Delete. Remove all refs.
+ * ldfile.h (ldfile_input_filename): Delete.
+ * ldgram.y (phdr_type, phdr_qualifiers, yyerror): Add NULL arg for
+ %S in error messages.
+ * ldemul.c (syslib_default, hll_default): Likewise.
+ * ldlang.c (lang_memory_region_lookup, lang_memory_region_alias,
+ lang_get_regions, lang_new_phdr): Likewise.
+ (lang_size_sections_1): Pass addr_tree for %S.
+ * ldlex.h (lex_redirect): Update prototype.
+ (ldlex_filename): Declare.
+ * ldlex.l (<EOF>): Don't set ldfile_input_filename.
+ (lex_redirect): Add fake_filename and count params. Push
+ fake_filename to file_name_stack and init lineno from count.
+ (ldlex_filename): New function.
+ (lex_warn_invalid): Use above.
+ * ldmain.c (main): Update lex_redirect call.
+ * ldmisc.c (vfinfo <%S>): Take file name and line number from
+ etree_type arg, or use current if arg is NULL.
+ * lexsup.c (parsing_defsym): Delete.
+ (parse_args <OPTION_DEFSYM>): Update lex_redirect call.
+
+
+ * deffilep.y (find_export_in_list): Set is_indent for
+ first or last element, if identical.
+ (find_import_in_list): Likewise.
+
+
+ * deffilep.y (%union): New type id_const.
+ (opt_name2): New rule.
+ (keyword_as_name): New rule.
+ (dot_name): Replaced by opt_name2 rule.
+ (opt_name): Adjust rule.
+ (opt_equal_name): Likewise.
+
+
+ * pe-dll.c (auto_export): Use bsearch to speed up scan of exports
+ table.
+ (process_def_file_and_drectve): Maintain sorting of exports table
+ after stripping leading @ signs.
+
+
+ * ldgram.y (input_section_spec_no_keep): Don't ignore sect_flags.
+
+
+ PR ld/13616
+ * emulparams/elf32_x86_64.sh: Remove NOP.
+ * emulparams/elf_i386.sh: Likewise.
+ * emulparams/elf_i386_be.sh: Likewise.
+ * emulparams/elf_i386_ldso.sh: Likewise.
+ * emulparams/elf_i386_vxworks.sh: Likewise.
+ * emulparams/elf_k1om.sh: Likewise.
+ * emulparams/elf_l1om.sh: Likewise.
+ * emulparams/elf_x86_64.sh: Likewise.
- * Makefile.in: Regenerated.
- * configure: Likewise.
+ * ldlang.c (zero_fill): Initialized to 0.
+ * ldwrite.c (build_link_order): Set data size to linker odrder
+ size when they are the same.
- * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's
- private data and GP size.
+ * scripttempl/elf.sc: Don't specify fill if NOP is undefined.
- * ldexp.c (fold_binary): Set result section for arithmetic and
- logical operations to NULL when both operands are in same section.
- * ld.texinfo (Expression Section): Describe this.
+ * ldver.c (ldversion): Update copyright message year.
- * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
- attempt to put non-alloc orphans before debug sections, just place
- them after .comment.
+ PR ld/12758
+ * ldlang.c (lang_process): Don't reopen all files, just those
+ newly added by plugin.
-2011-01-14 J. Park <grassman@gmail.com>
+2012-01-11 Alan Modra <amodra@gmail.com>
- PR ld/12339
- * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.
+ * emultempl/ppc64elf.em (PARSE_AND_LIST_PROLOGUE,
+ PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
+ PARSE_AND_LIST_ARGS_CASES): Handle --{no-,}plt-thread-safe and
+ --{no-,}plt-align.
+ (plt_thread_safe, plt_stub_align): New vars.
+ (gld${EMULATION_NAME}_after_allocation): Pass them to
+ ppc64_elf_size_stubs. Align stub sections according to plt_stub_align.
+ * ld.texinfo: Document new command line options, and an old
+ undocumented option.
-2011-01-14 Alan Modra <amodra@gmail.com>
+2012-01-09 Roland McGrath <mcgrathr@google.com>
- * Makefile.am: Sort emulation rules.
- (eelf32am33lin.c): Delete.
- (ALL_EMULATION_SOURCES): Sort, add missing entries.
- (ALL_64_EMULATION_SOURCES): Likewise.
- * Makefile.in: Regenerate.
+ * configure.in: Use AM_ZLIB.
+ * configure: Regenerated.
-
- PR ld/12356
- * ld.texinfo (Miscellaneous Commands): Describe LD_FEATURE.
- (Expression Section): Update.
- * ld.h (ld_config_type): Add sane_expr.
- * ldgram.y (ifile_p1): Add LD_FEATURE.
- * ldlex.l (LD_FEATYRE): New.
- * ldemul.c (after_parse_default): Delete code handling ld_compatibility.
- * ldexp.h (struct ldexp_control): Delete uses_defined.
- * ldexp.c: Remove all uses of uses_defined.
- (fold_name): Test config.sane_expr rather than ld_compatibility.
- (exp_fold_tree_1): Likewise. Adjust handling of assignments
- during first phase.
- * ldlang.h (ld_compatibility): Delete.
- (lang_ld_feature): Declare.
- * ldlang.c (ld_compatibility): Delete.
- (open_input_bfds): Only handle assignments for --defsym.
- (lang_ld_feature): New function.
-
- PR ld/12356
- * ldexp.h (exp_assop): Delete.
- (exp_assign, exp_defsym): Declare.
- * ldexp.c (exp_assop): Make static, handle all assignment variations.
- (exp_assign, exp_defsym): New functions.
- (exp_provide): Use exp_assop.
- * ldgram.y (defsym_expr): Use exp_defsym.
- * ldctor.c, * ldgram.y, * ldlang.c, * mri.c, * emultempl/beos.em,
- * emultempl/pe.em, * emultempl/pep.em, * emultempl/spuelf.em,
- * emultempl/xtensaelf.em: Update exp_assop -> exp_assign.
-
-
- PR ld/12380
- * ldexp.h (enum phase_enum): Comment. Add exp_dataseg_done.
- * ldexp.c (fold_unary <DATA_SEGMENT_END>): Rearrange code. Test
- for exp_dataseg_done rather than expld.phase == lang_final_phase_enum
- to detect when we've finished sizing sections.
- (fold_binary <DATA_SEGMENT_ALIGN>): Likewise.
- (fold_binary <DATA_SEGMENT_RELRO_END>): Likewise. Also test
- that we are not inside an output section statement.
- * ldlang.c (lang_size_sections): Set exp_dataseg_done on exit if
- not exp_dataseg_relro_adjust or exp_dataseg_adjust. Don't set
- lang_final_phase_enum here.
- (lang_process): Set lang_final_phase_enum here.
-
-
- * po/da.po: Updated Danish translation.
-
-
- * ldlang.c (startup_file): Removed.
- (lang_startup): Updated.
-
-
- PR ld/12364
- * plugin.c (get_symbols): Check if owner_sec->owner is NULL
- before accessing its flags field.
-
-
- * ldver.c (ldversion): Update copyright to 2011.
-
-For older changes see ChangeLog-2010
+For older changes see ChangeLog-2011
\f
Local Variables:
mode: change-log