aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2006-11-03bfd/Daniel Jacobowitz18-24/+193
* 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.
2006-11-02daily updateAlan Modra1-1/+1
2006-11-02 [ bfd/ChangeLog ]Thiemo Seufer3-66/+161
* 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.
2006-11-01daily updateAlan Modra1-1/+1
2006-11-01 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): CorrectDaniel Jacobowitz2-3/+18
check for PLT usage.
2006-11-01 * elfxx-mips.c (mips_elf_merge_gots): Always use maxcnt.Daniel Jacobowitz2-2/+5
2006-10-31daily updateAlan Modra1-1/+1
2006-10-31 * elf.c (elfcore_write_note): Pad note descriptor to 4-byteAlan Modra2-23/+29
boundary. Tidy. Comment.
2006-10-30bfd/H.J. Lu9-43/+121
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.
2006-10-30daily updateAlan Modra1-1/+1
2006-10-30 * bfd-in2.h: Regenerate.Alan Modra2-1/+3
2006-10-30 * bfd.c (bfd_error_type): Add bfd_error_on_input.Alan Modra3-17/+57
(input_bfd, input_error): New static vars. (bfd_set_error): Handle bfd_error_on_input. (bfd_errmsg): Likewise. (bfd_perror): Simplify. * archive.c (_bfd_write_archive_contents): Report errors on input.
2006-10-29 * elf.c (elfcore_write_note): Pad to 4-byte boundary.Alan Modra2-1/+5
2006-10-29daily updateAlan Modra1-1/+1
2006-10-28daily updateAlan Modra1-1/+1
2006-10-28include/elf/Richard Sandiford4-0/+83
* mips.h (R_MIPS_GLOB_DAT): Define (R_MIPS_max): Bump by 1. bfd/ * elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT. * elfn32-mips.c (elf_mips_howto_table_rel): Likewise. (elf_mips_howto_table_rela): Likewise. * elf64-mips.c (mips_elf64_howto_table_rel): Likewise. (mips_elf64_howto_table_rela): Likewise.
2006-10-27daily updateAlan Modra1-1/+1
2006-10-272006-10-26 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-3/+17
* elf.c (_bfd_elf_init_private_section_data): Assert output section ELF type instead of check if it is SHT_NULL. Copy OS/PROC specific flags from input section to output section.
2006-10-27bfd/Alan Modra6-13/+24
* section.c (SEC_KEEP): Update comment. * bfd-in2.h: Regenerate. * elflink.c (bfd_elf_gc_sections): Ignore SEC_EXCLUDE sections. * merge.c (_bfd_merge_sections): Set SEC_KEEP on excluded sections. * stabs.c (_bfd_discard_section_stabs): Likewise. (_bfd_link_section_stabs): Likewise. Simplify abs_section check. ld/ * ldlang.c (lang_map): Don't say SEC_LINKER_CREATED and SEC_KEEP sections have been discarded. (lang_do_version_exports_section): Set SEC_KEEP on export section. * emultempl/elf32.em (before_allocation): Set SEC_KEEP on warning sections.
2006-10-26daily updateAlan Modra1-1/+1
2006-10-26 * reloc.c (_bfd_relocate_contents): Remove explicit case 0.Ben Elliston2-1/+2
2006-10-26 * elf.c (bfd_section_from_shdr): Remove extraneous breaks.Ben Elliston3-3/+5
* targets.c (find_target): Remove extraneous break.
2006-10-26 * coff-maxq.c (coff_maxq20_reloc): Remove unused variable `howto'.Ben Elliston2-56/+34
(struct maxq_reloc_map): Unused; remove. (maxq_reloc_map): Likewise. (maxq_reloc_type_lookup): Remove loop over maxq_reloc_map.
2006-10-26 * elf.c (bfd_elf_set_dyn_lib_class): Change second argument typeBen Elliston4-3/+10
from int to enum dynamic_lib_link_class lib_class. * bfd-in.h (bfd_elf_set_dyn_lib_class): Likewise. * bfd-in2.h: Regenerate.
2006-10-25daily updateAlan Modra1-1/+1
2006-10-25New Cell SPU port.Alan Modra15-10/+2006
2006-10-24daily updateAlan Modra1-1/+1
2006-10-23daily updateAlan Modra1-1/+1
2006-10-23 * elf64-ppc.c (ppc64_elf_edit_opd): Clarify comment.Alan Modra2-41/+45
2006-10-23 * elf32-score.c: Formatting.Alan Modra2-69/+59
(elf_backend_omit_section_dynsym): Define. (score_elf_create_dynamic_relocation): Remove code copied from mips. Don't use section syms in dynamic relocs. Remove unused param. (score_elf_final_link_relocate): Remove unused param.
2006-10-23 * linker.c (fix_syms): Choose best of previous and nextAlan Modra2-12/+54
section based on section flags and vma.
2006-10-22daily updateAlan Modra1-1/+1
2006-10-22 * elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do mergingKaz Kojima3-4/+10
only when the non visibility part of st_other is non-zero. * elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise.
2006-10-21daily updateAlan Modra1-1/+1
2006-10-20daily updateAlan Modra1-1/+1
2006-10-20bfd/Richard Sandiford2-2/+17
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend PT_DYNAMIC on GNU/Linux targets.
2006-10-20bfd/Richard Sandiford2-0/+9
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the size of .rel.dyn reflect the value of DT_RELSZ. ld/testsuite/ * ld-mips-elf/multi-got-1.d: Remove trailing R_MIPS_NONE entries. * ld-mips-elf/tls-multi-got-1.got: Likewise. * ld-mips-elf/tls-multi-got-1.r: Likewise.
2006-10-20bfd/Richard Sandiford2-0/+44
* elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate a PT_NULL header for dynamic objects. (_bfd_mips_elf_modify_segment_map): Add it. ld/testsuite/ * ld-mips-elf/multi-got-1.d: Do not expect a particular address for DT_HASH. * ld-mips-elf/rel32-o32.d: Bump addresses by 0x20 to account for the extra program header. * ld-mips-elf/rel32-n32.d: Likewise. * ld-mips-elf/tlslib-o32.got: Likewise. * ld-mips-elf/tlslib-o32-hidden.got: Likewise. * ld-mips-elf/tlslib-o32-ver.got: Likewise. * ld-mips-elf/tls-multi-got-1.got: Likewise. * ld-mips-elf/tls-multi-got-1.r: Likewise. * ld-mips-elf/rel64.d: Bump addresses by 0x30 to account for the extra program header. * ld-mips-elf/tlsdyn-o32.d: Reduce the GOT offset by 32 to account for the extra program header, and thus the shorter gap between the text and data segments. * ld-mips-elf/tlsdyn-o32-1.d: Likewise. * ld-mips-elf/tlsdyn-o32-2.d: Likewise. * ld-mips-elf/tlsdyn-o32-3.d: Likewise. * ld-mips-elf/tlsdyn-o32.got: Bump GOT text addresses by 0x20 to account for the extra program header. * ld-mips-elf/tlsdyn-o32-1.got: Likewise. * ld-mips-elf/tlsdyn-o32-2.got: Likewise. * ld-mips-elf/tlsdyn-o32-3.got: Likewise.
2006-10-19daily updateAlan Modra1-1/+1
2006-10-19Fix score bugsNick Clifton2-25/+23
2006-10-19bfd/Richard Sandiford2-3/+27
* elfxx-mips.c (sort_dynamic_relocs): Sort relocations against the same symbol by increasing r_offset. (sort_dynamic_relocs_64): Likewise. Fix comparisons between very large and very small symbol indexes. ld/testsuite/ * ld-mips-elf/tlslib-o32-hidden.got: Sort relocations against the same symbol in order of increasing r_offset. * ld-mips-elf/tls-multi-got-1.got: Likewise. * ld-mips-elf/tls-hidden3.r: Likewise. * ld-mips-elf/tls-hidden4.r: Likewise.
2006-10-19bfd/Richard Sandiford2-10/+7
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG and DT_MIPS_RLD_MAP tags for position-independent executables. Do not add DT_DEBUG to shared libraries for any MIPS target. ld/testsuite/ * ld-mips-elf/multi-got-1.d: Remove DT_DEBUG tag. Do not require a specific file offset for .dynamic. Reduce DT_HASH by 8 to account for removed tag. * ld-mips-elf/tls-multi-got-1.r: Likewise. Also reduce DT_REL by 8. Reduce PLTGOT and symbol values by 16 to account for the removed tag. * ld-mips-elf/textrel-1.d: Remove DT_DEBUG tag. * ld-mips-elf/rel32-n32.d: Reduce addresses by 16 to account for removed DT_DEBUG tag. * ld-mips-elf/rel64.d: Likewise. * ld-mips-elf/tls-multi-got-1.got: Likewise. * ld-mips-elf/tlslib-o32-hidden.got: Likewise.
2006-10-19bfd/H.J. Lu2-0/+13
2006-10-18 H.J. Lu <hongjiu.lu@intel.com> PR ld/3290 * elflink.c (elf_link_add_object_symbols): Hide definitions in debug sections. ld/testsuite/ 2006-10-18 H.J. Lu <hongjiu.lu@intel.com> PR ld/3290 * ld-elf/dummy.c: New file. * ld-elf/dwarf.exp: Likewise. * ld-elf/dwarf1.c: Likewise. * ld-elf/dwarf1.h: Likewise. * ld-elf/dwarf1.out: Likewise. * ld-elf/dwarf1main.c: Likewise.
2006-10-19bfd/Alan Modra2-7/+25
* elf32-arm.c (bfd_elf32_arm_allocate_interworking_sect): Check, don't set, glue section size. (record_arm_to_thumb_glue): Set glue section size here. (record_thumb_to_arm_glue): Likewise. (bfd_elf32_arm_add_glue_sections_to_bfd): Formatting. (bfd_elf32_arm_process_before_allocation): Ignore exluded sections. ld/ * emultempl/armelf.em (arm_elf_before_allocation): Run gld${EMULATION_NAME}_before_allocation later. * ldlang.c (lang_size_sections_1): Revert 2006-09-15 change.
2006-10-18daily updateAlan Modra1-1/+1
2006-10-182006-10-18 Roy Marples <uberlord@gentoo.org>Mike Frysinger6-1/+48
* bfd/elf64-sparc.c: Add FreeBSD support. (elf64_sparc_fbsd_post_process_headers): New function. * bfd/targets.c (_bfd_target_vector): Add bfd_elf64_sparc_freebsd_vec. * bfd/config.bfd (sparc64-*-freebsd*): Set targ_defvec to bfd_elf64_sparc_freebsd_vec. * bfd/configure.in: Add entry for bfd_elf64_sparc_freebsd_vec. * bfd/configure: Regenerate. * gas/config/tc-sparc.c (md_parse_option): Treat any target starting with elf32-sparc as a viable target for the -32 switch and any target starting with elf64-sparc as a viable target for the -64 switch. (sparc_target_format): For 64-bit ELF flavoured output use ELF_TARGET_FORMAT64 while for 32-bit ELF flavoured output use ELF_TARGET_FORMAT. * gas/config/tc-sparc.h (ELF_TARGET_FORMAT, ELF_TARGET_FORMAT64): Define. * ld/emulparams/elf64_sparc_fbsd.sh (OUTPUT_FORMAT): Define as elf64-sparc-freebsd.
2006-10-18 * elf32-arm.c (elf32_arm_final_link_relocate): Add support forMark Shinwell2-6/+40
R_ARM_MOVW_BREL_NC, R_ARM_MOVW_BREL, R_ARM_MOVT_BREL, R_ARM_THM_MOVW_BREL_NC, R_ARM_THM_MOVW_BREL and R_ARM_THM_MOVT_BREL relocations.
2006-10-17daily updateAlan Modra1-1/+1
2006-10-17 bfd/Mark Shinwell2-13/+55
* elf32-arm.c (elf32_arm_howto_table_1): Change offset for R_THM_CALL to 25 and remove FIXME comment. (using_thumb2): New function. (elf32_arm_final_link_relocate): Cope with Thumb-2 BL encoding. include/ * elf/arm.h: Define TAG_CPU_ARCH_* constants. ld/testsuite/ * ld-arm/arm-elf.exp: Add thumb1-bl, thumb2-bl, thumb2-bl-as-thumb1-bad and thumb2-bl-bad tests. * ld-arm/thumb1-bl.d: New. * ld-arm/thumb1-bl.s: New. * ld-arm/thumb2-bl-as-thumb1-bad.d: New. * ld-arm/thumb2-bl-as-thumb1-bad.s: New. * ld-arm/thumb2-bl-bad.d: New. * ld-arm/thumb2-bl-bad.s: New. * ld-arm/thumb2-bl.d: New. * ld-arm/thumb2-bl.s: New.
2006-10-17 * elf32-arm.c (elf32_arm_final_link_relocate): Add casesMark Shinwell2-13/+44
for R_ARM_ABS32_NOI and R_ARM_REL32_NOI. (elf32_arm_gc_sweep_hook): Likewise. (elf32_arm_check_relocs): Likewise. (allocate_dynrelocs): Likewise.