From 81b07b162c1b6d9ec524b0bbc481a39de74a4d2d Mon Sep 17 00:00:00 2001 From: Dave Korn Date: Sat, 3 Jan 2009 17:43:45 +0000 Subject: [PATCH] 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. Also rolled over ChangeLog to ChangeLog-2008 --- ld/ChangeLog | 1095 +------------------------------------------- ld/ChangeLog-2008 | 1099 +++++++++++++++++++++++++++++++++++++++++++++ ld/pe-dll.c | 34 +- 3 files changed, 1137 insertions(+), 1091 deletions(-) create mode 100755 ld/ChangeLog-2008 diff --git a/ld/ChangeLog b/ld/ChangeLog index fece7232ae2..531b8a70e99 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,1095 +1,10 @@ -2008-12-23 Jon Beniston +2009-01-03 Dave Korn - * 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. + * pe-dll.c (autofilter_liblist): Add entry for shared libgcc. + (libnamencmp): New function. + (auto_export): Use it in place of strncmp when filtering libraries. -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 +For older changes see ChangeLog-2008 Local Variables: mode: change-log diff --git a/ld/ChangeLog-2008 b/ld/ChangeLog-2008 new file mode 100755 index 00000000000..fece7232ae2 --- /dev/null +++ b/ld/ChangeLog-2008 @@ -0,0 +1,1099 @@ +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 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/ld/pe-dll.c b/ld/pe-dll.c index f5aa9dd19c6..de43e343295 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -314,6 +314,7 @@ static const autofilter_entry_type autofilter_liblist[] = { STRING_COMMA_LEN ("libcegcc") }, { STRING_COMMA_LEN ("libcygwin") }, { STRING_COMMA_LEN ("libgcc") }, + { STRING_COMMA_LEN ("libgcc_s") }, { STRING_COMMA_LEN ("libstdc++") }, { STRING_COMMA_LEN ("libmingw32") }, { STRING_COMMA_LEN ("libmingwex") }, @@ -324,6 +325,37 @@ static const autofilter_entry_type autofilter_liblist[] = { NULL, 0 } }; +/* Regardless of the suffix issue mentioned above, we must ensure that + we do not falsely match on a leading substring, such as when libtool + builds libstdc++ as a DLL using libsupc++convenience.a as an intermediate. + This routine ensures that the leading part of the name matches and that + it is followed by only an optional version suffix and a file extension, + returning zero if so or -1 if not. */ +static int libnamencmp (const char *libname, const autofilter_entry_type *afptr) +{ + if (strncmp (libname, afptr->name, afptr->len)) + return -1; + + libname += afptr->len; + + /* Be liberal in interpreting what counts as a version suffix; we + accept anything that has a dash to separate it from the name and + begins with a digit. */ + if (libname[0] == '-') + { + if (!ISDIGIT (*++libname)) + return -1; + /* Ensure the filename has an extension. */ + while (*++libname != '.') + if (!*libname) + return -1; + } + else if (libname[0] != '.') + return -1; + + return 0; +} + static const autofilter_entry_type autofilter_objlist[] = { { STRING_COMMA_LEN ("crt0.o") }, @@ -501,7 +533,7 @@ auto_export (bfd *abfd, def_file *d, const char *n) while (afptr->name) { - if (strncmp (libname, afptr->name, afptr->len) == 0 ) + if (libnamencmp (libname, afptr) == 0 ) return 0; afptr++; } -- 2.30.2