2010-08-31 Nick Clifton * ld.texinfo (MEMORY): Clarify the behaviour of the ! character in a region's attributes. 2010-08-31 Alan Modra * scripttempl/mmo.sc: Move assignment to "Main" inside .text output section statement. 2010-08-25 H.J. Lu PR ld/11946 * emultempl/elf32.em (_before_allocation): Check audit entry only on ELF input. 2010-08-22 H.J. Lu PR ld/11937 * emultempl/elf32.em (_after_open): Find one .eh_frame section for --eh-frame-hdr. 2010-08-22 H.J. Lu PR ld/11937 * emultempl/elf32.em (_after_open): Find an ELF input for --build-id and --eh-frame-hdr. 2010-08-20 Maciej W. Rozycki * Makefile.am (eshlelf_fd.c): Correct the name of the tool directory. * Makefile.in: Regenerate. 2010-08-20 Nick Clifton * emultempl/elf32.em (_after_open): Check for get_elf_backend_data returning NULL. 2010-08-19 Alan Modra * NEWS: Mention change in linker script expression evaluation. 2010-08-19 Alan Modra * ld.texinfo (Expression Section): Detail expression evaluation. (Builtin Functions ): Correct. (Builtin Functions ): Don't mention LOADADDR normally the same as ADDR. (Builtin Functions ): Typo fix. * ldexp.c (new_number): New function. (make_abs, exp_get_abs_int): Cope with NULL expld.result.section. (fold_unary <'~', '!', '-'>): Don't make_abs. (fold_binary): Simplify result section logic. Return NULL section for logical ops. (fold_binary ): Use new_rel_from_abs to set value to a consistent result. (fold_name ): Return new_number, not new_abs. (fold_name ): Likewise. (fold_name ): No need to handle absolute symbols differently from relative ones. (fold_name ): Don't return valid result when lang_first_phase_enum. Return new_rel_from_abs, not new_abs. (exp_fold_tree_1 ): Return new_number, not new_rel. (exp_fold_tree_1): Ajust for NULL expld.result.section. When assigning a plain number to dot, assume the value is relative to expld.section. Make terms not in an output section, absolute. * ldlang.c (print_assignment): Fix style nit. (lang_size_sections_1): Cope with NULL expld.result.section. (lang_do_assignments_1): Likewise. 2010-08-12 Alan Modra * ldexp.c (new_rel): Remove "str". Update all call sites. (exp_fold_tree_1): When assigning to dot, calculate nextdot using expld.result.section rather than expld.section. 2010-08-06 Alan Modra PR ld/11887 * ldlang.c (lang_add_vers_depend): Don't leave version_needed uninitialised. 2010-07-28 Alan Modra * ldexp.c (exp_print_tree): Print function-like binary nodes as functions rather than in-fix operators. Use fputs and fputc where appropriate. 2010-07-23 Naveen.H.S Ina Pandit * configure.tgt: Match all v850 targets. 2010-07-20 Mike Frysinger * ld.texinfo (VERSION): Remove "int" from example script and add ";". Declare the default language as C. 2010-07-17 Alan Modra * ldlang.c (lang_check_section_addresses): Catch overlap for sections that wrap around the address space. 2010-06-29 Nick Clifton * scripttempl/xstormy16.sc (.gcc_except_table): Include sections with the .gcc_except_table. prefix. 2010-06-29 Alan Modra * emulparams/maxqcoff.sh: Delete file. * scripttempl/maxqcoff.sc: Delete file. * Makefile.am: Remove references to maxq. * configure.tgt: Likewise. * Makefile.in: Regenerate. * configure: Regenerate. * po/POTFILES.in: Regenerate. 2010-06-27 Alan Modra * pe-dll.c (fill_edata): Avoid set but unused warning. (pe_walk_relocs_of_symbol): Delete set but unused variables. (generate_reloc, pe_implied_import_dll): Likewise. * emultempl/aix.em (open_dynamic_archive): Likewise. * emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Likewise. (xtensa_layout_wild): Likewise. (xtensa_colocate_output_literals_callback): Likewise. 2010-06-25 Alan Modra * emultempl/ppc64elf.em (prelim_size_sections): New function. (ppc_before_allocation): Use it. Size sections before toc edit too. 2010-06-25 Alan Modra * emultempl/elf32.em (find_exp_assignment): Handle etree_provided. 2010-06-20 Danny Smith * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Make auto-import and merge-rdata defaults same for i[3-7]86 and x86_64 mingw. 2010-06-15 Joseph Myers * emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Define. 2010-06-09 Dave Korn PR ld/11603 * pe-dll.c (process_def_file_and_drectve): Reorder check for forwarded export name after check for ordinary export. 2010-06-08 Bernd Schmidt * emulparams/elf32_tic6x_le.sh (OTHER_BSS_SECTIONS): New. 2010-06-08 Nick Clifton * fdl.texi: Replace with v1.3 text. * ld.texinfo: Replace abbreviated 20th century year numbers with full versions. * ldint.texinfo: Likewise. Relicense under GFDL v1.3. Replace text of v1.1 FDL with an include of the fdl.texi file. 2010-06-01 Tristan Gingold * scripttempl/alphavms.sc: Add comments. Move $LINK$ to the readonly output-section. Handle LIB$INITIALIZE and sections created by gcc. * emultempl/vms.em (vms_place_orphan): Add comments. 2010-05-28 Nick Clifton * Makefile.am (eshlelf_fd.c): Fix typo in rule. * Makefile.in: Regenerate. 2010-05-26 H.J. Lu PR ld/11628 * ldexp.c (fold_binary): Warn if value of SEGMENT_START isn't multiple of maximum page size. 2010-05-25 Nick Clifton * Makefile.am: Fix typo. * Makefile.in: Regenerate. 2010-05-25 Daniel Jacobowitz Joseph Myers Andrew Stubbs * Makefile.am (ALL_EMULATIONS): Add eshelf_fd.o and eshlelf_fd.o. (eshelf_fd.c, eshlelf_fd.c): New rules. * Makefile.in: Regenerate. * configure.tgt (sh-*-uclinux*): Add shelf_fd and shlelf_fd emulations. * emulparams/shelf_fd.sh: New file. * emulparams/shlelf_fd.sh: New file. * emulparams/shlelf_linux.sh: Update comment. 2010-05-25 Jay Krell PR ld/11621 * Makefile.am: Replace all occurences of .o with .@OBJEXT@ * Makefile.in: Regenerate. 2010-05-25 Kai Tietz * deffilep.y (opt_name): Allow leading dot. (dot_name): Likewise. (anylang_id): Likewise. * emultempl/pep.em (gld_${EMULATION_NAME}_before_parse): Enable by default auto_import. (gld${EMULATION_NAME}_handle_option): Warn about v1. (pep_find_data_imports): Remove superflous warnings about auto-import. (gld_${EMULATION_NAME}_get_script): Don't merge for auto-import and active pseudo-relocation-v2 rdata into data section. * emultempl/pe.em (default_merge_rdata): New shell variable. (MERGE_RDATA_V2): New macro. (gld_${EMULATION_NAME}_get_script): Adjust rule for auto-import selected script. 2010-05-15 Kai Tietz * emultempl/pe.em (is_underscoring): New helper function. (gld_${EMULATION_NAME}_before_parse): Replace code for pe(p)_leading_underscore detection by is_underscoring. (U): Likewise. (GET_INIT_SYMBOL_NAME): Likewise. (U_SIZE): Likewise. (set_pe_name): (set_entry_point): (gld_${EMULATION_NAME}_set_symbols): * emultempl/pep.em: Likewise. * pe-dll.c (pe_detail_list): Set default underscoring for x64 target. (pe_dll_id_target): Add initialization of pe(p)_leading_underscore. 2010-05-15 Dave Korn * pe-dll.c: Removed trailing whitespaces. 2010-05-14 Alan Modra PR ld/11583 * ldexp.c (exp_fold_tree_1): If assignment source expression is invalid, make the destination symbol undefined. 2010-05-11 Kai Tietz * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Initialize pe(p)_leading_underscore variable. (set_pe_name): Likewise. * emultempl/pep.em: Likewise. Additional change default to non-underscore for pep_leading_underscore equal to -1. 2010-05-07 Tristan Gingold * Makefile.in: Regenerate with automake 1.11.1. * aclocal.m4: Ditto. 2010-05-05 Nick Clifton * po/es.po: Updated Spanish translation. 2010-04-27 Kai Tietz * pe-dll.c (_nm_-symbols): Use always underscored variant for symbols. (__imp_-symbols): Likewise. (___imp_-symbols): Likewise. * NEWS: Mention ABI change for x64 PE-COFF. 2010-04-27 H.J. Lu * Makefile.am (install-exec-local): Properly install ld as default cross linker. * Makefile.in: Regenerated. 2010-04-27 H.J. Lu Nick Clifton * configure.in (install_as_default): Define and set to true unless --enable-gold=both/gold has been specified. * configure: Regenerate. * Makefile.am (transform): Use ld.bfd as the default name of the linker. (install-exec-local): Also install the executable as a binary named 'ld' if install_as_default is true. * Makefile.in: Regenerate. 2010-04-22 Nick Clifton * po/ld.pot: Updated by the Translation project. * po/vi.po: Updated Vietnamese translation. * po/bg.po: Updated Bulgarian translation. 2010-04-15 Andrew Haley * emultempl/armelf.em (merge_exidx_entries): New variable. (OPTION_NO_MERGE_EXIDX_ENTRIES): New definition. ("no-merge-exidx-entries"): New option. * ld.texinfo (merge-exidx-entries): Document this option. 2010-04-14 Tristan Gingold * emulparams/alphavms.sh: New file. * emultempl/vms.em: New file. * scripttempl/alphavms.sc: New file. * configure.tgt (alpha*-*-*vms*): Added. * Makefile.am (ALL_EMULATIONS): Add ealphavms.o (ealphavms.c): New target. * Makefile.in: Regenerate. 2010-04-09 Nick Clifton * ldlang.c (wild_sort): Remove unused variable section_name. 2010-04-07 Alan Modra * configure: Regenerate. 2010-04-06 H.J. Lu PR ld/11434 * ld/testsuite/ld-x86-64/unique1.d: New. * ld/testsuite/ld-x86-64/unique1.s: Likewise. * ld-x86-64/x86-64.exp: Run unique1. 2010-04-05 Kai Tietz * emultempl/pep.em (U): Macro modified. (U_SIZE): New helper macro. (GET_INIT_SYMBOL_NAME): Likewise. (enum options): Add OPTION_NO_LEADING_UNDERSCORE and OPTION_LEADING_UNDERSCORE enumerator-values. (gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore option. (definfo): Add new member is_c_symbol. (D): Add to macro underscore mode parameter. (init): Add definition for is_c_symbol. (gld_${EMULATION_NAME}_list_options): Display new options. (set_pep_name): Adjust underscoring dependent fixed symbol handling. (gld_${EMULATION_NAME}_set_symbols): Likewise. (saw_option): Likewise. (gld_${EMULATION_NAME}_unrecognized_file): Likewise. (set_entry_point): Initial initial_symbol_char dependent to target's default and new option flag pep_leading_underscore. * emultempl/pe.em (U): Macro modified. (U_SIZE): New helper macro. (GET_INIT_SYMBOL_NAME): Likewise. (OPTION_LEADING_UNDERSCORE): Add new option define. (OPTION_NO_LEADING_UNDERSCORE): Likewise. (gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore option. (definfo): Add new member is_c_symbol. (D): Add to macro underscore mode parameter. (init): Add definition for is_c_symbol. (gld_${EMULATION_NAME}_list_options): Display new options. (set_pep_name): Adjust underscoring dependent fixed symbol handling. (gld_${EMULATION_NAME}_set_symbols): Likewise. (saw_option): Likewise. (gld_${EMULATION_NAME}_unrecognized_file): Likewise. (set_entry_point): Initial initial_symbol_char dependent to target's default and new option flag pep_leading_underscore. * pe-dll.c (pe_leading_underscore): New flag variable. (pe_detail_list): Remove const to allow modify of member underscore. (pe_dll_id_target): Initialize pe_details' underscore variable dependent to target's default and flag pe_leading_underscore. * pe-dll.h (pe_leading_underscore): Add extern declaration of option flag. * pep-dll.c (pe_leading_underscore): Add alias define for pep_leading_underscore. * pep-dll.h (pep_leading_underscore) Add extern declaration of option flag. * ld.texinfo: Add documentation for --(no-)leading-underscore option. 2010-03-26 Alan Modra PR ld/11426 * configure.host (many linux targets ): Remove edits. (m68*-motorola-sysv ): Use here doc, not echo. 2010-03-25 Joseph Myers * Makefile.am (ALL_EMULATIONS): Add eelf32_tic6x_be.o and eelf32_tic6x_le.o. (eelf32_tic6x_be.c, eelf32_tic6x_le.c): New. * NEWS: Add news entry for TI C6X support. * configure.tgt (tic6x-*-*): New. * emulparams/elf32_tic6x_be.sh, emulparams/elf32_tic6x_le.sh: New. 2010-03-23 Joseph Myers * scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME, BSS_NAME): Define if not already defined. Use in place of some hardcoded section names. 2010-03-18 H.J. Lu * scripttempl/elf.sc (INIT_ARRAY): Re-indent. 2010-03-18 Aymeric Vincent PR ld/11384 * emultempl/sh64elf.em: Add missing EOF. 2010-03-18 Doug Semler * pe-dll.c (make_one): Make text section readonly. (make_one): Add *ABS* symbol @feat.00 with value 1 to tag the jump stub on X86 as /SAFESEH compatible for native toolchains. 2010-03-17 Alan Modra * ldlang.c (lang_size_sections_1): Remove "s" param. Set "s" from *prev instead. Update all callers. 2010-03-15 Daniel Jacobowitz * ldlang.c (lang_insert_orphan): Place loadable orphans in the same region and phdrs as their placement section. 2010-03-15 Alan Modra * emultempl/ppc64elf.em (move_input_section, sort_toc_sections): New. (ppc_before_allocation): Call sort_toc_sections. (no_toc_sort, OPTION_NO_TOC_SORT): New. (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Handle --no-toc-sort. 2010-03-14 Alan Modra PR ld/11378 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call ppc64_elf_check_init_fini and warn if .init/.fini use different TOCs. 2010-03-11 George Gensure PR ld/11367 * ldcref.c (handle_asneeded_cref): Correct copying of refs. 2010-03-05 Rainer Orth * Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_sol2.o, eelf_i386_sol2.o. (ALL_64_EMULATIONS): Add eelf_x86_64_sol2.o, eelf64_sparc_sol2.o. (eelf32_sparc_sol2.c): New rule. (eelf64_sparc_sol2.c): Likewise. (eelf_x86_64_sol2.c): Likewise. (eelf_i386_sol2.c): Likewise. * Makefile.in: Regenerate. * configure.tgt (i[3-7]86-*-solaris2*): Change targ_emul to elf_i386_sol2. Add elf_i386_ldso, elf_x86_64_sol2 to targ_extra_emuls. (x86_64-*-solaris2*): Change targ_emul to elf_x86_64_sol2. Add elf_x86_64, elf_i386_sol2, elf_i386 to targ_extra_emuls. (sparc-*-solaris2.[0-6]*): Change targ_emul to elf32_sparc_sol2. Add target_extra_emuls. (sparc-*-solaris2*): Change targ_emul to elf32_sparc_sol2. Add elf32_sparc, elf64_sparc_sol2 to targ_extra_emuls. (sparcv9-*-solaris2*): Change targ_emul to elf64_sparc_sol2. Add elf64_sparc, elf32_sparc_sol2 to target_extra_emuls. * emulparams/elf32_sparc_sol2.sh: New file. * emulparams/elf64_sparc_sol2.sh: New file. * emulparams/elf_i386_sol2.sh: New file. * emulparams/elf_x86_64_sol2.sh: New file. * emultempl/solaris2.em: New file. 2010-02-27 H.J. Lu PR ld/11330 * ld.texinfo: Replace explicitely with explicitly. 2010-02-27 Jie Zhang * scripttempl/armbpabi.sc: Don't combine .init_array.* or .fini_array.* when do relocatable linking. * scripttempl/elf.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. 2010-02-26 Alan Modra * scripttempl/elf.sc (.fini_array): Place input .fini_array after .fini_array.*. * scripttempl/armbpabi.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. 2010-02-25 Alan Modra PR ld/11304 * ldlang.c (init_os): Remove isec param. Don't check for bfd_section already set or call bfd_init_private_section_data here. (exp_init_os): Update init_os call. (lang_add_section): Tidy. Really don't set SEC_LINK_ONCE flags. Call bfd_init_private_section_data here. (map_input_to_output_sections): Tidy. Update init_os calls. Use os->sectype to select sec flags for lang_data_statement. 2010-02-23 Alan Modra PR ld/11304 * ldlang.c: Revert last patch. 2010-02-23 Nick Clifton * po/bg.po: Updated Bulgarian translation. 2010-02-22 Alan Modra PR ld/11304 * ldlang.c (exp_init_os): Delete forward declaration. (init_os): Don't check for bfd_section already created and don't init addr_tree and load_base expressions here. (map_input_to_output_sections): Only map input to output sections and set constraints here, and as an exception, create output sections which have their address set. Move all the other code to.. (create_other_output_sections): ..here. New function. Handle init of addr_tree and load_base here too. (lang_process): Call create_other_output_sections. 2010-02-19 Alan Modra * Makefile.am (eelf32_i960.c): Depend on ELF_GEN_DEPS, not ELF_DEPS. * Makefile.in: Regenerate. 2010-02-19 Alan Modra * ldlang.c (unique_section_p): Add os param. Allow group sections to match /DISCARD/. Update all callers. * emultempl/genelf.em (gld${EMULATION_NAME}_before_allocation): New. (LDEMUL_BEFORE_ALLOCATION): Define. 2010-02-15 Nick Clifton * po/vi.po: Updated Vietnamese translation. 2010-02-10 Richard Sandiford * Makefile.am (CFILES): Add ldlex-wrapper.c. (OFILES): Replace ldlex.c with ldlex-wrapper.c. (ldlex.o): Replace with... (ldlex-wrapper.o): ...this new rule. (EXTRA_ld_new_SOURCES): Add ldlex.l. (ld_new_SOURCES): Replace ldlex.l with ldlex-wrapper.c. * Makefile.in: Regenerate. * ldlex.l (sysdep.h): Don't include here. * ldlex-wrapper.c: New file. 2010-02-09 Alan Modra * emultempl/ppc64elf.em (ppc_before_allocation): Update for changed function parameters. 2010-02-05 Nick Clifton * configure.in (ALL_LIBGUAS): Add bg. * configure: Regenerate. * po/bg.po: New Bulgarian translation. 2010-02-05 Ryan Mansfield * emultempl/armelf.em (PARSE_AND_LIST_OPTIONS): Fix help for --target1-abs and --target1-rel options. 2010-02-03 Nick Clifton * emultempl/alphaelf.em: Update value expected from elf_object_id. * emultempl/hppaelf.em: Likewise. * emultempl/mipself.em: Likewise. * emultempl/ppc32elf.em: Likewise. * emultempl/ppc64elf.em: Likewise. 2010-02-03 Alan Modra * emultempl/ppc64elf.em (build_toc_list): Report errors from ppc64_elf_next_toc_section. (after_allocation): Update for changed function names and params. Run second pass of multitoc partitioning. 2010-01-21 Jon Grant Nick Clifton PR 4437 * ldfile.c: (ldfile_open_file): Do not stop link upon encountering a missing file or library. Instead mark the entry as missing and set the global flag to indicate that missing files were encountered. * ldlang.c (missing_files): New exported variable. (load_symbols): Skip loading if the file is missing. (open_input_bfds): Terminate link if any input files were missing. * ldlang.h (struct lang_input_statement_struct): Add missing_file field. Add export of missing_file variable. 2010-01-13 DJ Delorie * emultempl/elf32.em (_place_orphan): If an input section doesn't match an existing output section, but an unused output section statement does match, use it. * emultempl/pe.em (_place_orphan): Likewise. * emultempl/pep.em (_place_orphan): Likewise. 2010-01-09 Ralf Wildenhues * configure: Regenerate. * Makefile.in: Regenerate. 2010-01-08 H.J. Lu * ldver.c (ldversion): Change to "Copyright 2010". 2010-01-08 Alan Modra PR 11107 * emultempl/vxworks.em: Expand tr arguments to suit non-GNU tr. For older changes see ChangeLog-2009 Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: