2012-06-24 H.J. Lu * configure.tgt: Enable elf_k1om for x86_64-*-linux-gnux32. Remove x32 in tdir_i386linux and tdir_elf_i386. 2012-06-22 Roland McGrath * NEWS: Mention __ehdr_start. 2012-06-21 Alan Modra * ldlang.c (lang_insert_orphan): Don't make __start_ symbol absolute, and remove unnecessary alignment. 2012-06-16 Alan Modra * 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. 2012-06-14 H.J. Lu * plugin.c (set_tv_header): Handle link_info.pie. 2012-06-11 Alan Modra PR ld/14215 * ldexp.c (fold_name ): 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. 2012-06-07 Georg-Johann Lay PR 13697 * scripttempl/avr.sc (.data): Keep it. 2012-06-02 Andreas Schwab * Makefile.am (TEXINFO_TEX): Remove $(top_srcdir) prefix. * Makefile.in: Regenerate. 2012-05-30 Alan Modra * 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. 2012-05-26 Alan Modra * 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. 2012-05-25 Alan Modra PR ld/13909 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle multiple .eh_frame sections attached to bfd. 2012-05-23 Cary Coutant * 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. 2012-05-17 Daniel Richard G. Nick Clifton 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. 2012-05-16 Sergio Durigan Junior * emultempl/m68hc1xelf.em (hook_in_stub): Pass proper `bfd' as the first argument for `bfd_get_section_name'. 2012-05-16 Samuel Thibault PR ld/14069 * emultempl/elf32.em: Include *-*-gnu* targets in ld.so.conf support. 2012-05-15 James Murray * NEWS: Mention the support for S12X processors. 2012-05-14 James Lemke * 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. 2012-05-14 Catherine Moore * NEWS: Mention PowerPC VLE port. 2012-05-11 Daniel Richard G. 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. 2012-05-08 Alan Modra * Makefile.am (check_DEJAGNU): Export LC_ALL=C in place of other LC and LANG environment vars. * Makefile.in: Regenerate. 2012-05-07 Tristan Gingold * pe-dll.c (udef_table): Make it static. 2012-05-05 Alan Modra * pe-dll.c (process_def_file_and_drectve): Use bfd_und_section_ptr. (generate_reloc): Use bfd_abs_section_ptr. 2012-05-04 H.J. Lu * configure.tgt: Support x86_64-*-linux-gnux32. 2012-05-03 Sean Keys * 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. 2012-04-26 Hans-Peter Nilsson 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. 2012-04-24 Alan Modra * 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. 2012-04-12 Roland McGrath * 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. 2012-04-11 Tristan Gingold * 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. 2012-04-06 Roland McGrath * configure.in (AC_CHECK_HEADERS): Add locale.h. * config.in: Regenerate. * configure: Regenerate. 2012-04-05 Nick Clifton * configure.in (AC_CHECK_FUNCS): Add setlocale. (AM_LC_MESSAGES): Add. * aclocal.m4: Regenerate. * config.in: Regenerate. * configure: Regenerate. 2012-04-03 Roland McGrath * 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. * scripttempl/elf.sc: Handle SEPARATE_CODE cases. 2012-04-02 Mike Frysinger * ldmisc.c (vfinfo): Assign new local str to fmt. Delete putc call. If str and fmt are different, call fwrite on the difference. 2012-03-30 Nick Clifton * po/vi.po: Updated Vietnamese translation. 2012-03-27 Roland McGrath * configure.in: Set want64 on a 64-bit host regardless of --enable-targets=all. * configure: Regenerated. 2012-03-26 Tristan Gingold * lexsup.c (parse_args): Add a missing '\n'. 2012-03-25 Alan Modra * 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. 2012-03-23 Alan Modra * 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. 2012-03-14 Kai Tietz Pascal Obry * 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. 2012-03-14 Alan Modra 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. 2012-03-08 Tristan Gingold * ldexp.c (exp_print_tree): Special case for SEGMENT_START. (exp_print_token): Constify. 2012-03-08 Alan Modra 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. 2012-03-06 Alan Modra * 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 ): 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. 2012-03-05 Hans-Peter Nilsson * configure.tgt (mips64*el-*-freebsd*, mips64*-*-freebsd*) (mips*el-*-freebsd*, mips*-*-freebsd*): Correct triplets by replacing trailing "-*" with "*". 2012-02-25 Walter Lee * 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. 2012-02-24 Kai Tietz PR binutils/13710 * deffilep.y (keyword_as_name): Disable LIBRARY keyword. 2012-02-22 Alan Modra 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. 2012-02-19 Kai Tietz * 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. 2012-02-18 Hans-Peter Nilsson * ldmisc.c (vfinfo <%S>): Use same type and avoid cast for temporary variable node used for NULL argument. 2012-02-18 Alan Modra 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 (): 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 ): Update lex_redirect call. 2012-02-13 Kai Tietz * deffilep.y (find_export_in_list): Set is_indent for first or last element, if identical. (find_import_in_list): Likewise. 2012-02-11 Kai Tietz * 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. 2012-02-11 Pascal Obry * 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. 2012-02-09 Alan Modra * ldgram.y (input_section_spec_no_keep): Don't ignore sect_flags. 2012-01-31 H.J. Lu 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. * ldlang.c (zero_fill): Initialized to 0. * ldwrite.c (build_link_order): Set data size to linker odrder size when they are the same. * scripttempl/elf.sc: Don't specify fill if NOP is undefined. 2012-01-17 Alan Modra * ldver.c (ldversion): Update copyright message year. 2012-01-15 Alan Modra PR ld/12758 * ldlang.c (lang_process): Don't reopen all files, just those newly added by plugin. 2012-01-11 Alan Modra * 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. 2012-01-09 Roland McGrath * configure.in: Use AM_ZLIB. * configure: Regenerated. For older changes see ChangeLog-2011 Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: