Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
* elf.c (IS_SECTION_IN_INPUT_SEGMENT): New.
(INCLUDE_SECTION_IN_SEGMENT): Use IS_SECTION_IN_INPUT_SEGMENT.
(rewrite_elf_program_header): Don't preserve segment physical
address in the output segment if the first section in the
corresponding input segment is removed.
|
|
|
|
|
|
|
|
* xsym.c (bfd_sym_make_empty_symbol): Likewise.
* xsym.h (bfd_sym_make_empty_symbol): Delete.
|
|
at proper offset in little-endian mode.
* elf64-ppc.c (ppc_elf_relocate_section): Likewise.
|
|
|
|
(cie_compare): Removed.
(cie_eq, cie_hash, cie_compute_hash): New functions.
(_bfd_elf_discard_section_eh_frame): Rewrite not to rely on FDEs
pointing only to last CIE and allow merging of any duplicate CIEs,
not just duplicate consecutive CIEs.
(_bfd_elf_discard_section_eh_frame_hdr): Delete cies hash table.
* elf-bfd.h (struct cie_header, struct cie): Removed.
(struct eh_frame_sec_info): Remove alloced field.
(struct eh_frame_hdr_info): Remove last_cie, last_cie_sec
and last_cie_inf fields. Add cies field.
* ld-elf/eh5.d: New test.
* ld-elf/eh5.s: New file.
* ld-elf/eh5a.s: New file.
* ld-elf/eh5b.s: New file.
|
|
|
|
* bfdio.c (bfd_get_size): Return a file_ptr.
* cisco-core.c (cisco_core_file_validate): Use bfd_size_type for nread.
* mmo.c (mmo_scan): Use file_ptr for curpos.
* trad-core.c (trad_unix_core): Don't cast statbuf.st_size to
unsigned long.
* bfd-in2.h: Regenerate.
|
|
* bfd-in.h (struct bfd_hash_table): Reorganize. Add "frozen".
* hash.c (bfd_hash_table_init_n): Init frozen.
(bfd_hash_lookup): Don't grow if frozen.
(bfd_hash_traverse): Freeze hash table during traversal.
* bfd-in2.h: Regenerate.
|
|
|
|
|
|
|
|
section. Save result of checks in kept_section.
(_bfd_elf_section_already_linked): Tidy. Correct comments.
Ignore all group member sections. Handle special matching of
single-member groups against linkonce sections via their group
section. When such a match is found, set kept_section to the
group member section rather than to the group.
|
|
|
|
|
|
|
|
|
|
(dir_names): Added CLR Runtime Header to dir_names[].
(_bfd_XX_print_private_bfd_data_common): Added EFI_ROM and XBOX subsystem names
(_bfd_XXi_swap_aouthdr_in, _bfd_XXi_swap_aouthdr_out)
(pe_print_idata, pe_print_edata)
(_bfd_XX_bfd_copy_private_bfd_data_common)
(_bfd_XXi_final_link_postscript): Use #DEFINEs for index into DataDirectory.
* pe.h: Added defines for IMAGE_SUBSYSTEM_EFI_ROM and IMAGE_SUBSYSTEM_XBOX.
* internal.h: Added defines for PE directory entry types.
NB: in internal.h because IMAGE_NUMBEROF_DIRECTORY_ENTRYIES is in pe.h
|
|
|
|
* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
prototype.
(bfd_elf32_arm_set_byteswap_code): New prototype.
* bfd-in2.h: Regenerate.
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Don't take
byteswap_code as an argument. Revert 2006-11-01 change.
(bfd_elf32_arm_set_byteswap_code): New.
(elf32_arm_size_dynamic_sections): Call
bfd_elf32_arm_process_before_allocation.
ld/
* emultempl/armelf.em (arm_elf_before_allocation): Only call
bfd_elf32_arm_process_before_allocation if no dynamic sections.
|
|
|
|
|
|
|
|
for SDE configs.
|
|
Add maxq-*-coff to the obsolete list.
|
|
* pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise.
* coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before.
* gas/arm/undefined.d: Run test on Windows CE.
* gas/arm/undefined_coff.d: Don't run test on Windows CE.
|
|
|
|
|
|
|
|
on error.
(find_arm_glue): Likewise.
(elf32_thumb_to_arm_stub, elf32_arm_create_thumb_stub)
(elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate): Add
ERROR_MESSAGE argument and pass it through.
(elf32_arm_to_thumb_export_stub): Update.
(elf32_arm_relocate_section): Use ERROR_MESSAGE and reloc_dangerous.
|
|
(struct _ppc64_elf_section_data): Move "t_symndx" into opd union,
and rename fields. Add sec_type and has_14bit_branch.
(struct ppc_link_hash_table): Remove has_14bit_branch.
(get_opd_info, get_tls_mask, ppc64_elf_edit_opd): Adjust.
(ppc64_elf_relocate_section): Likewise.
(ppc64_elf_check_relocs): Likewise. Set per-section has_14bit_branch.
(ppc64_elf_size_stubs): Don't set default group size here.
(group_sections): Instead do so here, and group sections using
their individual requirements.
|
|
and union.
(struct ppc_link_hash_entry): Add "next_dot_sym".
(struct ppc_link_hash_table): Add "dot_syms".
(link_hash_newfunc): Make list of syms starting with a dot.
(ppc_get_stub_entry, adjust_opd_syms): Adjust.
(ppc64_elf_add_symbol_hook): Don't set has_dotsym.
(struct add_symbol_adjust_data): Delete.
(add_symbol_adjust): Simplify params and return.
(ppc64_elf_check_directives): Just process the "dot_syms" lists,
not all syms.
|
|
|
|
|
|
|
|
|
|
* libbfd-in.h (_bfd_clear_contents): New prototype.
* reloc.c (_bfd_clear_contents): New.
* libbfd.h: Regenerated.
* elf32-arm.c (elf32_arm_final_link_relocate): Use
_bfd_clear_contents.
* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
* elf32-i386.c (elf_i386_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
* elf32-s390.c (elf_s390_relocate_section): Likewise.
* elf32-sh.c (sh_elf_relocate_section): Likewise.
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* elf64-s390.c (elf_s390_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
* elfxx-ia64.c (elfNN_ia64_relocate_section): Set value to
zero for discarded symbols.
* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
ld/testsuite/
* ld-discard/zero-rel.d, ld-discard/zero-rel.s: New files.
|
|
|
|
* elf-bfd.h (local_call_stubs): New member.
* elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros.
(mips_elf_calculate_relocation): Handle local mips16 call stubs.
(mips16_stub_section_p): Rename from mips_elf_stub_section_p, use
the new stub macros.
(_bfd_mips_elf_check_relocs): Handle call stubs for code which
mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark
used stubs with SEC_KEEP. Use the new stub macros.
[ gas/testsuite/ChangeLog ]
* gas/mips/mips16-intermix.d, gas/mips/mips16-intermix.s: New
testcase.
* gas/mips/mips.exp: Run new testcase.
[ ld/testsuite/ChangeLog ]
* ld-mips-elf/mips16-intermix-1.s, ld-mips-elf/mips16-intermix-2.s,
ld-mips-elf/mips16-intermix.d: New testcase.
* ld-mips-elf/mips-elf.exp (mips16_intermix_test): Run new testcases.
|
|
|
|
check for PLT usage.
|
|
|
|
|
|
boundary. Tidy. Comment.
|
|
2006-10-30 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3111
* elf-bfd.h (elf_obj_tdata): Add symbuf.
(_bfd_elf_section_already_linked): Add struct bfd_link_info *.
(_bfd_elf_check_kept_section): Likewise.
(bfd_elf_match_symbols_in_sections): Likewise.
* elf.c (assign_section_numbers): Updated to add
struct bfd_link_info *.
(bfd_elf_match_symbols_in_sections): Updated. Cache symbol
buffer if info->reduce_memory_overheads is false.
* elflink.c (match_group_member): Updated to add
struct bfd_link_info *.
(_bfd_elf_check_kept_section): Likewise.
(elf_link_input_bfd): Likewise.
(_bfd_elf_section_already_linked): Likewise.
(bfd_elf_final_link): Free symbol buffer if
info->reduce_memory_overheads is false.
* libbfd-in.h (_bfd_nolink_section_already_linked): Add
struct bfd_link_info *.
(_bfd_generic_section_already_linked): Likewise.
* libbfd.h: Regenerated.
* linker.c (bfd_section_already_linked): Add
struct bfd_link_info *.
(_bfd_generic_section_already_linked): Likewise.
* targets.c (bfd_target): Add struct bfd_link_info * to
_section_already_linked.
* bfd-in2.h: Regenerated.
include/
2006-10-30 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3111
* bfdlink.h (bfd_link_info): Add reduce_memory_overheads.
ld/
2006-10-30 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3111
* ld.h (args_type): Remove reduce_memory_overheads.
* ldlang.c (lang_map): Updated.
(section_already_linked): Likewise.
(print_input_section): Likewise.
* ldmain.c (main): Likewise.
* lexsup.c (parse_args): Likewise.
|
|
|