2008-12-23 Jon Beniston * Makefile.am: Add LM32 object files and dependencies. * Makefile.in: Regenate. * NEWS: Record that support for LM32 has been added. * configure.tgt: Add LM32 targets. * emulparams/elf32lm32.sh: New file. * emulparams/elf32lm32fd.sh: New file. 2008-12-23 Tristan Gingold * Makefile.am (EXTRA_DIST): Add deffilep.c and deffilep.h * Makefile.in: Regenerate. 2008-12-23 Nick Clifton * NEWS: Remove mention of support for STT_IFUNC. 2008-12-18 Ralf Wildenhues * configure: Regenerate. 2008-12-10 Alan Modra * emultempl/spuelf.em (params): Init new field. (OPTION_SPU_NUM_REGIONS): Define. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --num-regions. (PARSE_AND_LIST_ARGS_CASES): Handle --num-regions. 2008-12-10 Alan Modra * emultempl/spuelf.em (params): New var, used instead of various others. Adjust use throughout file. (spu_after_open): Call spu_elf_setup. (spu_place_special_section): Tidy. (spu_elf_load_ovl_mgr): Return total size of sections loaded. Move code setting overlay section alignment to.. (spu_before_allocation): ..here. 2008-12-03 Nick Clifton * NEWS: Mention new feature. * pe-dll.c (process_def_file): Replace use of redundant BFD_FORT_COMM_DEFAULT_VALUE with 0. * scripttempl/elf.sc: Add .rel.ifunc.dyn and .rela.ifunc.dyn sections. 2008-12-02 Kai Tietz * pe-dll.c (make_runtime_pseudo_reloc): Make symtab big enough to hold relocations. 2008-11-27 M R Swami Reddy * emultempl/cr16elf.em (cr16_after_open): New function to handle CR16 ELF embedded reloc creation (ld --embedded-relocs). (check_sections): New function. (LDEMUL_AFTER_OPEN): Define. * emulparams/elf32cr16.sh (EMBEDDED): Define. 2008-11-26 Alan Modra PR 7047 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Update for changes to struct bfd_elf_version_expr. * ldlang.c (lang_vers_match, version_expr_head_hash): Likewise. (version_expr_head_eq, lang_finalize_version_expr_head): Likewise. (lang_register_vers_node): Likewise. (lang_new_vers_pattern): Likewise. Ensure "literal" is set when no glob chars found in "pattern". (realsymbol): Correct backslash quote logic. * ld.texinfo (VERSION): Warn about global wildcards. 2008-11-24 Alan Modra * ldlang.c (lang_record_phdrs): Don't add orphans to PT_INTERP header. 2008-11-19 Nick Clifton * fdl.texi: Update to v1.3 * ld.texinfo: Change license to v1.3. 2008-11-17 Ulrich Weigand * configure.tgt [spu-*-elf*]: Set NATIVE_LIB_DIRS to '/lib'. 2008-11-17 Nick Clifton * ldver.c: Update copyright year. 2008-11-14 Kai Tietz * emultempl/pep.em (..._before_parse): initialize pei386_runtime_pseudo_reloc by version 2. (OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V1): New option. (OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V2): New option. (make_import_fixup): Use relocation size to read addend. * emultempl/pe.em (..._before_parse): initialize pei386_runtime_pseudo_reloc by version 1. (OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V1): New option. (OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V2): New option. * pe-dll.c (pe-dll.h): Remove useless include. (make_runtime_pseudo_reloc): Change addend to use bfd_vma. Handle the two variants of pseudo-relocation. (pe_create_import_fixup): Change addend to type bfd_vma. Modify for the two pseudo_relocation variants. (runtime_pseudp_reloc_v2_init): New static variable. * pe-dll.h (pe_create_import_fixup): Change addend argument type to bfd_vma. * pep-dll.h (pep_create_import_fixup): Likewise. * NEWS: Add comment. 2008-11-14 Alan Modra * Makefile.am (spu_ovl.o_c): Add missing line continuations. * Makefile.in: Regenerate. 2008-11-06 Joel Sherrill * configure.tgt: Add m32c-*-rtems* and m32r-*-rtems*. 2008-11-03 Bob Wilson * emulparams/elf32xtensa.sh (NO_REL_RELOCS): Set. * scripttempl/elfxtensa.sc (NO_REL_RELOCS, NO_RELA_RELOCS) (NON_ALLOC_DYN): Import changes from elf.sc. 2008-10-25 Nick Clifton PR 6945 * ldlang.c (lang_size_sections_1): Do not update the VMAs of output sections when performing a relocatable link on COFF objects. 2008-10-22 Nick Clifton * emultempl/armelf.em (arm_elf_after_open): Move check for using a non-arm output target from here... (arm_elf_create_output_section_statements): ... to here, so that the check is made at the earliest possible opportunity. 2008-10-22 Alan Modra * emulparams/elf32_i960.sh (TEMPLATE_NAME): "generic", not "elf32". (EXTRA_EM_FILE): Define. 2008-10-22 Alan Modra * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): Handle these defines. * emulparams/criself.sh, * emulparams/crislinux.sh, * emulparams/elf32am33lin.sh, * emulparams/elf32fr30.sh, * emulparams/elf32_i860.sh, * emulparams/elf32ip2k.sh, * emulparams/elf32mcore.sh, * emulparams/elf32ppccommon.sh, * emulparams/elf32ppcwindiss.sh, * emulparams/elf32_sparc.sh, * emulparams/elf32_spu.sh, * emulparams/elf32vax.sh, * emulparams/elf64alpha.sh, * emulparams/elf64mmix.sh, * emulparams/elf64ppc.sh, * emulparams/elf64_s390.sh, * emulparams/elf64_sparc.sh, * emulparams/elf_s390.sh, * emulparams/elf_x86_64.sh, * emulparams/h8300elf.sh, * emulparams/hppa64linux.sh, * emulparams/hppalinux.sh, * emulparams/m68kelf.sh, * emulparams/mn10200.sh, * emulparams/pjelf.sh, * emulparams/ppclynx.sh, * emulparams/shelf32.sh, * emulparams/shelf_nto.sh, * emulparams/shelf.sh, * emulparams/shelf_vxworks.sh, * emulparams/shlelf32_linux.sh, * emulparams/shlelf_linux.sh, * emulparams/shlelf_nto.sh (NO_REL_RELOCS): Set. * emulparams/arcelf.sh, * emulparams/elf32_i960.sh, * emulparams/elf32openrisc.sh, * emulparams/elf_i386_be.sh, * emulparams/elf_i386_ldso.sh, * emulparams/elf_i386.sh, * emulparams/elf_i386_vxworks.sh, * emulparams/i386lynx.sh, * emulparams/i386moss.sh, * emulparams/i386nto.sh, * emulparams/or32elf.sh, * emulparams/scoreelf.sh (NO_RELA_RELOCS): Set. 2008-10-22 Alan Modra * ldlang.c (lang_output_section_find_by_flags): Handle non-alloc sections. * emultempl/elf32.em (enum orphan_save_index): Add orphan_nonalloc. (hold): Likewise. (gld${EMULATION_NAME}_place_orphan): Handle non-alloc orphans. 2008-10-22 Bernhard Reutner-Fischer * emultempl/armelf.em (PARSE_AND_LIST_OPTIONS): Correct typo in help text of --be8. 2008-10-20 Alan Modra * ldemul.h (ldemul_place_orphan): Update prototype. (struct ld_emulation_xfer_struct ): Likewise. * ldemul.c (ldemul_place_orphan): Return pointer to output section statement. * emultempl/beos.em (gld${EMULATION_NAME}_place_orphan): Likewise. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Likewise. * emultempl/mmo.em (mmo_place_orphan): Likewise. * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise. * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise. 2008-10-08 Nick Clifton * configure.in (ALL_LINGUAS): Add "id". * configure: Regenerate. * po/id.po: New Indonesian translation. 2008-10-05 Alan Modra PR 6943 * scripttempl/avr.sc (.bss): Set lma when relocating. (.bss, .noinit): No need to set vma when relocating. (.text, .bss, ,noinit): Set vma to zero when not relocating. 2008-10-04 Alan Modra PR 6931 * ldemul.c (ldemul_place_orphan): Add "constraint" param. * ldemul.h (ldemul_place_orphan): Update prototype. (struct ld_emulation_xfer_struct ): Likewise add param. * ldlang.c (unique_section_p): Make static. (lang_output_section_statement_lookup): Optimise creation of SPECIAL sections. (lang_insert_orphan): Add "constraint" param. Pass to lang_enter_output_section_statement. (init_os): Don't use an existing bfd section for SPECIAL sections. (lang_place_orphans): Don't rename unique output sections, instead mark their output section statements SPECIAL. * ldlang.h (lang_insert_orphan): Update prototype. (unique_section_p): Delete. * emultempl/beos.em (place_orphan): Add "constraint" param. * emultempl/elf32.em (place_orphan): Likewise. Don't match existing output sections if set. * emultempl/pe.em (place_orphan): Likewise. * emultempl/pep.em (place_orphan): Likewise. * emultempl/mmo.em (mmo_place_orphan): Update. * emultempl/spuelf.em (spu_place_special_section): Update. 2008-10-03 Alan Modra PR 6931 * ldemul.c (ldemul_place_orphan): Add "name" param. * ldemul.h (ldemul_place_orphan): Update prototype. (struct ld_emulation_xfer_struct ): Likewise. * ldlang.c (lang_place_orphans): Generate unique section names here.. * emultempl/elf32.em (place_orphan): ..rather than here. Don't directly use an existing output section statement that has no bfd section. * emultempl/pe.em (place_orphan): Likewise. * emultempl/pep.em (place_orphan): Likewise. * emultempl/beos.em (place_orphan): Adjust. * emultempl/spuelf.em (spu_place_special_section): Adjust place_orphan call. * emultempl/genelf.em (gld${EMULATION_NAME}_after_open): New function. (LDEMUL_AFTER_OPEN): Define. 2008-09-30 Joseph Myers * emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.opd and .rela.branch_lt. 2008-09-30 Alan Modra * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 2008-09-29 Peter O'Gorman Steve Ellcey * configure: Regenerate for new libtool. * aclocal.m4: Ditto. * Makefile.in: Ditto. 2008-09-29 Kai Tietz * pe-dll.c (make_import_fixup_entry): Make sure reloc is addend. 2008-09-29 Nick Clifton * po/vi.po: Updated Vietnamese translation. 2008-09-25 Alan Modra * ldexp.c (fold_binary): Evaluate rhs when lhs not valid. 2008-09-11 Jan Kratochvil * configure.in: Call AC_SYS_LARGEFILE. * config.in: Regenerate. * configure: Regenerate. 2008-09-09 Peter Rosin (tiny change) * emultempl/pe.em (pe_find_data_imports): Add trailing newline to warning message. * emultempl/pep.em (pep_find_data_imports): Likewise. 2008-09-08 H.J. Lu 2008-09-07 Alan Modra * emultempl/beos.em (gld${EMULATION_NAME}_place_orphan): Updated. * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Likewise. 2008-09-08 Tristan Gingold * NEWS: Add a marker for the 2.19 features. 2008-09-07 Alan Modra * ldlang.h (lang_output_section_find): Define. (lang_output_section_statement_lookup): Update prototype. * ldlang.c (lang_output_section_find, lang_output_section_statement_lookup_1): Merge into.. (lang_output_section_statement_lookup): ..here. Update all callers. (process_insert_statements): Set constraint negative for output section statements we might be inserting. Make error fatal on not finding insertion section. (lang_output_section_find): Rather than comparing output_section_statement.constraint against -1, test whether it is postive. (lang_output_section_statement_lookup_1): Likewise. (output_prev_sec_find, strip_excluded_output_sections): Likewise. (lang_record_phdrs): Likewise. * emultempl/elf32.em (output_rel_find): Likewise. * NEWS: Mention INSERT. 2008-08-26 Nick Clifton PR 6727 * emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Scan all input sections in all input bfds and always select the last suitable one, so that interworking stubs are always processed after all other input sections. (arm_elf_before_allocation): Remove redundant use of output_has_begun flag. 2008-08-24 Alan Modra * configure.in: Update a number of obsolete autoconf macros. * configure: Regenerate. * aclocal.m4: Regenerate. 2008-08-21 Jan Kratochvil PR ld/6833 * ldexp.c (fold_binary ): Do not align EXPLD.DATASEG.MIN_BASE. * ldlang.c (lang_size_sections): New variable OLD_BASE. Rename OLD_MIN_BASE to MIN_BASE with the former alignment from `ldexp.c'. Use OLD_BASE now for the minimal base check after the base decrease by the maximum alignment found. 2008-08-17 Alan Modra PR 6478 * ldcref.c (check_local_sym_xref): Use bfd_generic_link_read_symbols. Don't free symbol pointer array. (check_refs): Likewise. * ldmain.c (warning_callback): Likewise. * ldmisc.c (vfinfo): Likewise. * pe-dll.c (process_def_file): Likewise. (pe_walk_relocs_of_symbol, generate_reloc): Likewise. * emultempl/pe.em (pe_find_data_imports): Likewise. (gld_${EMULATION_NAME}_after_open): Likewise. * emultempl/pep.em (pep_find_data_imports): Likewise. (gld_${EMULATION_NAME}_after_open): Likewise. * ldlang.h (lang_input_statement_type): Delete asymbols, symbol_count, passive_position, closed. * ldlang.c (new_afile): Don't set asymbols and symbol_count. * ldmain.c (add_archive_element): xcalloc lang_input_statement_type. 2008-08-15 Alan Modra PR 6526 * configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.in: Regenerate. * configure: Regenerate. 2008-08-09 Alan Modra PR 6753 * ldmain.c (check_for_scripts_dir, set_scripts_dir): Delete. (main): Don't set_scripts_dir here. * ldfile.c (check_for_scripts_dir, find_scripts_dir): New functions, largely based on ldmain.c versions. (ldfile_find_command_file): Set up search in script dir here without affecting library search. * Makefile.am (ldmain.o): No need to define SCRIPTDIR. (ldfile.o): New rule. * Makefile.in: Regenerate. 2008-08-08 Anatoly Sokolov * Makefile.am (ALL_EMULATIONS): Add eavr25.o, eavr31.o, eavr35.o, and eavr51.o. Add rules for eavr25.c, eavr31.c, eavr35.c, eavr51.c. * Makefile.in: Regenerate. * configure.tgt (avr-*-*, targ_extra_emuls): Add avr25, avr31, avr35 and avr51. * emulparams/avr25.sh: New file. * emulparams/avr31.sh: New file. * emulparams/avr35.sh: New file. * emulparams/avr51.sh: New file. 2008-08-08 Richard Sandiford Daniel Jacobowitz * emulparams/elf32bmip.sh (GOT): Define, moving .got.plt to... (OTHER_RELRO_SECTIONS, OTHER_READWRITE_SECTIONS): ...one of these two variables. * emulparams/elf32bmipn32-defs.sh: Likewise. * emultempl/mipself.em: Include ldctor.h, elf/mips.h and elfxx-mips.h. (is_mips_elf): New macro. (stub_file, stub_bfd): New variables. (hook_stub_info): New structure. (hook_in_stub): New function. (mips_add_stub_section): Likewise. (mips_create_output_section_statements): Likewise. (mips_before_allocation): Likewise. (real_func): New variable. (mips_for_each_input_file_wrapper): New function. (mips_lang_for_each_input_file): Likewise. (lang_for_each_input_file): Define. (LDEMUL_BEFORE_ALLOCATION): Likewise. (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Likewise. 2008-08-08 Alan Modra * ldfile.c (ldfile_open_file_search): Use concat. (try_open): Don't use a fixed size pathname buffer. (ldfile_find_command_file): Likewise. * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive): If using EXTRA_SHLIB_EXTENSION, don't open twice. 2008-08-04 Alan Modra * Makefile.am (POTFILES.in): Set LC_ALL=C. * Makefile.in: Regenerate. * po/POTFILES.in: Regenerate. 2008-08-03 Alan Modra * Makefile.am (spu_ovl.o): Merge rule into.. (spu_ovl.o_c): ..this one. Only run cpp for spu target. * Makefile.in: Regenerate. 2008-08-02 Jan Kratochvil Include the spu_ovl ASCII form in the repository files. * emultempl/spuelf.em: No longer use `bin2c', use now `spu_ovl.o_c'. * Makefile.am (eelf32_spu.c): Depend now on `spu_ovl.o_c'. ($(srcdir)/emultempl/spu_ovl.o_c): New target. ($(srcdir)/emultempl/spu_ovl.o): Rename to... (spu_ovl.o): ...this one. * Makefile.in: Regenerate. * emultempl/spu_ovl.o_c: New file. * emultempl/spu_ovl.o: File removed. 2008-07-31 Takashi Ono * pe-dll.c (generate_relocs): Don't generate relocs for undefined weak symbols. 2008-07-31 Jan Kratochvil * emultempl/spuelf.em: Abort on the missing required `spu_ovl.o'. 2008-07-30 Alan Modra * emultempl/pe.em, emultempl/pep.em: Silence gcc warnings. 2008-07-18 Joseph Myers * ld.texinfo (--no-wchar-size-warning): Document new ARM option. * emultempl/armelf.em (no_wchar_size_warning): New. (arm_elf_create_output_section_statements): Pass no_wchar_size_warning to arm_elf_create_output_section_statements. (OPTION_NO_WCHAR_SIZE_WARNING): New. (PARSE_AND_LIST_LONGOPTS): Add no-wchar-size-warning. (PARSE_AND_LIST_OPTIONS): List --no-wchar-size-warning. (PARSE_AND_LIST_ARGS_CASES): Handle --no-wchar-size-warning. 2008-07-15 Jie Zhang * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define. 2008-07-12 Craig Silverstein PR ld/6741 * configure.in: Check for, and include, libz.a if it is present. * configure: Regenerate. * config.in: Regenerate. 2008-07-12 Jie Zhang Revert 2008-07-12 Jie Zhang * Makefile.am (eelf32bfin.c): Depend on bfin.em. (eelf32bfinfd.c): Likewise. * Makefile.in: Regenerate. * gen-doc.texi: Set Blackfin. * ld.texinfo: Document --sep-code and Blackfin specific options. * ldmain.c (main): Initialize link_info.sep_code. * lexsup.c (enum option_values): Add OPTION_SEP_CODE. (ld_options[]): Add --sep-code. (parse_args): Deal with --sep-code. * emulparams/bfin.sh (EXTRA_EM_FILE): Define. * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define. * emultempl/bfin.em: New file. 2008-07-12 Jie Zhang * Makefile.am (eelf32bfin.c): Depend on bfin.em. (eelf32bfinfd.c): Likewise. * Makefile.in: Regenerate. * gen-doc.texi: Set Blackfin. * ld.texinfo: Document --sep-code and Blackfin specific options. * ldmain.c (main): Initialize link_info.sep_code. * lexsup.c (enum option_values): Add OPTION_SEP_CODE. (ld_options[]): Add --sep-code. (parse_args): Deal with --sep-code. * emulparams/bfin.sh (EXTRA_EM_FILE): Define. * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define. * emultempl/bfin.em: New file. 2008-07-09 Danny Smith *pe-dll.c (autofilter_symbolprefixlist): Excude all symbols starting with ".". Exclude "_IMPORT_DESCRIPTOR_". (autofilter_symbolsuffixlist): Exclude "_NULL_THUNK_DATA". (autofilter_symbollist_generic): Don't check for ".text". Exclude "_NULL_IMPORT_DESCRIPTOR". (autofilter_symbollist_i386): Likewise. 2008-07-07 Alan Modra * emultempl/armelf.em (elf32_arm_add_stub_section): Use bfd_make_section_with_flags. * emultempl/avrelf.em (avr_elf_create_output_section_statements): Likewise. * emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise. * emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise. * emultempl/m68kcoff.em (gld${EMULATION_NAME}_after_open): Likewise. * emultempl/m68kelf.em (m68k_elf_after_open): Likewise. * emultempl/ppc64elf.em (ppc_add_stub_section): Likewise. * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_before_allocation): Likewise. 2008-07-06 Nathan Sidwell * ld.texinfo (File Commands): Document that INCLUDE can be used in several different places. * ldgram.y (statement, memory_spec, section): Allow INCLUDE. (memory, memory_spec_list): Simplify BNF (memory_spec_list_opt): New rule. * ldlex.l (INCLUDE): Recognize in EXPRESSION. 2008-06-20 Alan Modra * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Make "can not build overlay stubs" a fatal error. 2008-06-17 Ralf Wildenhues * config.in: Regenerate. * configure: Regenerate. 2008-06-17 Alan Modra * emultempl/spuelf.em (extra_stack_space): New variable. (gld${EMULATION_NAME}_finish): Pass it to spu_elf_check_vma. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Handle --extra-stack-space. * emultempl/spu_ovl.S: Mask interrupts during dma and update of overlay manager structures. * emultempl/spu_ovl.o: Regenerate. 2008-06-16 Hans-Peter Nilsson * ld.texinfo (@node MMIX): For the __.MMIX.start. prefix, only mention it as being special for global symbols. 2008-06-12 Nick Clifton * ldlang.c (print_output_section_statement): If the output section statement has an update_dot_tree expression, apply it to print_dot. (print_input_section): Do not update print_dot if it would move print_dot backwards. (lang_do_assignments_1): If the output section statement has an update_dot_tree expression apply it to dot. 2008-06-07 Alan Modra * NEWS: Mention archive:path patterns. * ld.texinfo: Likewise. * ldlang.c: Formatting throughout. (archive_path): Only assume "[A-Za-z]:" is a dos drive. (input_statement_is_archive_path): New function, extracted from.. (walk_wild): ..here. (walk_wild_consider_section): Match archive:path here too. (init_map_userdata, sort_def_symbol): Convert to ISO C. * ldmain.c (main): Set link_info.path_separator. * emultempl/spuelf.em (choose_target): Don't set it here. 2008-06-06 Alan Modra * ldlang.c (name_match): New function. (unique_section_p, walk_wild_consider_section): Use it here. (walk_wild_section_general): And here. (archive_path): New function. (walk_wild): Match archive:path filespecs. (open_input_bfds): Don't load archive:path files. * emultempl/spuelf.em (choose_target): Set path_separator. * emulparams/elf32_spu.sh: Add ._ea.* sections to ._ea output. 2008-06-04 Nick Clifton * ld.texinfo (Orphan Sections): Fix texi typo. 2008-06-04 Chris Metcalf * lexsup.c (option_values): Add OPTION_NO_WARN_FATAL. (ld_options): Add entry for --no-fatal-warnings. (parse_args): Handle OPTION_NO_WARN_FATAL. * ld.texinfo (Options): Document new command line switch. 2008-06-04 Alan Modra * emultempl/spuelf.em (spu_elf_relink): Correct --no-auto-overlay arg. 2008-06-02 Nathan Sidwell * ldlang.c (closest_target_match): Skip generic big and little endian ELF targets. 2008-05-31 Evandro Menezes PR ld/6430 * ld.h (enum sort_order): New. * ldlang.c (lang_check: Fix comment. (lang_common): Sort commons in ascending or descending order. (lang_one_common): Likewise. * lexsup.c (ld_options): Have --sort-common take an option argument. (parse_args): Handle argument to --sort-common. * ld.texinfo (--sort-common): Document new optional argument. * NEWS: Mention new feature. 2008-05-28 Christophe Lyon * ld.texinfo: State that farcalls stubs are supported for ARM-EABI only. 2008-05-27 Kai Tietz * pe-dll.c (fill_edata): Make sure we calculate vma's in type bfd_vma. (generate_reloc): Likewise. (pe_implied_import_dll): Likewise. 2008-05-21 Nick Clifton PR ld/6519 * ld.texinfo (Orphan Sections): Mention that the linker will provide start and stop symbols for orphaned sections if their names are valid C identifiers. * NEWS: Add an addendum to the description of the linker feature for providing orphan section start and end symbols. 2008-05-21 Maxim Kuvyrkov * configure.in (--enable-got): New option. Handle it. * configure: Regenerate. * config.in: Regenerate. * emultempl/m68kelf.em: (got_handling_target_default): New shell variable. (GOT_HANDLING_TARGET_DEFAULT): New macro. (GOT_HANDLING_DEFAULT): New macro. Initialize it from configure option if one was given. (got_handling): New static variable. (elf_m68k_create_output_section_statements): New static function implementing hook. (PARSE_AND_LIST_PROLOGUE): Define shell variable. (OPTION_GOT): New macro. (PARSE_AND_LIST_LONGOPTS): Define shell variable. Specify --got option. (got): New linker option. (PARSE_AND_LIST_OPTIONS): Define shell variable. Print help string for --got option. (PARSE_AND_LIST_ARGS_CASES): Define shell variable. Handle --got option. * ld.texinfo: Document --got= option. * gen-doc.texi: Add M68K. * NEWS: Mention the new feature. 2008-05-21 Evandro Menezes PR ld/6430 * ld.texinfo (--sort-common): Correct documentation to indicate that sorting is performed by alignment, not size, biggest alignment first. 2008-05-21 Christophe Lyon Nick Clifton * ld.texinfo (ARM): Document --stub-group-size=N option. Move description of --pic-veneer option into the ARM section. * NEWS: Mention the support for long function calls. 2008-05-15 Christophe Lyon * emultempl/armelf.em (build_section_lists): New function. (stub_file): Define. (need_laying_out): Define. (group_size): Define. (hook_stub_info): Define. (hook_in_stub): New function. (elf32_arm_add_stub_section): New function. (gldarm_layout_sections_again): New function. (gld${EMULATION_NAME}_finish): Replace arm_elf_finish(). Generate stubs for long calls if needed. (arm_elf_create_output_section_statements): create stub_file bfd. (arm_for_each_input_file_wrapper): New function. (arm_lang_for_each_input_file): New function. (lang_for_each_input_file): Define. (PARSE_AND_LIST_PROLOGUE): Add option token OPTION_STUBGROUP_SIZE. (PARSE_AND_LIST_LONGOPTS): Add option stub-group-size. (PARSE_AND_LIST_OPTIONS): Add option stub-group-size. (PARSE_AND_LIST_ARGS_CASES): Add OPTION_STUBGROUP_SIZE case. (LDEMUL_FINISH): Update to gld${EMULATION_NAME}_finish. * lang.c (print_input_statement): Skip if bfd has BFD_LINKER_CREATED. 2008-05-14 Alan Modra * Makefile.in: Regenerate. 2008-05-09 Kai Tietz ld/PR6502 * emultempl/pep.em (compute_dll_image_base): Use bfd_vma instead of long and change return type to bfd_vma. (definfo): Change type of address from long to bfd_vma. (set_pep_value): Replace strtoul to strtoull. (gld_${EMULATION_NAME}_set_symbols): use bfd_vma instead of long.. * pe-dll.c (pe_dll_generate_def_file): Use fprintf_vma to print ImageBase. (quick_reloc): Change argument address from int to bfd_size_type. 2008-05-08 Tom Tromey * ld.texinfo (PowerPC64 ELF64): Fix typo. 2008-05-08 Alan Modra * elf32_spu.sh (OTHER_SECTIONS): Add "._ea". * elf32ppc.sh: If building with spu support, put ".data.spehandle" sections at the start of ".data" and provide a symbol to locate the directory of embedded spe programs. 2008-05-08 Alan Modra * ldexp.c (exp_print_token): Add ABSOLUTE, MIN_K, ASSERT_K. Correct MAX_K. (fold_binary ): Set expld.result.section to current section. Expand comment. Formatting. (fold_name ): Set expld.result.section to current section. 2008-04-28 Nathan Sidwell * ldlang.c (lang_size_sections_1): Don't check LMA overflow on non-load sections. 2008-04-25 Michael Frysinger * configure.tgt (bfin-*-linux-uclibc*): Set targ_emul to elf32bfinfd and targ_extra_emuls to elf32bfin. 2008-04-23 Paolo Bonzini * aclocal.m4: Regenerate. * configure: Regenerate. 2008-04-03 Kai Tietz * scripttempl/pep.sc: Align start of symbol __CTOR_LIST__. 2008-04-08 Alan Modra * po/POTFILES.in: Regenerate. 2008-04-08 Alan Modra * emultempl/spuelf.em (auto_overlay, auto_overlay_file, auto_overlay_fixed, auto_overlay_reserved, my_argc, my_argv): New vars. (spu_before_allocation): Warn on --auto-overlay and existing overlays. (struct tflist, clean_tmp): Move. (new_tmp_file): New function, extracted from.. (embedded_spu_file): ..here. (spu_elf_open_overlay_script, spu_elf_relink): New function. (gld${EMULATION_NAME}_finish): Pass a bunch of --auto-overlay params. Warn on --auto-overlay and zero local store. (gld${EMULATION_NAME}_choose_target): New function to stash argv. (OPTION_SPU_AUTO_OVERLAY, OPTION_SPU_AUTO_RELINK, OPTION_SPU_OVERLAY_RODATA, OPTION_SPU_FIXED_SPACE, OPTION_SPU_RESERVED_SPACE, OPTION_SPU_NO_AUTO_OVERLAY): Define. (PARSE_AND_LIST_LONGOPTS): Add entries for new options. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. (LDEMUL_CHOOSE_TARGET): Define. 2008-04-03 Kai Tietz PR ld/6026 * pe-dll.c (make_head): Fix iat and thunk addend offset. 2008-03-31 Nick Clifton * po/fr.po: Updated French translation. 2008-03-24 Ian Lance Taylor The sha1 code is now in libiberty. * sha1.c: Remove. * sha1.h: Remove. * Makefile.am (CFILES): Remove sha1.c. (HFILES): Remove sha1.h. (OFILES): Remove sha1.o. (ld_new_SOURCES): Remove sha1.c. (sha1.o): Remove target. * Makefile.in: Rebuild. 2008-03-20 Alan Modra * emultempl/spuelf.em: Update calls to elf32-spu.c funcs. 2008-03-17 Ralf Wildenhues * aclocal.m4: Regenerate. * configure: Likewise. * Makefile.in: Likewise. 2008-03-14 Alan Modra * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect spu_elf_build_stubs with is_spu_target. 2008-03-13 Alan Modra * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. * configure: Regenerate. 2008-03-06 Joseph Myers Roman Zippel * emulparams/m68kelf.sh (GENERATE_PIE_SCRIPT): Define. (COMMONPAGESIZE): Define. 2008-02-22 Nick Clifton PR ld/5785 * ldlang.c (lang_size_sections_1): Honour the setting of an lma_region even if there is no vma region set, or the vma region is the same as the lma region. 2008-02-18 Nick Clifton * scripttempl/armbpabi.sc (ENTRY): Do not define when performing a relocatable link. * scripttempl/elf32cr16.sc: Likewise. * scripttempl/elf32cr16c.sc: Likewise. * scripttempl/elf32crx.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/elfd10v.sc: Likewise. * scripttempl/elfi370.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/ip2k.sc: Likewise. * scripttempl/iq2000.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/v850.sc: Likewise. * scripttempl/xstormy16.sc: Likewise. 2008-02-16 Alan Modra PR ld/5761 * ldexp.c (fold_name ): Check result of evaluating load_base before calling make_abs. 2008-02-15 Alan Modra * emultempl/alphaelf.em (alpha_after_open): Use elf_object_id. * emultempl/hppaelf.em (hppaelf_create_output_section_statements): Likewise. * emultempl/ppc64elf.em (ppc_create_output_section_statements): Likewise. * emultempl/ppc32elf.em (is_ppc_elf32_vec): Delete. Replace all uses with.. (is_ppc_elf): ..this new macro. 2008-02-15 Alan Modra * ldmain.h (output_bfd): Delete. * ldmain.c (output_bfd): Delete. Replace all occurrences of output_bfd with link_info.output_bfd. * ldcref.c: Likewise. * ldctor.c: Likewise. * ldemul.c: Likewise. * ldexp.c: Likewise. * ldfile.c: Likewise. * ldlang.c: Likewise. * ldmisc.c: Likewise. * ldwrite.c: Likewise. * pe-dll.c: Likewise. * emultempl/aix.em: Likewise. * emultempl/alphaelf.em: Likewise. * emultempl/armcoff.em: Likewise. * emultempl/armelf.em: Likewise. * emultempl/avrelf.em: Likewise. * emultempl/beos.em: Likewise. * emultempl/elf-generic.em: Likewise. * emultempl/elf32.em: Likewise. * emultempl/gld960.em: Likewise. * emultempl/hppaelf.em: Likewise. * emultempl/irix.em: Likewise. * emultempl/linux.em: Likewise. * emultempl/lnk960.em: Likewise. * emultempl/m68hc1xelf.em: Likewise. * emultempl/mmix-elfnmmo.em: Likewise. * emultempl/mmo.em: Likewise. * emultempl/pe.em: Likewise. * emultempl/pep.em: Likewise. * emultempl/ppc32elf.em: Likewise. * emultempl/ppc64elf.em: Likewise. * emultempl/scoreelf.em: Likewise. * emultempl/sh64elf.em: Likewise. * emultempl/spuelf.em: Likewise. * emultempl/sunos.em: Likewise. * emultempl/vanilla.em: Likewise. * emultempl/vxworks.em: Likewise. * emultempl/xtensaelf.em: Likewise. * emultempl/z80.em: Likewise. * ldlang.c (open_output): Don't return output, instead write link_info_output_bfd directly. * emultempl/alphaelf.em: Replace occurrences of link_info.hash->creator with link_info.output_bfd->xvec. * emultempl/hppaelf.em: Likewise. * emultempl/ppc32elf.em: Likewise. * emultempl/ppc64elf.em: Likewise. * emultempl/spuelf.em: Likewise. 2008-02-07 Alan Modra * ldlang.c (new_afile): Don't pass unadorned NULL to concat. * ldfile.c (ldfile_add_library_path): Likewise. * emultempl/elf32.em (check_ld_elf_hints, check_ld_so_conf): Likewise. * emultempl/lnk960.em (lnk960_before_parse): Likewise. * emultempl/spuelf.em (embedded_spu_file): Likewise. 2008-02-07 Alan Modra * emultempl/spu_ovl.S: Use low bit of _ovly_table.size as a "present" bit rather than low bit of .buf. Correct indexing into _ovly_buf_table. Use relative loads and stores to access overlay manager local vars. * emultempl/spu_ovl.o: Regenerate. 2008-02-04 H.J. Lu PR 5715 * configure: Regenerated. 2008-01-31 Marc Gauthier * configure.tgt (xtensa*-*-*): Recognize processor variants. 2008-01-28 Fabian Groffen * configure.tgt (x86_64-*-solaris2): Add support for this target. 2008-01-28 Vincent Riviere PR ld/5652 * genscripts.sh: Check for the existence of BASH_LINENO not just the BASH shell before generating line numbers in the emulation file. 2008-01-28 Alan Modra * emultempl/spu_ovl.S: Rewrite. * emultempl/spu_ovl.o: Regenerate. * emultempl/spuelf.em (toe): Delete. (spu_place_special_section): Add param to control section placement. Adjust callers. (spu_elf_load_ovl_mgr): Adjust for struct _spu_elf_section_data changes. (spu_before_allocation): Adjust spu_elf_size_stubs call. (gld${EMULATION_NAME}_finish): Adjust spu_elf_build_stubs call. 2008-01-25 H.J. Lu PR ld/5670 * ldlang.c (process_insert_statements): Silence gcc 4.1 alias warning. 2008-01-25 Alan Modra * ld.texinfo (INSERT): Describe. * ldgram.y (ldgram_in_script, ldgram_had_equals): Delete. (INSERT_K, AFTER, BEFORE): Add as tokens. (ifile_p1): Handle INSERT statements. (saved_script_handle, force_make_executable): Move to.. * ldmain.c: ..here. (previous_script_handle): New global var. * ldmain.h (saved_script_handle, force_make_executable): Declare. (previous_script_handle): Likewise. * ldlex.l (INSERT_K, AFTER, BEFORE): Add tokens. * lexsup.c (parge_args <-T>): Set previous_script_handle. * ldlang.c (lang_for_each_statement_worker): Handle insert statement. (map_input_to_output_sections, print_statement): Likewise. (lang_size_sections_1, lang_do_assignments_1): Likewise. (insert_os_after): New function, extracted from.. (lang_insert_orphan): ..here. (process_insert_statements): New function. (lang_process): Call it. (lang_add_insert): New function. * ldlang.h (lang_insert_statement_enum): New. (lang_insert_statement_type): New. (lang_statement_union_type): Add insert_statement. (lang_add_insert): Declare. 2008-01-18 Bob Wilson * scripttempl/elfxtensa.sc: Merge ENTRY and .note.gnu.build-id changes from elf.sc. 2008-01-16 Alan Modra * ldlang.c (lang_size_sections_1): Simplify SEC_NEVER_LOAD test. 2008-01-16 Alan Modra * ldlang.h (lang_afile_asection_pair_statement_enum): Delete. (lang_afile_asection_pair_statement_type): Delete. (lang_statement_union_type): Delete afile_asection_pair_statement. * ldlang.c (lang_insert_orphan): Delete case handling the above. (map_input_to_output_sections, print_statement): Likewise. 2008-01-15 Kaz Kojima * emulparams/shlelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE with __data_start. * emulparams/shelf_nbsd.sh (DATA_START_SYMBOLS): Likewise. 2008-01-15 Alan Modra PR 5604 * ldlang.c (lang_gc_sections): Move code to set SEC_KEEP on entry syms to _bfd_elf_gc_keep. * emultempl/ppc64elf.em (ppc_before_allocation): Don't call ppc64_elf_edit_opd if no_opd_opt. 2008-01-11 Tristan Gingold Eric Botcazou * ldlang.c (lang_end): Warns if the entry point is not found when --gc-sections. Emit an error if no root is specified when --gc-sections -r. * ld.texinfo (Options): Document that --gc-sections is compatible with -r and -q. * ldmain.c (main): Do not error out if -r and --gc-sections. * scripttempl/elf.sc: Emit ENTRY command only if relocating. 2008-01-10 Daniel Jacobowitz PR ld/5533 * ldlang.c (lang_end): Issue a warning for a missing start symbol of a shared library if the symbol was specified on the command line. 2008-01-10 Alan Modra * ld.texinfo (--gc-sections): Describe linker behaviour. For older changes see ChangeLog-2007 Copyright (C) 2008 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: