aboutsummaryrefslogtreecommitdiff
path: root/ld
AgeCommit message (Collapse)AuthorFilesLines
2008-06-17 * configure: Regenerate.Ralf Wildenhues3-32/+63
config/ * override.m4: Use m4_version_prereq throughout. (_AC_ARG_VAR_VALIDATE, AC_MSG_FAILURE): Backport from git Autoconf: output pwd along with fatal errors, so the right config.log file is hinted at more prominently. (PARSE_ARGS): Push setting of ac_pwd in this diversion. (_GCC_AUTOCONF_VERSION): New, define to 2.59 if not defined. (_GCC_AUTOCONF_VERSION_CHECK): New macro, require use of Autoconf version _GCC_AUTOCONF_VERSION throughout the tree. (m4_wrap): New override, fix for Posix semantics of m4wrap. binutils/ * configure: Regenerate. opcodes/ * configure: Regenerate. bfd/ * configure: Regenerate. gas/ * configure: Regenerate. gprof/ * configure: Regenerate. ld/ * config.in: Regenerate. * configure: Regenerate.
2008-06-16bfd/Alan Modra4-9/+76
* elf32-spu.c (struct spu_link_hash_table): Add extra_stack_space. (spu_elf_check_vma): Add extra_stack_space param, copy to htab. (spu_elf_auto_overlay): Use it. (RECURSE_UNMARK): Define as 0. (unmark_overlay_section): Heed RECURSE_UNMARK. * elf32-spu.h (spu_elf_check_vma): Update prototype. ld/ * 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 * ld.texinfo (@node MMIX): For the __.MMIX.start. prefix, onlyHans-Peter Nilsson2-4/+9
mention it as being special for global symbols.
2008-06-16 PR gas/6607Hans-Peter Nilsson10-0/+87
* ld-mmix/loc10.d, ld-mmix/loc10.s, ld-mmix/loc10m.d, ld-mmix/loc8.d, ld-mmix/loc8.s, ld-mmix/loc8m.d, ld-mmix/loc9.d, ld-mmix/loc9.s, ld-mmix/loc9m.d: New tests.
2008-06-12 * ldlang.c (print_output_section_statement): If the output sectionNick Clifton5-1/+43
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. * ld-scripts/overlay-size.t (end_of_bss_overlays): Define. (end_of_text_overlays): Define. (end_of_data_overlays): Define. * ld-scripts/overlay-size-map.d: Add expected values for end_of_bss_overlays, end_of_text_overlays and end_of_data_overlays.
2008-06-09 * ld-sh/arch/arch_expected.txt: Regenerate.Kaz Kojima2-25/+29
2008-06-09 * ld-arm/mixed-lib.d: Loosen pattern.Daniel Jacobowitz2-1/+5
2008-06-092008-06-03 Christophe Lyon <christophe.lyon@st.com>Daniel Jacobowitz3-2/+7
bfd/ * elf32-arm.c (arm_stub_is_thumb): Define. (elf32_arm_final_link_relocate): Handle near mode switching stubs. ld/testsuite/ * ld-arm/farcall-thumb-thumb-m.d: Fix branch type. * ld-arm/farcall-thumb-arm.d: Likewise.
2008-06-07 * NEWS: Mention archive:path patterns.Alan Modra6-126/+177
* 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-06include/Alan Modra4-26/+78
* bfdlink.h (struct bfd_link_info): Add "path_separator". bfd/ * elf32-spu.c (spu_elf_auto_overlay): Relax requirement that file names be unique. Specify archive:path in overlay script. ld/ * 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 * ld.texinfo (Orphan Sections): Fix texi typo.Nick Clifton2-1/+5
2008-06-04 * lexsup.c (option_values): Add OPTION_NO_WARN_FATAL.Nick Clifton3-2/+18
(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 * emultempl/spuelf.em (spu_elf_relink): Correct --no-auto-overlay arg.Alan Modra2-2/+7
2008-06-02 * ldlang.c (closest_target_match): Skip generic big and littleNick Clifton1-0/+5
endian ELF targets. (The patch itself was actually checked in by mistake with a previous delta)
2008-05-31 PR ld/6430Nick Clifton9-17/+153
* testsuite/ld-elfcomm/elfcomm.exp (test_sort_common): Test the ascending/descending argument to the --sort-common command line option. * testsuite/ld-elfcomm/sort-common.s: New file. * 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-31Ooops, omitted from previous deltaNick Clifton2-0/+8
2008-05-28 ld/testsuite/Nick Clifton5-31/+49
* ld-arm/arm-elf.exp: Skip farcalls tests for non-ARM-EABI targets. * ld-arm/thumb2-bl-as-thumb1-bad-noeabi.d: New file. * ld-arm/thumb2-bl-bad-noeabi.d: Likewise. ld/ * ld.texinfo: State that farcalls stubs are supported for ARM-EABI only.
2008-05-272008-05-27 Kai Tietz <kai.tietz@onevision.com>Kai Tietz2-35/+45
* 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-23Add more farcall testsNick Clifton10-0/+361
2008-05-23 bfd/Nick Clifton8-64/+94
* elf32-arm.c (arm_type_of_stub): Ignore STT_SECTION symbols. (elf32_arm_stub_add_mapping_symbol): Remove. (elf32_arm_add_stub): Don't generate mapping symbols. Change prototype. (elf32_arm_size_stubs): Use new elf32_arm_add_stub prototype. Don't generate thumb to arm glue for calls. (arm_map_one_stub): Define. (elf32_arm_output_arch_local_syms): Generate mapping symbols for long calls stubs. ld/testsuite/ * ld-arm/farcall-arm-arm.s: Force function type on 'bar'. * ld-arm/farcall-thumb-arm.s: Likewise. * ld-arm/farcall-thumb-arm-blx.d: Fix encoding. * ld-arm/farcall-thumb-arm.d: Likewise. * ld-arm/farcall-thumb-arm-blx-pic-veneer.d: Likewise. * ld-arm/arm-elf.exp (armelftests): Add farcall-mix, farcall-mix2, farcall-group-default, farcall-group-size2, farcall-section Ignore gas warnings in farcall-thumb-arm, farcall-thumb-arm-blx, farcall-thumb-arm-blx-pic-veneer.
2008-05-21 PR ld/6519Nick Clifton2-5/+17
* 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 Multi-GOT support for m68k.Nick Clifton28-16/+467515
bfd/ * elf32-m68k.c (struct elf_m68k_link_hash_entry: got_entry_key, glist): New fields. (struct elf_m68k_got_entry_key, struct elf_m68k_got_entry, struct elf_m68k_got, struct elf_m68k_bfd2got_entry, struct elf_m68k_multi_got): New data structures. (struct elf_m68k_link_hash_table: local_gp_p, use_neg_got_offsets_p, allow_multigot_p, multi_got_): New fields. (elf_m68k_multi_got): New macro. (elf_m68k_link_hash_newfunc): Initialize new fields of struct elf_m68k_link_hash_entry. (elf_m68k_link_hash_table_create): Initialize new fields of struct elf_m68k_link_hash_table. (elf_m68k_link_hash_table_free): New static function implementing hook. (elf_m68k_init_got, elf_m68k_clear_got, elf_m68k_create_empty_got): New static functions for struct elf_m68k_got. (elf_m68k_init_got_entry_key, elf_m68k_got_entry_hash, elf_m68k_got_entry_eq): New static functions for struct elf_m68k_got_entry. (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT, ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): New macros. (enum elf_m68k_get_entry_howto): New enum. (elf_m68k_get_got_entry, elf_m68k_update_got_entry_type, elf_m68k_remove_got_entry_type): New static functions for struct elf_m68k_got_entry. (elf_m68k_add_entry_to_got): New static function. (elf_m68k_bfd2got_entry_hash, elf_m68k_bfd2got_entry_eq, elf_m68k_bfd2got_entry_del, elf_m68k_get_bfd2got_entry): New static functions for struct elf_m68k_bfd2got_entry. (struct elf_m68k_can_merge_gots_arg, elf_m68k_can_merge_gots_1, elf_m68k_can_merge_gots): New traversal. (struct elf_m68k_merge_gots_arg, elf_m68k_merge_gots_1, elf_m68k_merge_gots): Ditto. (struct elf_m68k_finalize_got_offsets_arg, elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Ditto. (struct elf_m68k_partition_multi_got_arg, elf_m68k_partition_multi_got_1, elf_m68k_init_symndx2h_1, elf_m68k_partition_multi_got): Ditto. (elf_m68k_find_got_entry_ptr, elf_m68k_remove_got_entry): New static functions. (elf_m68k_copy_indirect_symbol): New static function implementing a hook. (elf_m68k_check_relocs): Update to add entries to multi-GOT. (elf_m68k_gc_sweep_hook): Update to remove entries from multi-GOT. (elf_m68k_always_size_sections): Assign BFDs to GOTs. (elf_m68k_relocate_section): Update to properly handle GOT relocations. (elf_m68k_finish_dynamic_symbol): Update to traverse all GOT entries of a global symbol. (bfd_elf_m68k_set_target_options): New function. (bfd_elf32_bfd_link_hash_table_free): Define hook. (bfd_elf32_bfd_final_link): Change expansion to bfd_elf_final_link to skip generic calculation of GOT offsets. (elf_backend_copy_indirect_symbol): Define hook. * bfd-in.h (bfd_elf_m68k_set_target_options): Declare function. * bfd-in2.h: Regenerate. ld/ * 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=<type> option. * gen-doc.texi: Add M68K. * NEWS: Mention the new feature. ld/testsuite/ * ld-m68k/got-12.s: New file. * ld-m68k/got-13.s: New file. * ld-m68k/got-14.s: New file. * ld-m68k/got-15.s: New file. * ld-m68k/got-34.s: New file. * ld-m68k/got-35.s: New file. * ld-m68k/got-single-12-ok.d: New dump test. * ld-m68k/got-single-13-er.d: New dump test. * ld-m68k/got-negative-14-ok.d: New dump test. * ld-m68k/got-negative-15-er.d: New dump test. * ld-m68k/got-negative-12-13-14-34-ok.d: New dump test. * ld-m68k/got-negative-12-13-14-35-er.d: New dump test. * ld-m68k/got-multigot-14-ok.d: New dump test. * ld-m68k/got-multigot-15-er.d: New dump test. * ld-m68k/got-multigot-12-13-14-34-35-ok.d: New dump test. * ld-m68k/xgot-15.s: New source. * ld-m68k/got-xgot-15-ok.d: New test. * ld-m68k/got-xgot-12-13-14-15-34-35-ok.d: New test. * ld-m68k/m68k.exp: Run new tests.
2008-05-21 PR ld/6430Nick Clifton3-8/+25
* ld.texinfo (--sort-common): Correct documentation to indicate that sorting is performed by alignment, not size, biggest alignment first.
2008-05-21 * ld.texinfo (ARM): Document --stub-group-size=N option.Nick Clifton3-8/+46
Move description of --pic-veneer option into the ARM section. * NEWS: Mention the support for long function calls.
2008-05-15 bfd/Nick Clifton30-34/+716
* elf32-arm.c (THM2_MAX_FWD_BRANCH_OFFSET): Define. (THM2_MAX_BWD_BRANCH_OFFSET): Define. (ARM_MAX_FWD_BRANCH_OFFSET): Define. (ARM_MAX_BWD_BRANCH_OFFSET): Define. (THM_MAX_FWD_BRANCH_OFFSET): Define. (THM_MAX_BWD_BRANCH_OFFSET): Define. (arm_long_branch_stub): Define. (arm_pic_long_branch_stub): Define. (arm_thumb_v4t_long_branch_stub): Define. (arm_thumb_thumb_long_branch_stub): Define. (arm_thumb_arm_v4t_long_branch_stub): Define. (STUB_SUFFIX): Define. (elf32_arm_stub_type): Define. (elf32_arm_stub_hash_entry): Define. (elf32_arm_link_hash_entry): Add stub_cache field. (arm_stub_hash_lookup): Define. (elf32_arm_link_hash_table): Add stub_hash_table, stub_bfd, add_stub_section, layout_sections_again, stub_group, bfd_count, top_index, input_list fields. (elf32_arm_link_hash_newfunc): Init new field. (stub_hash_newfunc): New function. (elf32_arm_link_hash_table_create): Init stub_hash_table. (elf32_arm_hash_table_free): New function. (arm_type_of_stub): New function. (elf32_arm_stub_name): New function. (elf32_arm_get_stub_entry): New function. (elf32_arm_stub_add_mapping_symbol): New function. (elf32_arm_add_stub): New function. (arm_build_one_stub): New function. (arm_size_one_stub): New function. (elf32_arm_setup_section_lists): New function. (elf32_arm_next_input_section): New function. (group_sections): New function. (elf32_arm_size_stubs): New function. (elf32_arm_build_stubs): New function. (bfd_elf32_arm_add_glue_sections_to_bfd): Skip stub sections. (bfd_elf32_arm_process_before_allocation): No longer handle R_ARM_CALL and R_ARM_THM_CALL. (using_thumb_only): New function. (elf32_arm_final_link_relocate): Redirect calls to stub if range exceeds encoding capabilities. (bfd_elf32_bfd_link_hash_table_free): Define. * bfd-in.h (R_ARM_max): Fix value to 130. (elf32_arm_setup_section_lists): Protype. (elf32_arm_next_input_section): Protype. (elf32_arm_size_stubs): Protype. (elf32_arm_build_stubs): Protype. ld/ * 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. * ld/lang.c (print_input_statement): Skip if bfd has BFD_LINKER_CREATED. ld/testsuite * ld-arm/arm-elf.exp (armelftests): Add farcall-arm-arm, farcall-arm-arm-pic-veneer, farcall-arm-arm-be8 farcall-arm-thumb, farcall-arm-thumb-blx, farcall-arm-thumb-pic-veneer, farcall-arm-thumb-blx-pic-veneer, farcall-thumb-thumb, farcall-thumb-thumb-pic-veneer, farcall-thumb-thumb-blx, farcall-thumb-thumb-m, farcall-thumb-thumb-m-pic-veneer, farcall-thumb-thumb-blx-pic-veneer, farcall-thumb-arm, farcall-thumb-arm-pic-veneer, farcall-thumb-arm-blx, farcall-thumb-arm-blx-pic-veneer. Change thumb2-bl-as-thumb1-bad, thumb2-bl-bad. * ld-arm/thumb2-bl-as-thumb1-bad.d: Reflects farcall stub generation. * ld-arm/thumb2-bl-bad.d: Likewise. * ld-arm/thumb2-bl-as-thumb1-bad.s: Update comments. * ld-arm/thumb2-bl-bad.s: Likewise.
2008-05-14update dependenciesAlan Modra2-5/+12
2008-05-092008-05-09 Kai Tietz <kai.tietz@onevision.com>Kai Tietz3-13/+25
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 * ld.texinfo (PowerPC64 ELF64): Fix typo.Tom Tromey2-2/+6
2008-05-07bfd/Alan Modra6-13/+37
* elf32-spu.c (spu_elf_special_sections): Add "._ea". (spu_elf_relocate_section): Handle relocations against symbols defined in ._ea specially. binutils/ * embedspu.sh: Take note of R_SPU_PPU32/64 relocs without a symbol, and if present, put image in ".data.speelf". Put program handle in ".data.spehandle". ld/emulparams/ * 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. ld/testsuite/ * ld-spu/ear.s: Align various sections. * ld-spu/embed.rd: Update.
2008-05-07 * ldexp.c (exp_print_token): Add ABSOLUTE, MIN_K, ASSERT_K. CorrectAlan Modra2-7/+20
MAX_K. (fold_binary <SEGMENT_START>): Set expld.result.section to current section. Expand comment. Formatting. (fold_name <DEFINED>): Set expld.result.section to current section.
2008-05-07missed from last commitAlan Modra1-0/+2
2008-05-05 PR 6473Alan Modra3-0/+16
* ld-elf/lma.s, ld-elf/lma.lnk: New test. * ld-elf/binutils.exp: Run it.
2008-05-032008-05-03 Mike Frysinger <vapier@gentoo.org>Mike Frysinger2-1/+5
* ld-scripts/defined.s: Use .set syntax rather than =.
2008-05-022008-05-02 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-3/+9
PR ld/6475 * ld-scripts/rgn-over8-ok.d: Accept any alignment.
2008-04-29 * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound)Daniel Jacobowitz4-0/+29
(_bfd_elf_canonicalize_dynamic_reloc): Find dynamic relocations even if they are not loaded. * elflink.c (_bfd_elf_init_2_index_sections): Set data_index_section first. * ld-arm/symbian-seg1.s, ld-arm/symbian-seg1.d: New files. * ld-arm/arm-elf.exp: Run symbian-seg1.
2008-04-28 * ld-scripts/rgn-over8.s: Tweak.Nathan Sidwell2-1/+3
2008-04-28ld/Nathan Sidwell7-10/+57
* ldlang.c (lang_size_sections_1): Don't check LMA overflow on non-load sections. ld/testsuite/ * ld-scripts/rgn-over.exp: Allow -ok file names to pass. * ld-scripts/rgn-over8.s: New. * ld-scripts/rgn-over8.t: New. * ld-scripts/rgn-over8-ok.d: New.
2008-04-262008-04-25 Michael Frysinger <vapier@gentoo.org>Mike Frysinger2-2/+7
* configure.tgt (bfin-*-linux-uclibc*): Set targ_emul to elf32bfinfd and targ_extra_emuls to elf32bfin.
2008-04-23bfd/H.J. Lu3-20/+35
2008-04-23 Paolo Bonzini <bonzini@gnu.org> * aclocal.m4: Regenerate. * configure: Regenerate. binutils/ 2008-04-23 Paolo Bonzini <bonzini@gnu.org> * aclocal.m4: Regenerate. * configure: Regenerate. gas/ 2008-04-23 Paolo Bonzini <bonzini@gnu.org> * aclocal.m4: Regenerate. * configure: Regenerate. gold/ 2008-04-23 Paolo Bonzini <bonzini@gnu.org> * aclocal.m4: Regenerate. * configure: Regenerate. gprof/ 2008-04-23 Paolo Bonzini <bonzini@gnu.org> * aclocal.m4: Regenerate. * configure: Regenerate. ld/ 2008-04-23 Paolo Bonzini <bonzini@gnu.org> * aclocal.m4: Regenerate. * configure: Regenerate. opcodes/ 2008-04-23 Paolo Bonzini <bonzini@gnu.org> * aclocal.m4: Regenerate. * configure: Regenerate.
2008-04-21bfd/Nathan Sidwell3-0/+16
* elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Don't set the value of undefined symbols in shared objects. (_bfd_mips_vxworks_finish_dynamic_symbol): Clear value for undefined symbols unless pointer equality is needed. ld/testsuite/ * ld-vxworks/plt-mips1.s: New. * ld-vxworks/plt-mips1.d: New.
2008-04-18[patch]: ctor/dtor section must start at alignment of 8 for x86_64-pc-mingw32.Kai Tietz2-0/+5
* scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.
2008-04-16bfd/David S. Miller12-0/+320
* reloc.c (BFD_RELOC_SPARC_GOTDATA_HIX22, BFD_RELOC_SPARC_GOTDATA_LOX10, BFD_RELOC_SPARC_GOTDATA_OP_HIX22, BFD_RELOC_SPARC_GOTDATA_OP_LOX10, BFD_RELOC_SPARC_GOTDATA_OP): New. * libbfd.h: Regnerate. * bfd-in2.h: Regenerate. * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Add entries for GOTDATA relocations. (sparc_reloc_map): Likewise. (_bfd_sparc_elf_check_relocs): Handle R_SPARC_GOTDATA_* like R_SPARC_GOT*. (_bfd_sparc_elf_gc_sweep_hook): Likewise. (_bfd_sparc_elf_relocate_section): Transform R_SPARC_GOTDATA_HIX22, R_SPARC_GOTDATA_LOX10, R_SPARC_GOTDATA_OP_HIX22, and R_SPARC_GOTDATA_OP_LOX10 into the equivalent R_SPARC_GOT* reloc. Simply ignore R_SPARC_GOTDATA_OP relocations. gas/ * config/tc-sparc.c (sparc_ip): Add support for gotdata mnemonics and relocation generation. (tc_gen_reloc): Likewise. gas/testsuite/ * gas/sparc/gotops32.d: New. * gas/sparc/gotops32.s: Likewise. * gas/sparc/gotops64.d: Likewise. * gas/sparc/gotops64.s: Likewise. * gas/sparc/sparc.exp: Run new gotdata tests. ld/testsuite/ * ld-sparc/gotop32.dd: New. * ld-sparc/gotop32.rd: Likewise. * ld-sparc/gotop32.s: Likewise. * ld-sparc/gotop32.sd: Likewise. * ld-sparc/gotop32.td: Likewise. * ld-sparc/gotop64.dd: Likewise. * ld-sparc/gotop64.rd: Likewise. * ld-sparc/gotop64.s: Likewise. * ld-sparc/gotop64.sd: Likewise. * ld-sparc/gotop64.td: Likewise. * ld-sparc/sparc.exp: Run new gotdata tests.
2008-04-152008-04-15 Andrew Stubbs <andrew.stubbs@st.com>Andrew Stubbs21-40/+103
gas/ * config/tc-sh.c (md_apply_fix): Make sure BFD_RELOC_SH_PCRELIMM8BY4 relocations are properly aligned, and not negative. gas/testsuite/ * gas/sh/arch/arch.exp: Align PC-relative instructions in the gererated assembly files. * gas/sh/arch/sh-dsp.s: Regenerate. * gas/sh/arch/sh.s: Regenerate. * gas/sh/arch/sh2.s: Regenerate. * gas/sh/arch/sh2a-nofpu-or-sh3-nommu.s: Regenerate. * gas/sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s: Regenerate. * gas/sh/arch/sh2a-nofpu.s: Regenerate. * gas/sh/arch/sh2a-or-sh3e.s: Regenerate.: Regenerate. * gas/sh/arch/sh2a-or-sh4.s: Regenerate. * gas/sh/arch/sh2a.s: Regenerate. * gas/sh/arch/sh2e.s: Regenerate. * gas/sh/arch/sh3-dsp.s: Regenerate. * gas/sh/arch/sh3-nommu.s: Regenerate. * gas/sh/arch/sh3.s: Regenerate. * gas/sh/arch/sh3e.s: Regenerate. * gas/sh/arch/sh4-nofpu.s: Regenerate. * gas/sh/arch/sh4-nommu-nofpu.s: Regenerate. * gas/sh/arch/sh4.s: Regenerate. * gas/sh/arch/sh4a-nofpu.s: Regenerate. * gas/sh/arch/sh4a.s: Regenerate. * gas/sh/arch/sh4al-dsp.s: Regenerate. * gas/sh/err-mova.s: New test. ld/testsuite/ * ld-sh/arch/sh-dsp.s: Regenerate. * ld-sh/arch/sh.s: Regenerate. * ld-sh/arch/sh2.s: Regenerate. * ld-sh/arch/sh2a-nofpu-or-sh3-nommu.s: Regenerate. * ld-sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s: Regenerate. * ld-sh/arch/sh2a-nofpu.s: Regenerate. * ld-sh/arch/sh2a-or-sh3e.s: Regenerate.: Regenerate. * ld-sh/arch/sh2a-or-sh4.s: Regenerate. * ld-sh/arch/sh2a.s: Regenerate. * ld-sh/arch/sh2e.s: Regenerate. * ld-sh/arch/sh3-dsp.s: Regenerate. * ld-sh/arch/sh3-nommu.s: Regenerate. * ld-sh/arch/sh3.s: Regenerate. * ld-sh/arch/sh3e.s: Regenerate. * ld-sh/arch/sh4-nofpu.s: Regenerate. * ld-sh/arch/sh4-nommu-nofpu.s: Regenerate. * ld-sh/arch/sh4.s: Regenerate. * ld-sh/arch/sh4a-nofpu.s: Regenerate. * ld-sh/arch/sh4a.s: Regenerate. * ld-sh/arch/sh4al-dsp.s: Regenerate.
2008-04-08 * po/POTFILES.in: Regenerate.Alan Modra2-2/+4
2008-04-08bfd/Alan Modra2-33/+204
* elf32-spu.c: Include libiberty.h. (struct spu_link_hash_table): Add local_stire, overlay_fixed, reserved, non_ovly_stub, spu_elf_load_ovl_mgr, spu_elf_open_overlay_script, spu_elf_relink, auto_overlay fields. (AUTO_OVERLAY, AUTO_RELINK, OVERLAY_RODATA): Define. (needs_ovl_stub): Flip test so that call to non-function warning is emitted during relocate_section rather than earlier. (spu_elf_check_vma): Stash --auto-overlay parameters, and clear auto_overlay if no section exceeds local store. (struct call_info): Add count, max_depth, is_pasted fields. (struct function_info): Add rodata, last_caller, call_count, depth, new visit flags. (insert_callee): Increment call count. (copy_callee): New function. (mark_functions_via_relocs): Investigate all reloc types to count possible function pointer stubs for --auto-overlay. Track last_caller and increment function call_count. (pasted_function): Insert a "call" into call info for pasted section. (remove_cycles): Track max depth of calls. Don't emit call graph pruning warning for --auto-overlay. (build_call_tree): Don't transfer_calls for --auto-overlay. Adjust remove_cycles call. (sort_calls, sort_lib, sort_bfds): New functions. (struct _mos_param, struct _uos_param, struct _cl_param): New. (mark_overlay_section, unmark_overlay_section): New functions. (collect_lib_sectios, auto_ovl_lib_functions): New functions. (collect_overlays, find_pasted_call): New functions. (sum_stack): Deal with is_pasted "calls". Exit before printing when --auto-overlay. (spu_elf_auto_overlay): New function. (spu_elf_final_link): Call spu_elf_auto_overlay. * elf32-spu.h (spu_elf_check_vma): Update prototype. ld/ * 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-07 * ld-spu/ovl2.s: Extend to test jump table references andAlan Modra3-29/+95
absolute _SPUEAR_ syms. * ld-spu/ovl2.d: Update.
2008-04-03Kai Tietz <kai.tietz@onevision.com>Kai Tietz2-1/+6
PR ld/6026 * pe-dll.c (make_head): Fix iat and thunk addend offset.
2008-03-31Updated French translations.Nick Clifton2-773/+861
2008-03-28 * ld-elfcomm/elfcomm.exp: Run $READELF not readelf.Joseph Myers2-3/+7
2008-03-26 * ld-elf/flags1.d: Adjust for MIPS text alignment.Daniel Jacobowitz2-1/+5