2012-12-18 Roland McGrath <mcgrathr@google.com> * ld.texinfo (Options): Describe -Trodata-segment. * ldlex.h (enum option_values): Add OPTION_TRODATA_SEGMENT. * lexsup.c (ld_options, parse_args): Handle -Trodata-segment. * scripttempl/elf.sc (RODATA_ADDR, SHLIB_RODATA_ADDR): Wrap SEGMENT_START("rodata-segment", ...) + SIZEOF_HEADERS around the value. 2012-12-17 Nick Clifton <nickc@redhat.com> * MAINTAINERS: Add copyright notice. * Makefile.am: Likewise. * NEWS: Likewise. * README: Likewise. * configure.host: Likewise. * configure.in: Likewise. * gen-doc.texi: Likewise. * h8-doc.texi: Likewise. * ldlex-wrapper.c: Likewise. * emulparams/README: Likewise. * emultempl/README: Likewise. * scripttempl/README: Likewise. * Makefile.in: Regenerate. 2012-12-17 Alan Modra <amodra@gmail.com> PR ld/14962 * ldexp.h (struct ldexp_control): Add "assign_name". * ldexp.c (fold_name <NAME>): Compare and clear assign_name on match. (exp_fold_tree_1): Remove existing code testing for self assignment. Instead set and test expld.assign_name. * ldlang.c (scan_for_self_assignment): Delete. (print_assignment): Instead set and test expld.assign_name. 2012-12-11 Roland McGrath <mcgrathr@google.com> * emulparams/elf_nacl.sh (nacl_rodata_addr): New shell function. (RODATA_ADDR, SHLIB_RODATA_ADDR): Use it to base the calculation on SEGMENT_START("text-segment", ...) rather than ... alone. * Makefile.am (earmelf_nacl.c, earmelfb_nacl.c): Add missing dependency on $(srcdir)/emulparams/elf_nacl.sh. * Makefile.in: Regenerate. 2012-12-05 H.J. Lu <hongjiu.lu@intel.com> PR ld/14915 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Also check DT_NEEDED entries when creating shared object with --copy-dt-needed-entries. 2012-12-05 Leif Ekblad <leif@rdos.net> * configure.tgt: Add x86_64-*-rdos. 2012-12-03 H.J. Lu <hongjiu.lu@intel.com> PR ld/14904 * ldmain.c (main): Don't check plugin_load_plugins return. * lexsup.c (parse_args): Don't check plugin_opt_plugin return. * plugin.c (dlerror): New. Defined if HAVE_DLFCN_H isn't defined. (plugin_opt_plugin): Change return type to void. Stop on dlopen error and report error with dlerror (). (plugin_load_plugins): Change return type to void. Stop on dlsym error and report error with dlerror (). Don't use set_plugin_error. (plugin_call_cleanup): Issue an error for each plugin. * plugin.h (plugin_opt_plugin): Change return type to void. (plugin_load_plugins): Likewise. 2012-11-30 Joern Rennecke <joern.rennecke@embecosm.com> * scripttempl/epiphany_4x4.sc, emulparams/elf32epiphany_4x4.sh: Add. * emultempl/epiphanyelf_4x4.em: Likewise. * configure.tgt: Add elf32epiphany_4x4 support. * Makefile.am: Likewise. * Makefile.in: Regenerate. 2012-11-29 Maciej W. Rozycki <macro@codesourcery.com> * Makefile.in: Regenerate. 2012-11-27 Nick Clifton <nickc@redhat.com> PR ld/14776 * ld.texinfo: Fix spelling mistakes. 2012-11-26 Roland McGrath <mcgrathr@google.com> * emultempl/aarch64elf.em (gld${EMULATION_NAME}_before_parse): Copy last elf32.em here too. * emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Likewise. * emultempl/mmixelf.em (gld${EMULATION_NAME}_before_parse): Likewise. * emultempl/scoreelf.em (gld${EMULATION_NAME}_before_parse): Likewise. 2012-11-21 Roland McGrath <mcgrathr@google.com> * ld.h (ld_config_type): New flag member separate_code. * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set it based on $SEPARATE_CODE. * ldlang.c (ldlang_override_segment_assignment): If it's set, then always return TRUE when SEC_CODE differs between the sections. 2012-11-20 H.J. Lu <hongjiu.lu@intel.com> * ld.texinfo: Document "-z global". * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Support "-z global". (gld${EMULATION_NAME}_list_options): Likewise. 2012-11-15 Maxim Kuvyrkov <maxim@codesourcery.com> Port lib32 arrangement from Debian. * emulparams/elf_i386.sh: Include lib32 directories in library search path. 2012-11-15 Simon Baldwin <simonb@google.com> * ldmain.c (main): Add start_sbrk set to sbrk(0) on entry. On exit, compute data size as the delta between current sbrk(0) and start_sbrk. 2012-11-09 Nick Clifton <nickc@redhat.com> * emultempl/rxelf.em (no_flag_mismatch_warnings): Initialise to true. (PARSE_AND_LIST_LONGOPTS): Add flag-mismatch-warnings. (PARSE_AND_LIST_ARG_CASES): Add support for --flag-mismatch-warnings. * Makefile.am: (ALL_EMULATION_SOURCES): Add ev850_rh850.c. * Makefile.in: Regenerate. * configure.tgt (v850*-*-*): Make v850_rh850 the default emulation. Add vanilla v850 as an extra emulation. * emulparams/v850_rh850.sh: New file. * scripttempl/v850_rh850.sc: New file. 2012-11-09 Edgar E. Iglesias <edgar.iglesias@gmail.com> * Makefile.am: Add eelf32microblazeel.c and eelf32mbel_linux.c. * Makefile.in: Regenerated. * configure.tgt: Add microblazeel and set endian per target. * emulparams/elf32mb_linux.sh: Add OUTPUT_FORMAT. * emulparams/elf32microblaze.sh: Likewise. * emulparams/elf32mbel_linux.sh: New file. * emulparams/elf32microblazeel.sh: Likewise. 2012-11-09 H.J. Lu <hongjiu.lu@intel.com> * testplug.c (record_add_file): Remove trailing redundant `;'. 2012-11-05 Alan Modra <amodra@gmail.com> * configure.in: Apply 2012-09-10 change to config.in here. 2012-11-01 Nathan Sidwell <nathan@codesourcery.com> * emultempl/elf32.em: Print stacksize help. 2012-11-01 Alan Modra <amodra@gmail.com> * ldlang.c (insert_pad): Correct output section size calculation. (lang_size_sections_1): Likewise for lang_data_statement and lang_reloc_statement. 2012-10-29 Alan Modra <amodra@gmail.com> * configure.tgt (powerpcle-pe,winnt,cygwin): Add deffilep.o and pe-dll.o. 2012-10-24 H.J. Lu <hongjiu.lu@intel.com> * ld.h (command_line): Remove disable_target_specific_optimizations. (RELAXATION_DISABLED_BY_DEFAULT): Removed. (RELAXATION_DISABLED_BY_USER): Likewise. (RELAXATION_ENABLED): Likewise. (DISABLE_RELAXATION): Likewise. (ENABLE_RELAXATION): Likewise. * ldmain.c (main): Updated. * ldmain.h (RELAXATION_DISABLED_BY_DEFAULT): New macro. (RELAXATION_DISABLED_BY_USER): Likewise. (RELAXATION_ENABLED): Likewise. (DISABLE_RELAXATION): Likewise. (ENABLE_RELAXATION): Likewise. 2012-10-23 Nathan Sidwell <nathan@codesourcery.com> * ld.texinfo (stack-size): New option. * emultempl/elf32.em: Add stack-size option. 2012-10-22 Jan Beich <jbeich@tormail.org> Alan Modra <amodra@gmail.com> PR ld/14426 * ldlex.h (option_values): Add OPTION_IGNORE_UNRESOLVED_SYMBOL. * lexsup.c (parse_args): Likewise. (ld_options): Describe --ignore-unresolved-symbol. * ldmain.h (add_ignoresym): Declare. * ldmain.c (add_ignoresym): New function, extracted from.. (undefined_symbol): ..here. Return if the symbol is in ignore_hash. (constructor_callback): Don't use global link_info here. (reloc_overflow): Likewise. 2012-10-22 Alan Modra <amodra@gmail.com> * plugin.c (plugin_load_plugins): Warning fix. 2012-10-18 Kai Tietz <ktietz@redhat.com> PR binutils/14067 * NEWS: Menition new feature. * scripttempl/pep.sc: Add zdebug sections. * scripttempl/pe.sc: L 2012-09-19 Steve Ellcey <sellcey@mips.com> * configure.tgt: Add mips*-mti-elf* target. 2012-09-17 Alan Modra <amodra@gmail.com> * ld.texinfo (Expression Section): Correct description of conversions for a binary operation involving an absolute symbol and a number. 2012-09-14 David Edelsohn <dje.gcc@gmail.com> * configure: Regenerate. 2012-09-13 Anthony Green <green@moxielogic.com> * emulparams/elf32moxie.sh (BIG_OUTPUT_FORMAT, LITTLE_OUTPUT_FORMAT): Define. (OUTPUT_FORMAT): Change to elf32-bigmoxie. (EMBEDDED): Define. 2012-09-12 DJ Delorie <dj@redhat.com> * emulparams/elf32rx.sh (OTHER_READONLY_SECTIONS): Add W_* sections. 2012-09-10 Matthias Klose <doko@ubuntu.com> * config.in: Disable sanity check for kfreebsd. 2012-09-10 H.J. Lu <hongjiu.lu@intel.com> * configure: Regenerated. 2012-09-10 Iain Sandoe <iain@codesourcery.com> Alan Modra <amodra@gmail.com> * configure.tgt (powerpc-*-elf, et al): Define targ_extra_libpath. Correct whitespace. (powerpcle-*-elf, et al): Likewise. Correct targ_extra_emuls. 2012-09-10 Iain Sandoe <iain@codesourcery.com> * configure.tgt (powerpc-*-elf, et al): Define targ64_extra_emuls and targ64_extra_libpath. (powerpcle-*-elf, et al): Likewise. 2012-09-09 Hans-Peter Nilsson <hp@bitrange.com> * emultempl/mmo.em (mmo_place_orphan): Rewrite to also attach orphan sections to .data and .bss output sections, not just .text. When giving up on finding a suitable output section, attach to any output section other than .MMIX.reg_contents, if it exists. * scripttempl/mmo.sc: Move output debug sections to just before .MMIX.reg_contents. Add .gnu.attributes. Add new . = . NOP assignments and move end-of-section provide-symbols after them to force the end-of-section symbols to the address after orphan placement. Add SORT_NONE to .init and .fini sections. 2012-08-30 H.J. Lu <hongjiu.lu@intel.com> PR ld/14525 * scripttempl/elf.sc: Also provide __executable_start for PIE. 2012-08-17 Kai Tietz <ktietz@redhat.com> PR ld/14326 * scripttempl/pe.sc: Add _etext symbol. 2012-08-14 Nick Clifton <nickc@redhat.com> * configure.in (ALL_LINGUGAS): Add uk. * configure: Regenerate. * po/uk.po: New Ukranian translation. 2012-08-13 Ian Bolton <ian.bolton@arm.com> Laurent Desnogues <laurent.desnogues@arm.com> Jim MacArthur <jim.macarthur@arm.com> Marcus Shawcroft <marcus.shawcroft@arm.com> Nigel Stephens <nigel.stephens@arm.com> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> Richard Earnshaw <rearnsha@arm.com> Sofiane Naci <sofiane.naci@arm.com> Tejas Belagod <tejas.belagod@arm.com> Yufeng Zhang <yufeng.zhang@arm.com> * 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. 2012-08-09 Nick Clifton <nickc@redhat.com> * po/vi.po: Updated Vietnamese translation. 2012-08-07 Daniel Green <venix1@gmail.com> * scripttempl/pe.sc (R_TLS): Add .tls$AAA and .tls$ZZZ. * scripttempl/pep.sc (R_TLS): Add .tls$AAA and .tls$ZZZ. 2012-08-07 Nick Clifton <nickc@redhat.com> * po/ja.po: Updated Japanese translation. 2012-08-06 Maciej W. Rozycki <macro@codesourcery.com> * emulparams/elf32bmip.sh: Make _gp hidden. * emulparams/elf32bmipn32-defs.sh: Likewise. * emulparams/elf32mipswindiss.sh: Likewise. * scripttempl/mips.sc: Likewise. 2012-08-06 Maciej W. Rozycki <macro@codesourcery.com> * 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. 2012-07-31 H.J. Lu <hongjiu.lu@intel.com> 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. 2012-07-30 Nick Clifton <nickc@redhat.com> * po/ld.pot: Updated template. * po/bg.po: Updated Bulgarian translation. * po/es.po: Updated Spanish translation. * po/fi.po: Updated Finnish translation. 2012-07-27 Mike Frysinger <vapier@gentoo.org> * configure.in (BFD_VERSION): Run bfd/configure --version and parse the output of that. * configure: Regenerate. 2012-07-27 Tristan Gingold <gingold@adacore.com> * NEWS: Add marker for 2.23. 2012-07-24 Jan Waclawek <konfera@efton.sk> PR ld/14058 * emultempl/avrelf.em (avr_elf_after_allocation): Call elf32_avr_size_stubs with is_prealloc_run as TRUE. 2012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * emulparams/elf_s390.sh (IREL_IN_PLT): Define. * emulparams/elf64_s390.sh (IREL_IN_PLT): Define. 2012-07-13 Nick Clifton <nickc@redhat.com> 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. 2012-07-10 H.J. Lu <hongjiu.lu@intel.com> PR ld/14156 * NEWS: Mention SORT_NONE. * ld.h (sort_type): Add by_none. * ld.texinfo: Document SORT_NONE. * ldgram.y: Handle SORT_NONE. * ldlang.c (update_wild_statements): Handle by_none. Don't sort .init/.fini sections. * ldlex.l: Add SORT_NONE. 2012-07-02 H.J. Lu <hongjiu.lu@intel.com> * ld.texinfo: Replace __end_SECNAME with __stop_SECNAME. 2012-06-29 Nick Clifton <nickc@redhat.com> * 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. 2012-06-28 H.J. Lu <hongjiu.lu@intel.com> * ldlang.c (update_wild_statements): Remove redundant statement. 2012-06-25 Alan Modra <amodra@gmail.com> * ldlang.c (load_symbols): Close file and set flags.loaded after parsing script file. (open_input_bfds): Don't segv on closed script. 2012-06-24 H.J. Lu <hongjiu.lu@intel.com> * configure.tgt: Enable elf_k1om for x86_64-*-linux-gnux32. Remove x32 in tdir_i386linux and tdir_elf_i386. 2012-06-22 Roland McGrath <mcgrathr@google.com> * NEWS: Mention __ehdr_start. 2012-06-21 Alan Modra <amodra@gmail.com> * ldlang.c (lang_insert_orphan): Don't make __start_<sec> symbol absolute, and remove unnecessary alignment. 2012-06-16 Alan Modra <amodra@gmail.com> * 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 <hongjiu.lu@intel.com> * plugin.c (set_tv_header): Handle link_info.pie. 2012-06-11 Alan Modra <amodra@gmail.com> 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. 2012-06-07 Georg-Johann Lay <avr@gjlay.de> PR 13697 * scripttempl/avr.sc (.data): Keep it. 2012-06-02 Andreas Schwab <schwab@linux-m68k.org> * Makefile.am (TEXINFO_TEX): Remove $(top_srcdir) prefix. * Makefile.in: Regenerate. 2012-05-30 Alan Modra <amodra@gmail.com> * 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 <amodra@gmail.com> * 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 <amodra@gmail.com> PR ld/13909 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle multiple .eh_frame sections attached to bfd. 2012-05-23 Cary Coutant <ccoutant@google.com> * 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. <skunk@iskunk.org> Nick Clifton <nickc@redhat.com> 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 <sergiodj@redhat.com> * emultempl/m68hc1xelf.em (hook_in_stub): Pass proper `bfd' as the first argument for `bfd_get_section_name'. 2012-05-16 Samuel Thibault <samuel.thibault@ens-lyon.org> PR ld/14069 * emultempl/elf32.em: Include *-*-gnu* targets in ld.so.conf support. 2012-05-15 James Murray <jsm@jsm-net.demon.co.uk> * NEWS: Mention the support for S12X processors. 2012-05-14 James Lemke <jwlemke@codesourcery.com> * 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 <clm@codesourcery.com> * NEWS: Mention PowerPC VLE port. 2012-05-11 Daniel Richard G. <skunk@iskunk.org> 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 <amodra@gmail.com> * 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 <gingold@adacore.com> * pe-dll.c (udef_table): Make it static. 2012-05-05 Alan Modra <amodra@gmail.com> * 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 <hongjiu.lu@intel.com> * configure.tgt: Support x86_64-*-linux-gnux32. 2012-05-03 Sean Keys <skeys@ipdatasys.com> * 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 <hp@axis.com> 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 <amodra@gmail.com> * 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 <mcgrathr@google.com> * 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 <gingold@adacore.com> * 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 <mcgrathr@google.com> * configure.in (AC_CHECK_HEADERS): Add locale.h. * config.in: Regenerate. * configure: Regenerate. 2012-04-05 Nick Clifton <nickc@redhat.com> * configure.in (AC_CHECK_FUNCS): Add setlocale. (AM_LC_MESSAGES): Add. * aclocal.m4: Regenerate. * config.in: Regenerate. * configure: Regenerate. 2012-04-03 Roland McGrath <mcgrathr@google.com> * 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 <vapier@gentoo.org> * 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 <nickc@redhat.com> * po/vi.po: Updated Vietnamese translation. 2012-03-27 Roland McGrath <mcgrathr@google.com> * configure.in: Set want64 on a 64-bit host regardless of --enable-targets=all. * configure: Regenerated. 2012-03-26 Tristan Gingold <gingold@adacore.com> * lexsup.c (parse_args): Add a missing '\n'. 2012-03-25 Alan Modra <amodra@gmail.com> * 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 <amodra@gmail.com> * 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 <ktietz@redhat.com> Pascal Obry <pascal@obry.net> * 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 <amodra@gmail.com> 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 <gingold@adacore.com> * ldexp.c (exp_print_tree): Special case for SEGMENT_START. (exp_print_token): Constify. 2012-03-08 Alan Modra <amodra@gmail.com> 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 <amodra@gmail.com> * 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. 2012-03-05 Hans-Peter Nilsson <hp@axis.com> * configure.tgt (mips64*el-*-freebsd*, mips64*-*-freebsd*) (mips*el-*-freebsd*, mips*-*-freebsd*): Correct triplets by replacing trailing "-*" with "*". 2012-02-25 Walter Lee <walt@tilera.com> * 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 <ktietz@redhat.com> PR binutils/13710 * deffilep.y (keyword_as_name): Disable LIBRARY keyword. 2012-02-22 Alan Modra <amodra@gmail.com> 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 <ktietz@redhat.com> * 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 <hp@axis.com> * ldmisc.c (vfinfo <%S>): Use same type and avoid cast for temporary variable node used for NULL argument. 2012-02-18 Alan Modra <amodra@gmail.com> 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. 2012-02-13 Kai Tietz <ktietz@redhat.com> * 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 <ktietz@redhat.com> * 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 <pascal@obry.net> * 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 <amodra@gmail.com> * ldgram.y (input_section_spec_no_keep): Don't ignore sect_flags. 2012-01-31 H.J. Lu <hongjiu.lu@intel.com> 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 <amodra@gmail.com> * ldver.c (ldversion): Update copyright message year. 2012-01-15 Alan Modra <amodra@gmail.com> PR ld/12758 * ldlang.c (lang_process): Don't reopen all files, just those newly added by plugin. 2012-01-11 Alan Modra <amodra@gmail.com> * 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 <mcgrathr@google.com> * configure.in: Use AM_ZLIB. * configure: Regenerated. For older changes see ChangeLog-2011 Copyright (C) 2012 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: