2009-09-23 Matt Rice * emultempl/elf32.em (gld${EMULATION_NAME}_add_options): Add --audit, --depaudit, and -P options. (gld${EULATION_NAME}_handle_options): Ditto. (gld${EULATION_NAME}_list_options): Ditto. (gld${EMULATION_NAME}_append_to_separated_string): New function for handling rpath-like colon separated strings. (gld${EMULATION_NAME}_before_allocation): Pass the audit and depaudit libs to bfd. Propagate DT_AUDIT from needed libs to depaudit. * ld.texinfo: Document new options. 2009-09-23 Nick Clifton * po/vi.po: Updated Vietnamese translation. 2009-09-22 Alan Modra * scripttempl/a29k.sc: Delete. * scripttempl/ebmon29k.sc: Delete. * scripttempl/m68klynx.sc: Delete. * scripttempl/sa29200.sc: Delete. * scripttempl/sparclynx.sc: Delete. 2009-09-21 Alan Modra * emultempl/ppc32elf.em (no_tls_get_addr_opt): New var. (ppc_before_allocation): Pass to ppc_elf_tls_setup. (OPTION_NO_TLS_GET_ADDR_OPT): Define. Redefine other options in terms of previous option. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --no-tls-get-addr-optimize. (PARSE_AND_LIST_ARGS_CASES): Handle it. * emultempl/ppc64elf.em (no_tls_get_addr_opt): New var. (ppc_before_allocation): Pass to ppc64_elf_tls_setup. (OPTION_NO_TLS_GET_ADDR_OPT): Define. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --no-tls-get-addr-optimize. (PARSE_AND_LIST_ARGS_CASES): Handle it. 2009-09-18 Nick Clifton * po/es.po: Updated Spanish translation. 2009-09-13 Alan Modra PR ld/6766 * lexsup.c (parse_args <-e>): Revert 2009-03-18 change. * ldemul.c (after_parse_default): Add entry symbol as undef. * emultempl/alphaelf.em (alpha_after_parse): Call 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/ia64elf.em (gld${EMULATION_NAME}_after_parse): Likewise. * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Call after_parse_default and delete now duplicate code. * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse): Likewise. * scripttempl/elf32cr16.sc: No need to make entry extern. * scripttempl/elf32cr16c.sc: Likewise. * scripttempl/elf32crx.sc: Likewise. * scripttempl/elf32xc16xs.sc: Only provide ENTRY on final link. 2009-09-11 Nick Clifton * po/ld.pot: Updated by the Translation project. * po/fi.po: Updated Finnish translation. 2009-09-11 Martin Thuresson Updated sources to compile cleanly with -Wc++-compat: * ld.h (enum endian_enum,enum symbolic_enum,enum dynamic_list_enum): Move to top level. * ldcref.c: Add casts. * ldctor.c: Add casts. * ldexp.c * ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level. * ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead of integer. * ldlang.h (enum statement_enum): Move to top level. * ldmain.c: Add casts. * ldwrite.c: Add casts. * lexsup.c: Add casts. (enum control_enum): Move to top level. * mri.c: Add casts. (mri_draw_tree): Use enum name instead of integer. 2009-09-09 Alan Modra * scripttempl/aix.sc: Only provide ENTRY on final link. * scripttempl/alpha.sc: Likewise. * scripttempl/armcoff.sc: Likewise. * scripttempl/crisaout.sc: Likewise. * scripttempl/delta68.sc: Likewise. * scripttempl/ebmon29k.sc: Likewise. * scripttempl/elf32xc16x.sc: Likewise. * scripttempl/elf32xc16xl.sc: Likewise. * scripttempl/elfmicroblaze.sc: Likewise. * scripttempl/epocpe.sc: Likewise. * scripttempl/h8300.sc: Likewise. * scripttempl/h8300h.sc: Likewise. * scripttempl/h8300hn.sc: Likewise. * scripttempl/h8300s.sc: Likewise. * scripttempl/h8300sn.sc: Likewise. * scripttempl/h8300sx.sc: Likewise. * scripttempl/h8300sxn.sc: Likewise. * scripttempl/hppaelf.sc: Likewise. * scripttempl/i386beos.sc: Likewise. * scripttempl/i386coff.sc: Likewise. * scripttempl/i386go32.sc: Likewise. * scripttempl/m68kaux.sc: Likewise. * scripttempl/m68klynx.sc: Likewise. * scripttempl/m88kbcs.sc: Likewise. * scripttempl/maxqcoff.sc: Likewise. * scripttempl/mcorepe.sc: Likewise. * scripttempl/mips.sc: Likewise. * scripttempl/ppcpe.sc: Likewise. * scripttempl/sa29200.sc: Likewise. * scripttempl/sparccoff.sc: Likewise. * scripttempl/sparclynx.sc: Likewise. * scripttempl/tic4xcoff.sc: Likewise. * scripttempl/tic54xcoff.sc: Likewise. * scripttempl/tic80coff.sc: Likewise. * scripttempl/z8000.sc: Likewise. 2009-09-07 Tristan Gingold * po/ld.pot: Regenerate. 2009-09-05 Martin Thuresson * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols, gld${EMULATION_NAME}_try_needed): Rename variable class to link_class. 2009-09-04 Tristan Gingold * NEWS: Add marker for 2.20. 2009-09-04 Alan Modra * scripttempl/elf.sc (.text): Add cold text sections. 2009-09-04 Jie Zhang * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Add .l2.text and .l2.data. 2009-09-03 Dave Korn * scripttempl/pe.sc (.text): Add "*(.text.*)" in order to catch new GCC hot/cold/unlikely partitions. * scripttempl/pep.sc: Likewise. * scripttempl/epocpe.sc: Likewise. * scripttempl/mcorepe.sc: Likewise. * scripttempl/ppcpe.sc: Likewise. 2009-09-01 Ralf Wildenhues * Makefile.am (ldgram.o, ldlex.o, deffilep.o): Supply correct source file name for generated files which may be in $(srcdir). * Makefile.in: Regenerate. 2009-09-01 H.J. Lu * ldver.c (ldversion): Change to "Copyright 2009". 2009-09-01 Jie Zhang * scripttempl/elf.sc: Add ${USER_LABEL_PREFIX} to _start, etext, _stack and __bss_start. * emulparams/bfin.sh (ENTRY): Remove. 2009-08-30 Alan Modra PR ld/10569 * ldexp.c (fold_name ): Return config.maxpagesize. (fold_name ): Similarly. * ldlang.c (output_target): Make global. * ldlang.h (output_target): Declare. * ldmain.c (main): Set config.maxpagesize from bfd_emul_get_maxpagesize. Similarly for config.commonpagesize. * ldemul.c (set_output_arch_default): Call bfd_emul_set_maxpagesize and bfd_emul_set_commonpagesize. * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Don't call bfd_emul_set_maxpagesize or bfd_emul_set_commonpagesize here. 2009-08-29 Martin Thuresson * ldexp.c (exp_intop, exp_bigintop, exp_relop, exp_binop) (exp_trinop, exp_unop, exp_nameop, exp_assop): Rename variable new to new_e. * ldfile.c (ldfile_add_library_path): Rename variable new to new_dirs. (ldfile_add_arch): Rename variable new to new_arch. * ldlang.c (new_statement, lang_final, lang_add_wild) (lang_target, lang_add_fill, lang_add_data, lang_add_assignment) (lang_add_insert): Rename variable new to new_stmt. (new_afile): Added missing cast. (lang_memory_region_lookup): Rename variable new to new_region. (init_os): Rename variable new to new_userdata. (lang_add_section): Rename variable new to new_section. (ldlang_add_undef): Rename variable new to new_undef. (realsymbol): Rename variable new to new_name. 2009-08-26 Nick Clifton PR ld/10555 * emultempl/elf32.em (_after_open): Do not create a .note.gnu-build-id section if there are no input files. 2009-08-24 Nick Clifton * scripttempl/elfxtensa.sc (DISCARDED): Discard sections with .gnu.lto_ prefix. * scripttempl/armbpabi.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/mep.sc: Likewise. 2009-08-24 Ralf Wildenhues * Makefile.am (ldmain.o, ldfile.o): Fix typos in non-fastdep rules. (eelf32_spu.o): Add dependency tracking. * Makefile.in: Regenerate. * Makefile.am (am__skiplex, am__skipyacc): New. * Makefile.in: Regenerate. 2009-08-22 Ralf Wildenhues * Makefile.am (bin_PROGRAMS): Renamed from ... (noinst_PROGRAMS): ... this. (transform): Override, including the renaming of ld-new to ld. (install-exec-local): Installation of ld in $(bindir) not needed here any more. (AM_CPPFLAGS): Renamed from ... (INCLUDES): ... this. (MAINTAINERCLEANFILES): Add ld.1. * Makefile.in: Regenerate. * Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus. Add no-texinfo.tex, no-dist, foreign. (TEXINFO_TEX): New variable. (install-data-local): Removed, not needed any more. (all): Dependencies upon info and ld.1 not needed any more. (MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Removed. (mkdep generated section): Removed. (ldgram.o, ldlex.o, deffilep.o, ldmain.o, ldfile.o): Rewrite to use automake dependency tracking mechanism. (EXTRA_ld_new_SOURCES): Add pep-dll.c, pe-dll.c, and $(ALL_EMULATIONS:.o=.c) $(ALL_64_EMULATIONS:.o=.c) so their dependencies are tracked too. (BUILT_SOURCES): New, list $(GENERATED_HFILES) to ensure they are built early. * configure.in: Use AM_MAINTAINER_MODE. * aclocal.m4, configure, Makefile.in: Regenerate. * Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am) (install-pdf-recursive, html__strip_dir, install-html) (install-html-am, install-html-recursive): Remove. * Makefile.in: Regenerate. * Makefile.in: Regenerate. * aclocal.m4: Likewise. * config.in: Likewise. * configure: Likewise. 2009-08-21 Richard Guenther * scripttempl/elf.sc: Discard sections with .gnu.lto_ prefix. 2009-08-12 Tristan Gingold * ld.h (fat_user_section_struct): Add map_symbol_def_count field. * ldlang.c (hash_entry_addr_cmp): New function. (print_all_symbols): Sort the symbols by address before printing them. 2009-08-10 Alan Modra PR 10474 * ldemul.c (after_allocation_default): Run lang_relax_sections. * ldlang.h (lang_relax_sections): Declare. * ldlang.c (relax_sections): Delete. (lang_relax_sections): New function. (lang_process): Don't relax directly from here. * emultempl/alphaelf.em (alpha_finish): Call finish_default. * emultempl/armelf.em (arm_elf_after_allocation): Delete. Move body.. (gld${EMULATION_NAME}_finish): ..to here. Move existing code.. (gld${EMULATION_NAME}_after_allocation): ..to here. New function. (LDEMUL_AFTER_ALLOCATION): Update. * emultempl/avrelf.em (avr_elf_finish, LDEMUL_FINISH): Delete. (avr_elf_after_allocation): New function. (LDEMUL_AFTER_ALLOCATION): Define. * emultempl/elf-generic.em (gld${EMULATION_NAME}_map_segments): Call lang_relax_sections. * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Delete. Move.. (gld${EMULATION_NAME}_after_allocation): ..code to here. New function. (LDEMUL_AFTER_ALLOCATION, LDEMUL_FINISH): Update. * emultempl/genelf.em (gld${EMULATION_NAME}_finish): Delete. Move.. (gld${EMULATION_NAME}_after_allocation): ..code to here. New function. (LDEMUL_FINISH): Delete. (LDEMUL_AFTER_ALLOCATION): Define. * emultempl/hppaelf.em (gld${EMULATION_NAME}_finish): Delete. Move.. (gld${EMULATION_NAME}_after_allocation): ..to here. New function. (LDEMUL_FINISH): Delete. (LDEMUL_AFTER_ALLOCATION): Define. * emultempl/m68hc1xelf.em (m68hc11elf_finish): Delete. Move.. (m68hc11elf_after_allocation): ..to here. New function. (LDEMUL_FINISH): Delete. (LDEMUL_AFTER_ALLOCATION): Define. * emultempl/m68kelf.em (m68k_elf_after_allocation): Call gld${EMULATION_NAME}_after_allocation. * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Call gld${EMULATION_NAME}_after_allocation. * emultempl/mmo.em (mmo_finish): Delete. Move body.. (gld${EMULATION_NAME}_after_allocation): ..to here. New function. (LDEMUL_FINISH): Define. * emultempl/ppc64elf.em (ppc_layout_sections_again): Set elf_gp. (gld${EMULATION_NAME}_finish): Move code sizing sections.. (gld${EMULATION_NAME}_after_allocation): ..to here. * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation): Call gld${EMULATION_NAME}_after_allocation. * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Delete bfd_elf_discard_info and map_segments call. 2009-08-06 Michael Eager * Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to ALL_EMULATIONS, targets. * Makefile.in: Regenerate. * configure.tgt: Add microblaze*-linux*, microblaze* targets. * emulparams/elf32mb_linux.sh: New. * emulparams/elf32microblaze.sh. New. * scripttempl/elfmicroblaze.sc: New. 2009-08-05 Trevor Smigiel * emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup section and __fixup_start symbol. * emultempl/spuelf.em (params): Initialize emit_fixups member. (spu_before_allocation): Call spu_elf_size_sections. (OPTION_SPU_EMIT_FIXUPS): Define. (PARSE_AND_LIST_LONGOPTS): Add --emit-fixups. (PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups. * ld.texinfo (--emit-fixups): Document. 2009-08-04 Alan Modra PR 10474 * emultempl/ppc32elf.em (ppc_before_allocation): Test rawsize, not size, after lang_reset_memory_regions. 2009-07-30 Alan Modra * emulparams/elf32ppc.sh (PLT): Don't include ".iplt". * emulparams/elf_i386.sh (IREL_IN_PLT): Define. * emulparams/elf_x86_64.sh (IREL_IN_PLT): Define. * scripttempl/elf.sc: Create separate .iplt and .rela.iplt sections when !IREL_IN_PLT. 2009-07-29 Hans-Peter Nilsson * scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to the new $RELOCATEABLE_OUTPUT_FORMAT, if set. (OUTPUT_FORMAT): Use the variable $OUTPUT_FORMAT. (ENTRY): Don't emit for relocateable links. (/DISCARD/): Don't discard .gnu.warning.* for relocateable links. * emulparams/mmo.sh (RELOCATEABLE_OUTPUT_FORMAT): Set, to elf64-mmix. * emulparams/elf64mmix.sh (OTHER_TEXT_SECTIONS): Empty, don't provide "Main" or set "_start.", for relocateable links. 2009-07-27 Nick Clifton * (po/fi.po): Updated Finnish translation. 2009-07-25 H.J. Lu * configure.tgt (targ64_extra_emuls): Add elf_l1om if elf_x86_64 is supported. Add elf_l1om_fbsd if elf_x86_64_fbsd is supported. (targ_extra_emuls): Likewise. * Makefile.am (ALL_64_EMULATIONS): Add eelf_l1om.o and eelf_l1om_fbsd.o (eelf_l1om.c): New. (eelf_l1om_fbsd.c): Likewise. * Makefile.in: Regenerated. * emulparams/elf_l1om.sh: New. * emulparams/elf_l1om_fbsd.sh: Likewise. 2009-07-23 Ulrich Drepper * NEWS: Mention the linker's support for symbols with a binding of STB_GNU_UNIQUE. 2009-07-22 H.J. Lu PR ld/10429 * ldlang.c (insert_os_after): Tie assignments to non-alloc output sections if there is no-input section. 2009-07-11 Alan Modra * ldlang.c (insert_os_after): Don't tie assignments to non-alloc output sections. 2009-07-10 Alan Modra * emultempl/ppc32elf.em (ppc_before_allocation): Turn on linker relaxation if it might be necessary. 2009-07-10 Alan Modra * emulparams/elf32ppc.sh (GOTPLT, PLT): Handle .iplt. 2009-07-06 Matthias Klose * ld.texinfo: Fix typo. 2009-07-03 Tristan Gingold * scripttempl/pep.sc: Put .eh_frame in its own section. * scripttempl/pe.sc: Ditto. 2009-06-26 Kai Tietz * scripttempl/pe.sc (.debug_pubtypes): Added section rule. * scripttempl/pep.sc: Likewise. 2009-06-25 Tristan Gingold * ldlang.c (print_input_section): Add is_discarded parameter. Adjust prototype. (lang_map): Print the size of discarded sections. (print_statement): Adjust call to print_input_section. 2009-06-18 Dave Korn Merge cegcc and mingw32ce target name changes from CeGCC project: 2008-09-24 Pedro Alves * configure.tgt (arm*-*-cegcc*): Set LIB_PATH to ${tooldir}/lib/w32api. 2007-12-25 Pedro Alves * configure.tgt: Add arm*-*-cegcc* target. 2007-12-17 Pedro Alves * configure.tgt: Add arm-*-mingw32ce* target. 2009-06-10 Philip Blundell * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Avoid crash if section has no ELF data. 2009-06-06 H.J. Lu * scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc. 2009-06-05 H.J. Lu * scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn. 2009-06-04 Alan Modra * dep-in.sed: Don't use \n in replacement part of s command. * Makefile.am (DEP1): LC_ALL for uniq. * Makefile.in: Regenerate. 2009-06-01 H.J. Lu * scripttempl/elf.sc (PLT): Add "*(.iplt)". (GOT): Add "*(.igot.plt)a" and "*(.igot)". (GOTPLT): Add "*(.igot)". (__rel_iplt_start): New. (__rel_iplt_end): Likewise. (__rela_iplt_start): Likewise. (__rela_iplt_end): Likewise. 2009-05-27 Dave Korn * deffilep.y (%union): Add new string-type semantic value 'digits'. (%token): Remove NUMBER as token, add DIGITS. (%type): Add NUMBER as type. Add new id types anylang_id, opt_id. (ALIGNCOMM): Parse an anylang_id instead of a plain ID. (anylang_id): New production. (opt_digits): Likewise. (opt_id): Likewise. (NUMBER): Likewise. (def_lex): Return strings of digits in raw string form as DIGITS token, instead of converting to numeric integer type. 2009-05-26 Nathan Sidwell * ldmain.c (main): Don't reject --relax -r. * ld.texinfo (PowerPC ELF32): Document behaviour of relaxing partial links. 2009-05-26 Nick Clifton * po/id.po: Updated Indonesian translation. * po/ld.pot: Updated template file. 2009-05-26 Alan Modra * dep-in.sed: Output one filename per line with all lines having continuation backslash. Prefix first line with "A", following lines with "B". * Makefile.am (DEP): Don't use dep.sed here. (DEP1): Run $MKDEP on single files, use dep.sed here on dependencies, sort and uniq. * Makefile.in: Regenerate. 2009-05-26 Alan Modra * ldlang.c (lang_check_section_addresses): Ignore non-alloc sections. 2009-05-22 Julian Brown * emultempl/armelf.em (fix_cortex_a8): New. (arm_elf_before_allocation): Call bfd_elf32_arm_set_cortex_a8_fix. (arm_elf_create_output_section_statements): Add fix_cortex_a8 to bfd_elf32_arm_set_target_relocs. (OPTION_FIX_CORTEX_A8, OPTION_NO_FIX_CORTEX_A8): New. (PARSE_AND_LIST_LONGOPTS): Add [no-]fix-cortex-a8 options. (PARSE_AND_LIST_OPTIONS): Add [no-]fix-cortex-a8 options. (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_[NO_]FIX_CORTEX_A8. * ld.texinfo (--[no-]fix-cortex-a8): Briefly document new options. 2009-05-22 Nathan Sidwell * ldlang.c (lang_check_section_addresses): Ignore non-loadable sections when checking for overlap. Clarify error message concerns load address. 2009-05-22 Alan Modra * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 2009-05-19 Dave Korn * NEWS: Mention new feature. * deffile.h (def_file_aligncomm): Add new struct definition. (def_file): Add new def_file_aligncomm member. * deffilep.y (%token): Add new ALIGNCOMM token. (command): Add production rule for ALIGNCOMM. (def_file_free): Free any chained def_file_aligncomm structs. (diropts[]): Add entry for '-aligncomm' .drectve command. (def_aligncomm): New grammar function. * ld.texinfo: Document new feature. * pe-dll.c (process_def_file): Rename from this ... (process_def_file_and_drectve): ... to this, updating all callers, and process any aligncomms chained to the def file after scanning all .drectve sections. (generate_edata): Updated to match. (pe_dll_build_sections): Likewise. 2009-05-17 Aaron W. LaFramboise * pe-dll.c (process_def_file): Do not create empty export table. 2009-05-15 Alan Modra * ldlang.c (lang_output_section_statement_lookup): Add function comment. Make "name" non-const. Ensure duplicate entries use the same string, allowing simple comparison in hash bucket loop. Tweak constraint check. (next_matching_output_section_statement): New function. * ldlang.h (lang_output_section_statement_lookup): Update. (next_matching_output_section_statement): Declare. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't combine orphan sections when input sections flags differ in alloc or load. * emultempl/pe.em: Formatting throughout. (gld${EMULATION_NAME}_place_orphan): As for elf32.em. * emultempl/pep.em: Formatting throughout. (gld${EMULATION_NAME}_place_orphan): As for elf32.em. 2009-05-14 Ulrich Weigand * emultempl/spuelf.em (PARSE_AND_LIST_ARGS_CASES): Always use compact stubs with software i-cache. 2009-05-14 Alan Modra * emultempl/spuelf.em (spu_before_allocation): Call spu_elf_place_overlay_data. 2009-05-14 Alan Modra * ldlang.c (lang_insert_orphan): Add __start_
symbol assignment inside output section statement. Ensure only one set of symbols per output section. * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add non- dollar sections before dollar sections. Correct add_child list insertion. * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise. 2009-05-05 Paul Brook * emultempl/armelf.em (compare_output_sec_vma): New function. (gld${EMULATION_NAME}_finish): Add exidx munging code. 2009-05-05 Anatoly Sokolov * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. * emulparams/avr1.sh (DATA_ORIGIN): Add. * emulparams/avr2.sh (DATA_ORIGIN): Add. * emulparams/avr25.sh (DATA_ORIGIN): Add. * emulparams/avr3.sh (DATA_ORIGIN): Add. * emulparams/avr31.sh (DATA_ORIGIN): Add. * emulparams/avr35.sh (DATA_ORIGIN): Add. * emulparams/avr4.sh (DATA_ORIGIN): Add. * emulparams/avr5.sh (DATA_ORIGIN): Add. * emulparams/avr51.sh (DATA_ORIGIN): Add. (DATA_LENGTH): Update. * emulparams/avr6.sh (DATA_ORIGIN): Add. (DATA_LENGTH): Update. 2009-05-04 Dave Korn * NEWS: Mention new feature. * ld.texinfo (--version-script): Document extent of PE support. (WIN32): Mention --version-script. Extend auto-export description. * pe-dll.c (process_def_file): Use version script info to filter symbols from auto-export. * testsuite/ld-pe/vers-script-1.d: New file. * testsuite/ld-pe/vers-script-2.d: New file. * testsuite/ld-pe/vers-script-3.d: New file. * testsuite/ld-pe/vers-script-4.d: New file. * testsuite/ld-pe/vers-script-1.ver: New file. * testsuite/ld-pe/vers-script-2.ver: New file. * testsuite/ld-pe/vers-script-3.ver: New file. * testsuite/ld-pe/vers-script-4.ver: New file. * testsuite/ld-pe/vers-script-dll.c: New file. * testsuite/ld-pe/vers-script.exp: New test script. 2009-05-01 Nathan Sidwell * emulparams/vxworks.sh (TEXT_START_ADDR): Override. 2009-04-30 Nick Clifton * NEWS: Mention support for IFUNC symbols. 2009-04-29 Anthony Green * emulparams/elf32moxie.sh (STACK_ADDR): Move default stack position out to accommodate larger programs. 2009-04-29 Chris Demetriou * lexsup.c (option_values): Add OPTION_NO_EXPORT_DYNAMIC. (ld_options): Likewise. (parse_args): Likewise. * ld.texinfo: Document --no-export-dynamic. * NEWS: Mention --no-export-dynamic. 2009-04-29 Alan Modra * deffilep.y (STACKSIZE_K): Rename from STACKSIZE. 2009-04-25 Alan Modra PR 10061 * genscripts.sh: Don't pass $EMULATION_NAME as $CUSTOMIZER_SCRIPT param. 2009-04-21 Daniel Jacobowitz * emultempl/armelf.em (bfd_for_interwork, arm_elf_after_open) (arm_elf_set_bfd_for_interworking): Delete. (arm_elf_before_allocation): Do not set the interworking BFD. Move allocation inside not-dynamic block. (arm_elf_create_output_section_statements): Create glue sections and set the interworking BFD here. (LDEMUL_AFTER_OPEN): Delete. 2009-04-16 Richard Sandiford * ldlang.c (lang_one_common): Use bfd_define_common_symbol. 2009-04-15 Anthony Green * configure.tgt: Add moxie support. * Makefile.am: Add moxie files. * Makefile.in: Rebuilt. * emulparams/elf32moxie.sh: New file. * scripttempl/moxie.sc: New file. 2009-04-15 Kazu Hirata * ldlang.c: Do not include limits.h. 2009-04-14 Alan Modra PR ld/10047 * ldfile.c (find_scripts_dir): Use make_relative_prefix to find ldscripts in build tree. Don't repeat search for ../lib/ldscripts. 2009-04-13 H.J. Lu * ldfile.c (ldfile_find_command_file): Revert the last change. 2009-04-11 H.J. Lu PR ld/10047 * ldfile.c (ldfile_find_command_file): First try raw name. 2009-04-09 Nick Clifton PR 9824 * ld.texinfo (Output Section Constraint): New node. Documents the ONLY_IF_RO and ONLY_IF_RW constraints. (Symbolic Constants): New node. Documents the CONSTANT operator. 2009-04-09 Thilo Fischer * emultempl/spuelf.em (embedded_spu_file): Use pex_one in place of fork/execvp. 2009-04-08 H.J. Lu * lexsup.c (option_values): Add OPTION_WARN_ALTERNATE_EM. (ld_options): Likewise. (parse_args): Likewise. * ld.texinfo: Document --warn-alternate-em. * NEWS: Mention --warn-alternate-em. 2009-04-07 DJ Delorie * emulparams/elf32mep.sh: Change default endian to little. 2009-04-07 Nick Clifton * ld.texinfo (Output Section Address): Note that specifying an address for an output section will only change the location counter if the output section is used. 2009-04-06 Kazu Hirata * ldfile.c (ldfile_find_command_file): Initialize result. 2009-04-06 Kazu Hirata * ld.texinfo (-L): Mention that -L options do not affect how ld searches for a linker script unless -T option is specified. * ldfile.c (ldfile_find_command_file): Append the path obtained from the program name to the search path instead of prepending. Add a new parameter "default_only". Restrict the search to the default script location if the new parameter is true. (ldfile_open_command_file_1): New. (ldfile_open_command_file): Call ldfile_open_command_file_1. (ldfile_open_default_command_file): New. 2009-04-03 Nathan Sidwell * ldlang.c (lang_leave_output_section_statement): Set lma_region if it is not overridden and section is for the same vma region as the previous section. 2009-04-02 Dave Korn PR ld/6744 * ld.texinfo (--export-dynamic): Mention --export-all-symbols. * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Issue warning if --export-dynamic was passed on command-line. * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse): Likewise. 2009-04-01 Richard Sandiford * emultempl/aix.em (gld${EMULATION_NAME}_open_dynamic_archive): New function. (ld_${EMULATION_NAME}_emulation): Use it. 2009-03-20 H.J. Lu PR ld/9970 * ldlang.c (lang_end): Warn missing entry symbol for -pie. 2009-03-19 Alan Modra * emultempl/spuelf.em (spu_before_allocation): Report errors from spu_elf_find_overlays. 2009-03-18 H.J. Lu PR ld/6766 * lexsup.c (parse_args): Call ldlang_add_undef for -e. 2009-03-18 Alan Modra * ld.h: Remove alloca handling. 2009-03-17 Alan Modra * emultempl/spu_icache.S: Add new entry to dummy handler. * emultempl/spu_icache.o_c: Regenerate. * emultempl/spuelf.em (params): Init new field. (no_overlays): New static var. (spu_before_allocation): Use it. (OPTION_SPU_COMPACT_STUBS): Define. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add compact-stubs. (PARSE_AND_LIST_ARGS_CASES): Handle compact-stubs. Adjust no-overlays handling. 2009-03-17 Alan Modra * configure.host (HOSTING_LIBS): Two dollars on shell variable expansion to suit make. 2009-03-17 Alan Modra * configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL. * Makefile.am (check-DEJAGNU): Set DO_COMPARE. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. 2009-03-14 Richard Sandiford * emultempl/aix.em (auto_export_flags): New variable. (explicit_auto_export_flags): Likewise. (OPTION_EXPALL, OPTION_EXPFULL): New enum values. (OPTION_NOEXPALL, OPTION_NOEXPFULL): Likewise. (gld${EMULATION_NAME}_add_options): Add -bexpall, -bexpfull, -bnoexpall and -bnoexpfull. (gld${EMULATION_NAME}_handle_option): Handle them. (gld${EMULATION_NAME}_before_allocation): Update the call to bfd_size_dynamic_sections. 2009-03-14 Richard Sandiford * emultempl/aix.em (gld${EMULATION_NAME}_handle_option): Make -berok and -bernotok control link_info.unresolved_syms_in_objects and link_info.unresolved_syms_in_shared_libs instead of force_make_executable. 2009-03-14 Richard Sandiford * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set config.dynamic_link to TRUE. 2009-03-14 Richard Sandiford * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Mark .text, .data and .bss output sections as SEC_KEEP. 2009-03-14 Richard Sandiford * configure.tgt: Extend AIX 5 behavior to AIX 6 and above. 2009-03-14 Dave Korn Danny Smith * emultmpl/pe.em (pe_dll_characteristics): New variable. (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT, OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND, OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE): New macros for options to set DllCharacteristics flag bits. (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg, nxcompat, no-isolation, no-seh, no-bind, wdmdriver, tsaware options. (init): Add DllCharacteristics field. (gld_${EMULATION_NAME}_list_options): List new options. (gld${EMULATION_NAME}_handle_option): Handle new options. * emultmpl/pep.em (pe_dll_characteristics): New variable. (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT, OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND, OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE): New macros for options to set DllCharacteristics flags. (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg, nxcompat,no-isolation, no-seh, no-bind, wdmdriver, tsaware options. (init): Add DllCharacteristics field. (gld_${EMULATION_NAME}_list_options): List new options. (gld${EMULATION_NAME}_handle_option): Handle new options. * ldtexinfo : Document dynamicbase, forceinteg, nxcompat, no-isolation, no-seh, no-bind, wdmdriver, tsaware options. 2009-03-06 Nick Clifton * po/es.po: Updated Spanish translation. 2009-03-03 Dave Korn * emultempl/pe.em (debug_section_p): New bfd_map_over_sections hook. (gld_${EMULATION_NAME}_after_open): Use it to iterate all sections of all input BFDs, looking for debug info. Enable long section names if any found. * emultempl/pe.em (debug_section_p): Likewise. (gld_${EMULATION_NAME}_after_open): Likewise. * NEWS: Retrospectively adjust news announcement. * ld.texinfo: Update documentation to mention new behaviour. 2009-03-03 Alan Modra * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 2009-03-02 Sebastian Huber * ldgram.y: Add support for REGION_ALIAS operator. * ldlang.c: Likewise. * ldlang.h: Likewise. * ldlex.l: Likewise. * NEWS: Mention the new feature. * ld.texinfo: Document the new feature. 2009-03-02 Qinwei * Makefile.am: Replace score elf emulation with score3 and score7 emulations. * Makefile.in: Regenerate, * NEWS: Mention support for Score7 architecture. * configure.tgt: Add score7 emulation to score-elf target. * emulparams/scoreelf.sh: Add score7 support. * emultempl/scoreelf.em: Likewise. 2009-03-01 John David Anglin * configure.tgt: Only use elf64hppa target emulation for hpux. * emulparams/elf64hppa.sh: Don't include hppa64linux.sh. (SCRIPT_NAME): Use new script elf64hppa. (SCRIPT_NAME, ELFSIZE, NO_REL_RELOCS, ARCH, MACHINE, ENTRY, TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT, OTHER_READONLY_SECTIONS, OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS, OTHER_GOT_RELOC_SECTIONS, DATA_START_SYMBOLS, OTHER_SYMBOLS, DATA_PLT, PLT_BEFORE_GOT, TEXT_DYNAMIC): Define. * emulparams/hppa64linux.sh: Adjust comments. * scripttempl/elf64hppa.sc: New file. 2009-03-01 Ralf Wildenhues * configure: Regenerate. 2009-02-27 Dave Korn * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Set default state of auto-import flag based on $target. 2009-02-24 Joseph Myers * ld.texinfo (ARM): Document changed meaning of --stub-group-size. * emultempl/armelf.em (hook_in_stub): Insert after the input section. (elf32_arm_add_stub_section): Update comment. (PARSE_AND_LIST_OPTIONS): Update help for --stub-group-size. 2009-02-24 Sandra Loosemore * ld.texinfo (Options): Correct typos in example. Recommend using joined forms of syntax for passing options with arguments from a driver. (-a): Use consistent syntax for documenting option arguments. Clean up indexing and markup. (-A/--architecture): Likewise. (-f/--auxiliary): Likewise. (-F/--filter): Likewise. (-fini): Likewise. (-G/--gpsize): Likewise. (-h/-soname):Likewise. (-init): Likewise. (-l/--library): Likewise. (-L/--library-path): Likewise. (-m): Likewise. (--defsym): Likewise. (-I/--dynamic-linker): Likewise. (-Map): Likewise. (--oformat): Likewise. (--retain-symbols-file): Likewise. (-rpath): Likewise. (-rpath-link): Likewise. (--sort-common): Likewise. (--sort-section): Likewise. (--split-by-file): Likewise. (--split-by-reloc): Likewise. (--sysroot): Likewise. (--section-start): Likewise. (-Tbss, -Tdata, -Ttext): Likewise. (-Ttext-segment): Likewise. (--version-script): Likewise. (--wrap): Likewise. 2009-02-18 Dave Korn * ld.texinfo: Update to mention long section name options. * NEWS: Mention new behaviour and command-line options. * pe-dll.c (pe_use_coff_long_section_names): New global variable. (pe_output_file_set_long_section_names): New function. (pe_dll_build_sections): Call it on output BFDs. (pe_exe_build_sections): Likewise. (pe_dll_fill_sections): Likewise. (pe_exe_fill_sections): Likewise. * pe-dll.h (pe_use_coff_long_section_names): Declare extern. (pe_output_file_set_long_section_names): Add prototype. * pep-dll.c (pe_use_coff_long_section_names): Define pep_ alias. (pe_output_file_set_long_section_names): Likewise. * pep-dll.h (pep_use_coff_long_section_names): Declare extern. (pep_output_file_set_long_section_names): Add prototype. * pe.em (OPTION_ENABLE_LONG_SECTION_NAMES): New getopt value macro. (OPTION_DISABLE_LONG_SECTION_NAMES): Likewise. (gld${EMULATION_NAME}_add_options): Add new options to xtra_long[]. (gld_${EMULATION_NAME}_list_options): Describe them. (gld${EMULATION_NAME}_handle_option): Set or clear global pe_use_coff_long_section_names flag when options recognised. (gld_${EMULATION_NAME}_after_open): En/disable long section names for main output bfd by calling pe_output_file_set_long_section_names. * pep.em (enum options): Extend enum with new getopt option values. (gld${EMULATION_NAME}_add_options): Add new options to xtra_long[]. (gld_${EMULATION_NAME}_list_options): Describe them. (gld${EMULATION_NAME}_handle_option): Set or clear global pe_use_coff_long_section_names flag when options recognised. (gld_${EMULATION_NAME}_after_open): En/disable long section names for main output bfd by calling pep_output_file_set_long_section_names. 2009-02-16 Dave Korn * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Don't emit inadvertent .reloc sections caused by refactoring accident. 2009-02-16 Alan Modra * ldlang.c (process_insert_statements): ASSERT that output section statements are in order. 2009-02-16 Alan Modra * ldlang.c (push_stat_ptr, pop_stat_ptr): New functions. (stat_save, stat_save_ptr): New variables. (lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr. (load_symbols): Likewise. Delete dead "bad_load" code. (open_input_bfds): Warn on script containing output sections. (lang_enter_output_section_statement): Use push_stat_ptr. (lang_enter_group): Likewise. (lang_leave_output_section_statement): Use pop_stat_ptr. (lang_leave_group): Likewise. * ldlang.h (push_stat_ptr, pop_stat_ptr): Declare. * ldctor.c (ldctor_build_sets): Use push_stat_ptr and pop_stat_ptr. * emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Likewise. * 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. 2009-02-09 Nathan Sidwell Missing piece of 2009-01-26 commit * ldlang.c (lang_process): Don't consider relocatable flag when checking for overlap. 2009-02-05 Joseph Myers * emulparams/m68kelf.sh: Add newline at end of file. 2009-02-04 Nick Clifton PR 9805 * ld.texinfo (--allow-shlib-undefined): Correct description of default settings and tidy up the rest of the entry. 2009-02-04 Alan Modra * emultempl/spuelf.em (spu_after_open): Don't combine .text.ia.* during relocatable link. 2009-02-03 Nick Clifton PR 9797 * ld.texinfo (Constants): Document the base-encoding suffixes supported in linker scripts. 2009-02-03 Alan Modra * NEWS: Mention --as-needed change. 2009-02-03 Carlos O'Donell * configure.in: AC_SUBST pdfdir. * Makefile.am: Add install-pdf, install-pdf-am, and install-pdf-recursive targets. Define pdf__strip_dir. * po/Make-in: Add install-pdf target. * configure: Regenerate. * Makefile.in: Regenerate. 2009-01-31 Alan Modra * ld.texinfo (--as-needed): Update. 2009-01-29 Andrew Jenner * emultempl/armelf.em: Correct formatting of help text for --no-enum-size-warning option. 2009-01-26 Nathan Sidwell * lexsup.c (parse_args): Set check_section_addresses to 1 or 0. * ld.h (args_type): Make check_section_addresses a char. * ldmain.c (main): Default check_section_addresses to -1. Check it for relocatable links. * ld.texinfo (--check-sections): Update documentation. 2009-01-26 Kai Tietz * pe-dll.c (tmp_seq2): New static variable. (make_singleton_name_imp): New. (make_import_fixup_entry): Use for v2 the _imp_ symbol and avoid duplicate import table generation for same symbol. (pe_create_runtime_relocator_reference): Make reference for 64-bit 8 bytes. 2009-01-21 Alan Modra * emultempl/spuelf.em (params): Init new field. (OPTION_SPU_NON_IA_TEXT): Define. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --non-ia-text. (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_SPU_NON_IA_TEXT. 2009-01-16 H.J. Lu * lexsup.c (option_values): Add OPTION_TTEXT_SEGMENT. (ld_options): Add -Ttext-segment. (parse_args): Handle OPTION_TTEXT_SEGMENT. * ld.texinfo: Document -Ttext-segment. * NEWS: Mention -Ttext-segment. * scripttempl/elf.sc (TEXT_START_ADDR): Use SEGMENT_START. (SHLIB_TEXT_START_ADDR): Likewise. 2009-01-13 Alan Modra * emultempl/spu_icache.o_c: Regenerate. 2009-01-12 Alan Modra * emultempl/spuelf.em (params): Init new fields. (num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars. (spu_place_special_section): Adjust placement for soft-icache. Pad soft-icache section to a fixed size. Clear addr_tree. (spu_elf_load_ovl_mgr): Support soft-icache. Map overlay manager sections a little more intelligently. (gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs. (OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS. (OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define. (OPTION_SPU_LRLIVE): Define. (PARSE_AND_LIST_LONGOPTS): Add new soft-icache options. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Handle them. * emultempl/spu_icache.S: Dummy file. * emultempl/spu_icache.o_c: Regenerate. * Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c. (spu_icache.o_c): Add rule to build. (CLEANFILES): Zap temp files. (EXTRA_DIST): Add spu_icache.o_c. * Makefile.in: Regenerate. 2009-01-08 Kai Tietz * pe.em (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New. (gld..._add_options): Add new option --use-nul-prefixed-import-tables. (gld..._handle_option): Likewise. * pep.em: Same as for pe.em. * ld.texinfo: Add new option documentation for --use-nul-prefixed-import-tables. * pe-dll.c (pe_use_nul_prefixed_import_tables): New. (make_head): Make prefix leading zero prefix element for idata$4 and idata$5 dependent to new flag. (make_import_fixup_entry): Remove idata4/5 prefix. * pe-dll.h (pe_use_nul_prefixed_import_tables): New. * pep-dll.c (pe_use_nul_prefixed_import_tables): New. * pep-dll.h (pep_use_nul_prefixed_import_tables): New. * NEWS: Add new option. 2009-01-05 Kai Tietz * emultempl/pe.em: Prefix dollar characters to be outputed in generated C file. * emultempl/pep.em: Likewise. 2009-01-03 Dave Korn * NEWS: Mention new feature --exclude-modules-for-implib. * ld.texinfo: Document new --exclude-modules-for-implib option. * pe-dll.c (exclude_list_struct): Change type member from int to new enumeration exclude_type. (pe_dll_add_excludes): Accept exclude_type instead of int param. (auto_export): Replace magic constants by exclude_type values and handle new choice EXCLUDEFORIMPLIB. (pe_dll_generate_implib): Accept a pointer to the link_info and iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open fresh BFDs for any found and link into import lib archive chain. * pe-dll.h (exclude_type): Add new enumerated type to replace magic constants previously used for exclude_list_struct type member. (pe_dll_add_excludes, pe_dll_generate_implib): Update prototypes. * pep-dll.h (exclude_type, pe_dll_add_excludes, pe_dll_generate_implib): Likewise to all the above. * emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB): Define new getopts long option code for new --exclude-modules-for-implib option. (gld${EMULATION_NAME}_add_options): Add new entry to xtra_long[]. (gld_${EMULATION_NAME}_list_options): List usage for it. (gld${EMULATION_NAME}_handle_option): Use exclude_type enumerated values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB. (gld_${EMULATION_NAME}_finish): Pass pointer to link_info when calling pe_dll_generate_implib. * emultempl/pep.em (options): Define new enumerated value for getopts long option code for new --exclude-modules-for-implib option. (gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options, gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish): Again, likewise to all the above. 2009-01-03 Dave Korn * pe-dll.c (autofilter_liblist): Add entry for shared libgcc. (libnamencmp): New function. (auto_export): Use it in place of strncmp when filtering libraries. For older changes see ChangeLog-2008 Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: