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: