daily update
[binutils-gdb.git] / ld / ChangeLog
index e73314721bc34f863be3ec1fef6a60223aafc723..359e1d6636f08c579373eb47a6a8e14e6a6e77e1 100644 (file)
-2013-03-21  Kai Tietz  <ktietz@redhat.com>
+2014-02-03  Alan Modra  <amodra@gmail.com>
 
-       * pe-dll.c (process_def_file_and_drectve): Don't handle VC
-       generated C++-symbols as stdcall/fastcall.
+       * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
+       plt_style): Delete.  Adjust all refs to instead use..
+       (params): ..this.  New variable.
+       (ppc_after_open_output): New function.  Tweak params and pass to
+       ppc_elf_link_params.
+       (ppc_after_open): Adjust ppc_elf_select_plt_layout call.
+       (ppc_before_allocation): Adjust ppc_elf_tls_setup call.  Enable
+       relaxation for ppc476 workaround.
+       (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
+       (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
 
-2013-03-18  Alan Modra  <amodra@gmail.com>
+2014-02-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
 
-       * ld.texinfo (--as-needed): Update.
+       * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
+       * ld/ldlang.c (lang_size_sections_1): Add dotdelta
+       variable which reflects the VMA change due to alignment
+       requirements.  Use dotdelta do change the LMA if
+       ALIGN_WITH_INPUT is requested.
 
-2013-03-14  Jakub Jelinek  <jakub@redhat.com>
+2014-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
 
-       * emulparams/aarch64linux.sh (LIBPATH_SUFFIX): Set to 64 for
-       aarch64linux* emulations.
+       * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
+       call to bfd_set_section_vma exposed by recent bfd_set_section_vma
+       change.
 
-2013-03-07  Alan Modra  <amodra@gmail.com>
+2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
 
-       * ldfile.c (ldfile_open_command_file_1): Return after einfo
-       to avoid warning.
-
-2013-03-05  Corinna Vinschen  <vinschen@redhat.com>
-
-       * configure.host: Add x86_64-*-cygwin* as valid host.
-       * configure.tgt: Add x86_64-*-cygwin* as valid target.
-       * emultempl/pep.em: Handle different requirements for Cygwin in terms
-       of start addresses for executables and DLLs, based on memory model in
-       http://cygwin.com/ml/cygwin-developers/2013-02/msg00027.html
-
-2013-03-05  Alan Modra  <amodra@gmail.com>
-
-       PR ld/15222
-       * ldlang.c (lang_size_sections_1): When given an lma_region align
-       LMA as per VMA only if lma_region is the same as region.
-
-2013-02-27  Nick Clifton  <nickc@redhat.com>
-
-       * scripttempl/elf32msp430.sc: Add placement of .data.* sections.
-       Add alignment of .bss section.
-       * scripttempl/elf32msp430_3.sc: Likewise.
-
-2013-02-26  Nick Clifton  <nickc@redhat.com>
-
-       PR ld/15188
-       * ld.texinfo: Fix typos.
-
-2013-02-21  Alan Modra  <amodra@gmail.com>
-
-       * scripttempl/elf.sc (.init_array, .fini_array): Don't sort all
-       .init_array/.fini_array input sections before .ctors/.dtors input
-       sections.
-       (CTORS_IN_INIT_ARRAY, DTORS_IN_INIT_ARRAY): Adjust to suit.
-
-2013-02-21  Alan Modra  <amodra@gmail.com>
-
-       * emultempl/elf32.em (write_build_id, setup_build_id): Adjust
-       for elf_tdata changes.
-
-2013-02-21  Alan Modra  <amodra@gmail.com>
-
-       * emultempl/elf-generic.em: Use newly defined elf_obj_tdata
-       accessor macros.
-
-2013-02-20  Alan Modra  <amodra@gmail.com>
-
-       * Makefile.am: Use $(ELF_DEPS) on a number of eelf*.c rules.
-       * Makefile.in: Regenerate.
-
-2013-02-19  Sandra Loosemore  <sandra@codesourcery.com>
-
-       PR ld/15146
-       * plugin.c (plugin_notice): Add null check before dereferencing
-       pointer.
-
-2013-02-19  Alan Modra  <amodra@gmail.com>
-
-       * emultempl/elf32.em (emit_note_gnu_build_id): New static var.
-       Replace all info->emit_note_gnu_build_id refs.
-       (id_note_section_size): Rename from
-       gld${EMULATION_NAME}_id_note_section_size.
-       (struct build_id_info): Delete.
-       (write_build_id): Rename from
-       gld${EMULATION_NAME}_write_build_id_section.
-       Update elf_tdata usage.  Style, formatting.
-       (setup_build_id): New function.
-       (gld${EMULATION_NAME}_after_open): Use setup_build_id.
-
-2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR ld/15146
-       * plugin.c (plugin_notice): Replace the undefined dummy bfd with
-       the real one.
-
-2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR ld/15141
-       * plugin.c (plugin_notice): Also trace symbol from the IR bfd.
-
-2013-02-15  Kai Tietz  <ktietz@redhat.com>
-
-       * scripttempl/pep.sc (.xdata): Merge .xdata* into .xdata section.
-       (.pdata): Merge .pdata* into .pdata section.
-
-2013-02-11  Alan Modra  <amodra@gmail.com>
-
-       * ldlang.c (get_init_priority): Comment typo.
-       (lang_finish): Free link_info.hash and lang_definedness_table.
-       (lang_end): Delete lang_definedness_table comment.
-
-2013-02-11  Alan Modra  <amodra@gmail.com>
-
-       PR ld/15130
-       * ld.texinfo (-rpath-link): Typo fix.
-
-2013-02-08  Markos Chandras  <markos.chandras@imgtec.com>
-
-       * emultempl/metagelf.em (build_section_lists): Use sec_info_type
-       rather than userdata->flags.just_syms.
-
-2013-02-06  Sandra Loosemore  <sandra@codesourcery.com>
-           Andrew Jenner <andrew@codesourcery.com>
-
-       Based on patches from Altera Corporation.
-
-       * Makefile.am (enios2elf.c): New rule.
+       * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
        * Makefile.in: Regenerated.
-       * configure.tgt: Add case for nios2*-*-*.
-       * emulparams/nios2elf.sh: New file.
-       * NEWS: Note Altera Nios II support.
-
-2013-02-06  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-       * emultempl/avrelf.em (avr_elf_before_parse): New function.
-       (LDEMUL_BEFORE_PARSE): Define.
-
-2013-02-06  Alan Modra  <amodra@gmail.com>
-
-       PR ld/15096
-       * emultempl/elf32.em: Revert 2013-02-04, 2013-01-22 and 2013-01-21.
-       * emultempl/alphaelf.em: Revert 2013-02-04.
-       * emultempl/cr16elf.em: Likewise.
-       * emultempl/crxelf.em: Likewise.
-       * emultempl/hppaelf.em: Likewise.
-       * emultempl/ia64elf.em: Likewise.
-       * emultempl/mipself.em: Likewise.
-       * NEWS: Revert 2013-01-21.
+       * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
+       * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
+       * emultempl/nios2elf.em: New file.
+       * gen-doc.texi (NIOSII): Set.
+       * ld.texinfo (NIOSII): Set.
 
-2013-02-04  H.J. Lu  <hongjiu.lu@intel.com>
+2014-01-28  Nick Clifton  <nickc@redhat.com>
 
-       PR ld/15096
-       * emultempl/alphaelf.em (alpha_after_parse): Call
-       gld${EMULATION_NAME}_after_parse instead of after_parse_default.
-       * emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
-       * emultempl/crxelf.em (crxelf_after_parse): Likewise.
-       * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
-       * emultempl/mipself.em (mips_after_parse): Likewise.
-
-       * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Renamed
-       to ...
-       (gld_${EMULATION_NAME}_after_parse): This.  Call
-       gld${EMULATION_NAME}_after_parse instead of after_parse_default.
-       (LDEMUL_AFTER_PARSE): Set to gld_${EMULATION_NAME}_after_parse.
-
-       * emultempl/elf32.em (new_dtags_set): New variable.
-       (gld${EMULATION_NAME}_before_parse): Don't set link_info.new_dtags
-       here.
-       (gld${EMULATION_NAME}_after_parse): New function.
-       (ld_${EMULATION_NAME}_emulation): Replace after_parse_default'
-       with gld${EMULATION_NAME}_after_parse.
-       (gld${EMULATION_NAME}_handle_option): Set new_dtags_set to TRUE
-       when setting link_info.new_dtags.
-
-2013-01-25  Kai Tietz  <ktietz@redhat.com>
-
-       * deffilep.y (def_image_name): Adjust type of base-address
-       argument.
-       (%union): Add new type bfd_vma as vma.
-       (VMA):  New rule.
-       (opt_base): Use VMA instead of NUMBER rule to evaluate value.
-       (def_file_print): Use bfd's fprintf_vma to output base-address.
-
-2013-01-24  Nick Clifton  <nickc@redhat.com>
-
-       * NEWS: Mention support for V850E3V5 architecture.
-
-2013-01-23  Martin Koegler  <martin.koegler@chello.at>
+       * Makefile.am: Remove obsolete MSP430 emulations.
+       * configure.tgt: Likewise.
+       * emulparams/msp430all.sh: Likewise.
+       * Makefile.in: Regenerate.
 
-       PR ld/15041
-       * scripttempl/pep.sc (.pdata): Only accept .pdata sections.
-       (.xdata): Similarly.
-       (.debug_frame): Similarly.
+2014-01-24  H.J. Lu  <hongjiu.lu@intel.com>
 
-2013-01-23  Georg-Johann Lay  <avr@gjlay.de>
+       PR ld/16498
+       * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
+       orphaned TLS section handling.
 
-       PR ld/15037
-       * scripttempl/avr.sc (.eeprom): Keep it.
+2014-01-24  Alan Modra  <amodra@gmail.com>
 
-2013-01-23  Leif Ekblad  <leif@rdos.net>
+       * ldlang.c (lang_output_section_find_by_flags): Be careful to
+       test look->bfd_section->flags if available rather than
+       look->flags.  Separate SEC_THREAD_LOCAL handling from
+       SEC_READONLY loop, and rewrite.
 
-       * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64rdos.c.
-       (eelf64rdos.c): New rule.
-       * emulparams/elf64rdos.sh: New file.
-       * configure.tgt (x86_64-*-rdos*): Use above.
-       * Makefile.in: Regenerate.
+2014-01-22  Alan Modra  <amodra@gmail.com>
 
-2013-01-22  Roland McGrath  <mcgrathr@google.com>
+       * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
+       (lang_init): Initialise them.
+       (lang_print_asneeded): New function.
+       (lang_process): Call lang_print_asneeded.
+       * ldlang.h (struct asneeded_minfo): New.
+       (asneeded_list_tail): Declare.
+       * ldmain.c (add_archive_element): Improve archive map heading.
+       * ldmisc.c (minfo): Stash --as-needed info.
 
-       * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
-       new_dtags to TRUE for *-*-nacl* targets.
+2014-01-22  Alan Modra  <amodra@gmail.com>
 
-2013-01-21  Mike Frysinger  <vapier@gentoo.org>
+       * ld.h (struct map_symbol_def): Move to..
+       * ldlang.h: ..here.
+       * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
 
-       * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
-       link_info.new_dtags to TRUE for linux/gnu targets.
-       * NEWS: Mention new dtags default.
+2014-01-22  Alan Modra  <amodra@gmail.com>
 
-2013-01-19  H.J. Lu  <hongjiu.lu@intel.com>
+       * ld.texinfo (Output Section Discarding): Mention assigning to dot
+       as a way of keeping otherwise empty sections.
+       * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
+       is_dot_plus_0, is_align_conditional): New predicates.
+       (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
+       output section, except for some special cases.
+       * scripttempl/elfmicroblaze.sc: Use canonical form to align at
+       end of .heap and .stack.
 
-       * Makefile.am (HOSTING_SCRT0): New.
+2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
 
-       * configure.host (HOSTING_SCRT0): New.  Used for PIE.
+       * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
 
-       * configure.in (HOSTING_SCRT0): New AC_SUBST.
+2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
 
-       * Makefile.in: Regenerated.
-       * configure: Likewise.
+       * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
 
-2013-01-18  Mike Frysinger  <vapier@gentoo.org>
+2014-01-20  Alan Modra  <amodra@gmail.com>
 
-       * NEWS: Mention change in behavior with --enable-new-dtags.
-       * ld.texinfo (Options): Clarify --enable-new-dtags behavior.
+       * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
+       by_script.  Make iteration a single bit field.
+       (lang_track_definedness, lang_symbol_definition_iteration): Delete.
+       (lang_symbol_defined): Declare.
+       * ldlang.c (lang_statement_iteration): Expand comment a little.
+       (lang_init <lang_definedness_table>): Make it bigger.
+       (lang_track_definedness, lang_symbol_definition): Delete.
+       (lang_definedness_newfunc): Update.
+       (lang_symbol_defined): New function.
+       (lang_update_definedness): Create entries here.  Do track whether
+       script definition of symbol is valid, even when also defined in
+       an object file.
+       * ldexp.c (fold_name <DEFINED>): Update.
+       (fold_name <NAME>): Allow self-assignment for absolute symbols
+       defined in a linker script.
 
-2013-01-14  Leif Ekblad <leif@rdos.net>
+2014-01-20  Guy Martin <gmsoft@tuxicoman.be>
            Alan Modra  <amodra@gmail.com>
 
-       * ld.texinfo (-Tldata-segment): Describe.
-       * ldlex.h (OPTION_TLDATA_SEGMENT): New enum value.
-       * lexsup.c (ld_options): Add -Tldata-segment.
-       (parse_args): Handle OPTION_TLDATA_SEGMENT.
-       * scripttempl/elf.sc: Support LARGE_DATA_ADDR.
-
-2013-01-10  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * deffilep.y: Remove trailing white spaces.
-       * elf-hints-local.h: Likewise.
-       * ldexp.c: Likewise.
-       * ldlang.h: Likewise.
-       * ldmisc.c: Likewise.
-       * ldwrite.c: Likewise.
-       * pe-dll.c: Likewise.
-       * emulparams/criself.sh: Likewise.
-       * emulparams/crislinux.sh: Likewise.
-       * emulparams/elf32_tic6x_le.sh: Likewise.
-       * emulparams/elf32bmipn32-defs.sh: Likewise.
-       * emulparams/elf32mb_linux.sh: Likewise.
-       * emulparams/elf32mep.sh: Likewise.
-       * emulparams/elf32microblaze.sh: Likewise.
-       * emulparams/elf32ppc.sh: Likewise.
-       * emulparams/elf64_s390.sh: Likewise.
-       * emulparams/elf64alpha.sh: Likewise.
-       * emulparams/elf_s390.sh: Likewise.
-       * emulparams/elf_x86_64.sh: Likewise.
-       * emulparams/tic80coff.sh: Likewise.
+       * ldlang.h (lang_output_section_get): Define.
+       * ldlang.c (lang_output_section_get): Likewise.
+       (init_os): Set the output_section userdata to the output
+       section statement.
+       * emultempl/hppaelf.em: Use lang_output_section_get instead of
+       lang_output_section_find where applicable.
+       * emultempl/aarch64elf.em: Likewise.
        * emultempl/aix.em: Likewise.
-       * emultempl/avrelf.em: Likewise.
-       * emultempl/cr16elf.em: Likewise.
-       * emultempl/pe.em: Likewise.
-       * emultempl/pep.em: Likewise.
+       * emultempl/armelf.em: Likewise.
+       * emultempl/m68hc1xelf.em: Likewise.
+       * emultempl/metagelf.em: Likewise.
+       * emultempl/mipself.em: Likewise.
+       * emultempl/ppc64elf.em: Likewise.
        * emultempl/spuelf.em: Likewise.
-       * emultempl/tic6xdsbt.em: Likewise.
 
-2013-01-10  Will Newton <will.newton@imgtec.com>
+2014-01-17  Alan Modra  <amodra@gmail.com>
 
-       * Makefile.am: Add Meta.
-       * Makefile.in: Regenerate.
-       * configure.tgt: Add Meta.
-       * emulparams/elf32metag.sh: New file.
-       * emultempl/metagelf.em: New file.
+       * genscripts.sh (COMPILE_IN): Don't set if already set.
+       * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
+       COMPILE_IN=no.
+       * emulparams/nds32elf16m.sh: Likewise.
+       * emulparams/nds32elf_linux.sh: Likewise.
+       * emultempl/aix.em: Test COMPILE_IN value is "yes".
+       * emultempl/armcoff.em: Likewise.
+       * emultempl/elf32.em: Likewise.
+       * emultempl/generic.em: Likewise.
+       * emultempl/gld960.em: Likewise.
+       * emultempl/gld960c.em: Likewise.
+       * emultempl/linux.em: Likewise.
+       * emultempl/lnk960.em: Likewise.
+       * emultempl/m68kcoff.em: Likewise.
+       * emultempl/sunos.em: Likewise.
+       * emultempl/ticoff.em: Likewise.
 
-2013-01-09  Alan Modra  <amodra@gmail.com>
+2014-01-16  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * emulparams/elf_x86_64.sh (LARGE_BSS_AFTER_BSS): Define.
-       * emulparams/elf32_x86_64.sh: Likewise.
-       * emulparams/elf_k1om.sh: Likewise.
-       * emulparams/elf_l1om.sh: Likewise.
-       * scripttempl/elf.sc (LARGE_BSS): Define rather than appending to
-       OTHER_BSS_SECTIONS.  Substitute in script.
+       PR ld/16456
+       * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
+       suffix.
+       * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
+       for elf32_x86_64 emulation.
+       * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
+       for elf_i386 emulation.
 
-2013-01-08  Leif Ekblad  <leif@rdos.net>
+2014-01-16  Alan Modra  <amodra@gmail.com>
 
-       * scripttempl/elf.sc (RODATA_ADDR): Typo fix.
+       * ld.h (fat_section_userdata_type, get_userdata): Move to..
+       * ldlang.h (input_section_userdata_type, get_userdata): ..here.
+       * ldlang.c (init_map_userdata): Delete.  Fold into..
+       (sort_def_symbol): ..here.  Don't attach input section userdata
+       to output sections or global bfd sections.
+       (lang_map): Don't pre-allocate input section userdata.
+       (init_os): Don't allocate userdata for output sections.
+       (print_all_symbols): Update.
 
-2013-01-08  Alan Modra  <amodra@gmail.com>
+2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): Replace
-       "name" param with a bfd_link_needed_list pointer.  Update caller.
-       (gld${EMULATION_NAME}_check_ld_elf_hints): Likewise.
+       * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
+       Silence uninitialized warning on ehdr_start_save with older
+       GCC.
 
-2013-01-08  Alan Modra  <amodra@gmail.com>
+2014-01-15  Alan Modra  <amodra@gmail.com>
 
-       * Makefile.am (ALL_EMULATION_SOURCES): Correct eavrxmega entries.
-       * Makefile.in: Regenerate.
+       * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
+       __ehdr_start before size_dynamic_sections and restore afterwards.
 
-2013-01-07  H.J. Lu  <hongjiu.lu@intel.com>
+2014-01-10  Alan Modra  <amodra@gmail.com>
 
-       * lexsup.c (ld_options): Add fuse-ld= for GCC linker option
-       compatibility.
+       PR ld/14207
+       PR ld/16322
+       PR binutils/16323
+       * ldlang.c (lang_size_sections): Remove unneeded RELRO base
+       adjust.  Tidy comments.
+       * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
 
-2013-01-07  Patrice Dumas  <pertusus@free.fr>
+2014-01-10  Hans-Peter Nilsson  <hp@axis.com>
 
-       * ld.texinfo: Replace @ with @@ when it is part of the text.
-       Correct ordering of M68HC11 entry.
+       * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
 
-2013-01-04  Juergen Urban <JuergenUrban@gmx.de>
+2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * configure.tgt: Support ELF files for Sony Playstation 2 (for
-       ps2dev and ps2sdk).
-       * emulparams/elf32lr5900n32.sh: Create linker script for Sony
-       Playstation 2 ELF files using MIPS ABI n32.
-       * emulparams/elf32lr5900.sh: Create linker script for Sony
-       Playstation 2 ELF files using MIPS ABI o32.
-       * Makefile.am: Add linker scripts for Sony Playstation 2 ELF
-       files.
+       PR ld/14207
+       PR ld/16322
+       PR binutils/16323
+       * ldlang.c (lang_size_sections): Properly align RELRO base.
 
-2013-01-02  H.J. Lu  <hongjiu.lu@intel.com>
+2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * ldver.c (ldversion): Update copyright year to 2013.
+       * ldver.c (ldversion): Update copyright year to 2014.
 
-For older changes see ChangeLog-2012
+For older changes see ChangeLog-2013
 \f
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright