2008-06-02 08:49:58 +02:00
|
|
|
|
2008-06-02 Nathan Sidwell <nathan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (closest_target_match): Skip generic big and little
|
|
|
|
|
endian ELF targets.
|
|
|
|
|
|
2008-05-31 18:35:56 +02:00
|
|
|
|
2008-05-31 Evandro Menezes <evandro@yahoo.com>
|
|
|
|
|
|
|
|
|
|
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 17:38:36 +02:00
|
|
|
|
2008-05-28 Christophe Lyon <christophe.lyon@st.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo: State that farcalls stubs are supported for ARM-EABI
|
|
|
|
|
only.
|
|
|
|
|
|
2008-05-27 10:34:26 +02:00
|
|
|
|
2008-05-27 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
* 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 14:16:22 +02:00
|
|
|
|
2008-05-21 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
Multi-GOT support for m68k.
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 14:01:37 +02:00
|
|
|
|
2008-05-21 Maxim Kuvyrkov <maxim@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
2008-05-21 12:59:12 +02:00
|
|
|
|
2008-05-21 Evandro Menezes <evandro@yahoo.com>
|
|
|
|
|
|
|
|
|
|
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 10:09:38 +02:00
|
|
|
|
2008-05-21 Christophe Lyon <christophe.lyon@st.com>
|
|
|
|
|
Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
bfd/
* 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-15 19:00:15 +02:00
|
|
|
|
2008-05-15 Christophe Lyon <christophe.lyon@st.com>
|
|
|
|
|
|
|
|
|
|
* 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 08:45:42 +02:00
|
|
|
|
2008-05-14 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2008-05-09 13:56:31 +02:00
|
|
|
|
2008-05-09 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
ld/PR6502
|
2008-05-14 08:45:42 +02:00
|
|
|
|
* emultempl/pep.em (compute_dll_image_base): Use bfd_vma instead
|
|
|
|
|
of long and change return type to bfd_vma.
|
2008-05-09 13:56:31 +02:00
|
|
|
|
(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..
|
2008-05-14 08:45:42 +02:00
|
|
|
|
* pe-dll.c (pe_dll_generate_def_file): Use fprintf_vma to print
|
|
|
|
|
ImageBase.
|
2008-05-09 13:56:31 +02:00
|
|
|
|
(quick_reloc): Change argument address from int to bfd_size_type.
|
|
|
|
|
|
2008-05-08 19:34:36 +02:00
|
|
|
|
2008-05-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (PowerPC64 ELF64): Fix typo.
|
|
|
|
|
|
2008-05-07 16:46:44 +02:00
|
|
|
|
2008-05-08 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* 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-07 16:30:41 +02:00
|
|
|
|
2008-05-08 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (exp_print_token): Add ABSOLUTE, MIN_K, ASSERT_K. Correct
|
|
|
|
|
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-04-28 14:45:34 +02:00
|
|
|
|
2008-04-28 Nathan Sidwell <nathan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_size_sections_1): Don't check LMA overflow on
|
|
|
|
|
non-load sections.
|
|
|
|
|
|
2008-04-26 03:10:55 +02:00
|
|
|
|
2008-04-25 Michael Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (bfin-*-linux-uclibc*): Set targ_emul to elf32bfinfd
|
|
|
|
|
and targ_extra_emuls to elf32bfin.
|
|
|
|
|
|
2008-04-23 18:11:47 +02:00
|
|
|
|
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
|
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2008-04-18 11:06:22 +02:00
|
|
|
|
2008-04-03 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.
|
|
|
|
|
|
2008-04-08 08:12:32 +02:00
|
|
|
|
2008-04-08 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* po/POTFILES.in: Regenerate.
|
|
|
|
|
|
bfd/
* 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-08 05:26:54 +02:00
|
|
|
|
2008-04-08 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* 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 16:44:55 +02:00
|
|
|
|
2008-04-03 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
PR ld/6026
|
|
|
|
|
* pe-dll.c (make_head): Fix iat and thunk addend offset.
|
|
|
|
|
|
2008-03-31 12:19:38 +02:00
|
|
|
|
2008-03-31 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/fr.po: Updated French translation.
|
|
|
|
|
|
2008-03-25 05:54:03 +01:00
|
|
|
|
2008-03-24 Ian Lance Taylor <iant@google.com>
|
|
|
|
|
|
|
|
|
|
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 06:35:10 +01:00
|
|
|
|
2008-03-20 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em: Update calls to elf32-spu.c funcs.
|
|
|
|
|
|
2008-03-17 23:17:33 +01:00
|
|
|
|
2008-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
|
|
|
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
* configure: Likewise.
|
|
|
|
|
* Makefile.in: Likewise.
|
|
|
|
|
|
2008-03-14 05:42:44 +01:00
|
|
|
|
2008-03-14 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
|
|
|
|
|
spu_elf_build_stubs with is_spu_target.
|
|
|
|
|
|
2008-03-13 03:05:23 +01:00
|
|
|
|
2008-03-13 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Run "make dep-am".
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2008-03-06 13:29:52 +01:00
|
|
|
|
2008-03-06 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
Roman Zippel <zippel@linux-m68k.org>
|
|
|
|
|
|
|
|
|
|
* emulparams/m68kelf.sh (GENERATE_PIE_SCRIPT): Define.
|
|
|
|
|
(COMMONPAGESIZE): Define.
|
|
|
|
|
|
2008-02-22 15:19:43 +01:00
|
|
|
|
2008-02-22 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
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 15:53:44 +01:00
|
|
|
|
2008-02-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* 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 01:06:02 +01:00
|
|
|
|
2008-02-16 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
PR ld/5761
|
|
|
|
|
* ldexp.c (fold_name <LOADADDR>): Check result of evaluating
|
|
|
|
|
load_base before calling make_abs.
|
|
|
|
|
|
2008-02-15 10:03:02 +01:00
|
|
|
|
2008-02-15 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* 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 04:35:53 +01:00
|
|
|
|
2008-02-15 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* 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 09:41:10 +01:00
|
|
|
|
2008-02-07 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* 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 02:26:56 +01:00
|
|
|
|
2008-02-07 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* 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 20:43:51 +01:00
|
|
|
|
2008-02-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR 5715
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2008-02-01 18:58:48 +01:00
|
|
|
|
2008-01-31 Marc Gauthier <marc@tensilica.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (xtensa*-*-*): Recognize processor variants.
|
|
|
|
|
|
2008-01-28 17:57:22 +01:00
|
|
|
|
2008-01-28 Fabian Groffen <grobian@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (x86_64-*-solaris2): Add support for this target.
|
|
|
|
|
|
2008-01-28 12:07:44 +01:00
|
|
|
|
2008-01-28 Vincent Riviere <vincent.riviere@freesbee.fr>
|
|
|
|
|
|
|
|
|
|
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 06:59:24 +01:00
|
|
|
|
2008-01-28 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* 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 18:34:29 +01:00
|
|
|
|
2008-01-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/5670
|
|
|
|
|
* ldlang.c (process_insert_statements): Silence gcc 4.1 alias
|
|
|
|
|
warning.
|
|
|
|
|
|
ld/
* 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.
ld/testsuite/
* ld-spu/ovl.lnk: Delete overlay.
* ld-spu/ovl1.lnk: New file.
* ld-spu/ovl2.lnk: New file.
* ld-spu/ovl.d: Update.
* ld-spu/ovl2.d: Update.
2008-01-25 13:03:37 +01:00
|
|
|
|
2008-01-25 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* 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 23:49:38 +01:00
|
|
|
|
2008-01-18 Bob Wilson <bob.wilson@acm.org>
|
|
|
|
|
|
|
|
|
|
* scripttempl/elfxtensa.sc: Merge ENTRY and .note.gnu.build-id
|
|
|
|
|
changes from elf.sc.
|
2008-05-14 08:45:42 +02:00
|
|
|
|
|
2008-01-16 02:28:21 +01:00
|
|
|
|
2008-01-16 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_size_sections_1): Simplify SEC_NEVER_LOAD test.
|
|
|
|
|
|
2008-01-16 01:31:18 +01:00
|
|
|
|
2008-01-16 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* 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-16 00:05:46 +01:00
|
|
|
|
2008-01-15 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
|
|
|
|
|
|
|
|
|
* emulparams/shlelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
|
|
|
|
|
with __data_start.
|
|
|
|
|
* emulparams/shelf_nbsd.sh (DATA_START_SYMBOLS): Likewise.
|
|
|
|
|
|
2008-01-15 08:25:49 +01:00
|
|
|
|
2008-01-15 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
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 10:11:18 +01:00
|
|
|
|
2008-01-11 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* 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 15:28:49 +01:00
|
|
|
|
2008-01-10 Daniel Jacobowitz <drow@sources.redhat.com>
|
|
|
|
|
|
|
|
|
|
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 02:12:56 +01:00
|
|
|
|
2008-01-10 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (--gc-sections): Describe linker behaviour.
|
|
|
|
|
|
2008-01-02 22:41:02 +01:00
|
|
|
|
For older changes see ChangeLog-2007
|
1999-05-03 09:29:11 +02:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|