X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=40a5e440cf0258621b3ac32f2cdf7c2996568537;hb=a7519a3c057af6f71dcf4720270b3c4cf6e740a1;hp=6d8aec7502a20fb4b1a55dbd3451b36d20225b83;hpb=9a813b7a53ed78f3bb5132e9a5efe6db7dc6fcfe;p=binutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6d8aec7502a..40a5e440cf0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,8 +1,889 @@ +2005-05-25 Richard Henderson + + * elf64-alpha.c: Update all function definitions to ISO C. Remove + all function prototypes; rearrange functions into def-use order. + +2005-05-25 Richard Henderson + + * elf64-alpha.c (elf64_alpha_merge_gots): Fix gotent iteration + in the presence of deleting elements. + (elf64_alpha_size_got_sections): Zero dead got section size. + +2005-05-23 Fred Fish + + * dwarf2.c (struct dwarf2_debug): Add inliner_chain member. + (struct funcinfo): Add caller_func, caller_file, caller_line. + tag, and nesting_level members. + (lookup_address_in_function_table): Change first passed parameter + from "struct funcinfo *" to "struct comp_unit *". + (lookup_address_in_function_table): Dereference unit to find function + table. + (lookup_address_in_function_table): Traverse the function list to + create a chain of inlined functions back to the first non inlined + function. + (scan_unit_for_functions): Remember tag and nesting level. Handle + DW_AT_call_file and DW_AT_call_line. + (comp_unit_find_nearest_line): Adjust lookup_address_in_function_table + call to pass unit pointer instead of function table pointer. For + inlined functions, save pointer to the inliner chain. + (_bfd_dwarf2_find_nearest_line): Initialize inliner_chain to NULL. + (_bfd_dwarf2_find_inliner_info): New function that returns information + from the inliner chain after a call to bfd_find_nearest_line. + + * bfd.c (bfd_find_inliner_info): Define using BFD_SEND. + * targets.c (BFD_JUMP_TABLE_SYMBOLS): Add entry for + NAME##_find_inliner_info. + (bfd_target): Add _bfd_find_inliner_info. + * bfd-in2.h: Regenerate. + + * libbfd-in.h (_bfd_nosymbols_find_inliner_info): Define as + macro that always returns bfd_false. + (_bfd_dwarf2_find_inliner_info): Declare. + * libbfd.h: Regenerate. + + * elf32-arm.c (elf32_arm_find_inliner_info): New function + that calls _bfd_dwarf2_find_inliner_info. + (bfd_elf32_find_inliner_info): Define to elf32_arm_find_inliner_info. + + * elfxx-mips.c (_bfd_mips_elf_find_inliner_info): New function + that calls _bfd_dwarf2_find_inliner_info. + * elfxx-mips.h (_bfd_mips_elf_find_inliner_info): Declare. + * elfn32-mips.c (bfd_elf32_find_inliner_info): Define to + _bfd_mips_elf_find_inliner_info. + * elf64-mips.c (bfd_elf64_find_inliner_info): Ditto. + * elf32-mips.c (bfd_elf32_find_inliner_info): Ditto. + + * elf.c (_bfd_elf_find_inliner_info): New function that calls + _bfd_dwarf2_find_inliner_info. + * elf-bfd.h (_bfd_elf_find_inliner_info): Declare. + * elfxx-target.h (bfd_elfNN_find_inliner_info): Define to + _bfd_elf_find_inliner_info. + + * coffgen.c (coff_find_inliner_info): New function that + calls _bfd_dwarf2_find_inliner_info. + * libcoff-in.h (coff_find_inliner_info): Declare. + * libcoff.h: Regenerate. + * coff-rs6000.c (rs6000coff_vec): Add coff_find_inliner_info. + (pmac_xcoff_vec) Ditto. + * coff64-rs6000.c (rs6000coff64_vec): Ditto. + (aix5coff64_vec): Ditto. + + * aout-target.h (MY_find_inliner_info): Define as + _bfd_nosymbols_find_inliner_info. + * aout-tic30.c (MY_find_inliner_info): Ditto. + * binary.c (binary_find_inliner_info): Ditto. + * i386msdos.c (msdos_find_inliner_info): Ditto. + * ihex.c (ihex_find_inliner_info): Ditto. + * libaout.h (aout_32_find_inliner_info): Ditto. + * libecoff.h (_bfd_ecoff_find_inliner_info): Ditto. + * mach-o.c (bfd_mach_o_find_inliner_info): Ditto. + * mmo.c (mmo_find_inliner_info): Ditto. + * nlm-target.h (nlm_find_inliner_info): Ditto. + * pef.c (bfd_pef_find_inliner_info): Ditto. + * ppcboot.c (ppcboot_find_inliner_info): Ditto. + * srec.c (srec_find_inliner_info): Ditto. + * tekhex.c (tekhex_find_inliner_info): Ditto. + * versados.c (versados_find_inliner_info): Ditto. + * xsym.c (bfd_sym_find_inliner_info): Ditto. + + * ieee.c (ieee_find_inliner_info): New function that always + returns FALSE. + * oasys.c (oasys_find_inliner_info): Ditto. + * vms.c (vms_find_inliner_info): Ditto. + +2005-05-24 Alan Modra + + * elf32-ppc.c (ppc_elf_check_relocs): For old gcc -fPIC code + force old plt layout. + +2005-05-22 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relax_section): Ignore non-allocated + sections. + (elf64_alpha_check_relocs): Likewise. + (elf64_alpha_relocate_section): Don't emit dynamic relocations to + non-allocated sections. + +2005-05-22 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relax_with_lituse): Relax jsr to + undefweak to use zero register. Call elf64_alpha_relax_got_load + if not all uses removed. + (elf64_alpha_relax_got_load): Relax undefweak to lda zero. + (elf64_alpha_relax_section): Handle undefweak symbols. + (elf64_alpha_calc_dynrel_sizes): Don't add relocs for undefweak. + (elf64_alpha_size_rela_got_1): Likewise. + (elf64_alpha_relocate_section): Likewise. + +2005-05-22 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relax_section): Only operate + on SEC_CODE sections. + +2005-05-22 John David Anglin + + * som.c (try_prev_fixup): Changed type of subspace_reloc_sizep to + unsigned int *. + (som_write_space_strings): Change type of tmp_space and p to char *. + (som_write_symbol_strings): Likewise. Also change type of comp to + char *comp[4]. + (som_begin_writing): Change type of strings_size to unsigned int. + (som_finish_writing): Likewise. + (som_slurp_reloc_table): Change type of external_relocs to unsigned + char *. + * som.h (struct som_section_data_struct): Change type of reloc_stream + field to unsigned char *. + +2005-05-20 Daniel Jacobowitz + + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't eliminate + copy relocations for VxWorks. + +2005-05-20 Daniel Jacobowitz + + * bfd/elf32-ppc.c (struct ppc_elf_link_hash_entry): Add new field + has_sda_refs. + (ppc_elf_copy_indirect_symbol): Copy has_sda_refs. + (ppc_elf_check_relocs): Set has_sda_refs. + (ppc_elf_adjust_dynamic_symbol): Check has_sda_refs before eliminating + copy relocations. Use has_sda_refs to place variables in .sbss. + (ppc_elf_finish_dynamic_symbol): Use has_sda_refs to place variables in + .sbss. + +2005-05-20 Bob Wilson + + * elf32-xtensa.c (bfd_elf_xtensa_reloc): Make sure that + xtensa_default_isa is initialized. + +2005-05-20 Alan Modra + + * elf32-ppc.c (allocate_dynrelocs): Correct plt offset assigned + for second and subsequent list entries. Only allocate multiple + glink stubs when shared or pie. + (ppc_elf_finish_dynamic_symbol): Break out early when only one + glink stub is needed. + +2005-05-19 Zack Weinberg + + * Makefile.am: Have 'all' depend on 'info'. + * Makefile.in: Regenerate. + +2005-05-19 Alan Modra + + * elf-bfd.h (struct elf_link_hash_table): Delete init_refcount and + init_offset. Add init_got_refcount, init_plt_refcount, + init_got_offset and init_plt_offset. + * elf.c (_bfd_elf_link_hash_newfunc): Adjust for above change. + (_bfd_elf_link_hash_hide_symbol): Likewise. + (_bfd_elf_link_hash_table_init): Likewise. + * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise. + * elflink.c (_bfd_elf_adjust_dynamic_symbol): Likewise. + (bfd_elf_size_dynamic_sections): Likewise. + * elf32-ppc.c (GLINK_PLTRESOLVE): Now 16 insns. + (LWZU_0_X_12, LWZ_0_4_30, LWZ_0_X_12, LWZ_11_X_11, LWZ_11_X_30, + LWZ_12_4_12, LWZ_12_8_30, LWZ_12_X_12, SUB_11_11_30): Delete. + (ADDIS_12_12, BCL_20_31, LWZU_0_12, LWZ_0_12, LWZ_11_11, LWZ_11_30, + LWZ_12_12, MFLR_0, MFLR_12, MTLR_0, SUB_11_11_12): Define. + (struct plt_entry): New. + (ppc_elf_link_hash_table_create): Set new init_plt fields. + (ppc_elf_copy_indirect_symbol): Handle merge of plt plist. Don't + use _bfd_elf_link_hash_copy_indirect. + (update_plt_info, find_plt_ent): New functions. + (ppc_elf_check_relocs): Handle R_PPC_PLTREL24 with non-zero addend + and adjust for use of plt list rather than refcount. + (ppc_elf_gc_sweep_hook): Likewise. + (ppc_elf_tls_optimize): Likewise. + (ppc_elf_adjust_dynamic_symbol): Likewise. + (allocate_dynrelocs): Likewise. + (ppc_elf_relax_section): Likewise. + (ppc_elf_relocate_section): Likewise. Adjust R_PPC_PLTREL24 addends + when performing a relocatable link. + (ppc_elf_finish_dynamic_symbol): Likewise. Write .glink stubs here.. + (ppc_elf_finish_dynamic_sections): ..rather than here. Use new + pic resolver stub. + +2005-05-19 Alan Modra + + * elf.c (assign_file_positions_for_segments): Use maximum of + maxpagesize and section alignment when adjusting initial + segment offset and section offsets. + +2005-05-18 Zack Weinberg + + * elf32-arm.c: Make all #ifndef OLD_ARM_ABI blocks + unconditional. + +2005-05-18 H.J. Lu + + * elf.c (group_signature): Undo the last change. Check if the + symbol table section is correct. + +2005-05-17 Zack Weinberg + + * elf32-arm.c: Wherever possible, use official reloc names + from AAELF. + (elf32_arm_howto_table, elf32_arm_tls_gd32_howto) + (elf32_arm_tls_ldo32_howto, elf32_arm_tls_ldm32_howto) + (elf32_arm_tls_le32_howto, elf32_arm_tls_ie32_howto) + (elf32_arm_vtinherit_howto, elf32_arm_vtentry_howto) + (elf32_arm_pc11_howto, elf32_arm_thm_pc9_howto, elf32_arm_got_prel) + (elf32_arm_r_howto): Replace with elf32_arm_howto_table_1, + elf32_arm_howto_table_2, and elf32_arm_howto_table_3. + Add many new relocations from AAELF. + (elf32_arm_howto_from_type): Update to match. + (elf32_arm_reloc_map): Add entries for R_ARM_THM_JUMP24, + R_ARM_THM_JUMP11, R_ARM_THM_JUMP19, R_ARM_THM_JUMP8, + R_ARM_THM_JUMP6, R_ARM_GNU_VTINHERIT, and R_ARM_GNU_VTENTRY. + (elf32_arm_reloc_type_lookup): Use elf32_arm_howto_from_type. + (elf32_arm_final_link_relocate): Add support for + R_ARM_THM_JUMP24, R_ARM_THM_JUMP19, R_ARM_THM_JUMP6. Remove + case entries redundant with default. + + * reloc.c: Reorganize ARM relocations. Add Thumb + assembler-internal relocations BFD_RELOC_ARM_T32_OFFSET_U8, + BFD_RELOC_ARM_T32_OFFSET_IMM, BFD_RELOC_ARM_T32_IMMEDIATE. + Add visible relocations BFD_RELOC_THUMB_PCREL_BRANCH7, + BFD_RELOC_THUMB_BRANCH20, BFD_RELOC_THUMB_BRANCH25. + Delete unused relocations BFD_RELOC_ARM_GOT12, BFD_RELOC_ARM_COPY. + * bfd-in2.h, libbfd.h: Regenerate. + +2005-05-17 Daniel Jacobowitz + + * elf.c (_bfd_elf_write_object_contents): Check for non-NULL + elf_shstrtab. + * format.c (bfd_check_format_matches): Set output_has_begun + for both_direction. + * section.c (bfd_set_section_contents): Use bfd_write_p. Remove + special case for both_direction. + +2005-05-17 Nick Clifton + + * elf.c (group_signature): Check for a group section which is + actually a (corrupt) symbol table section in disguise and prevent + an infinite loop from occurring. + +2005-05-17 H.J. Lu + + * elfxx-ia64.c (elfNN_ia64_relax_brl): Undo the change made on + 2005-02-16. + +2005-05-17 H.J. Lu + + * elfxx-ia64.c (elfNN_ia64_relax_br): Keep the original + predicate on slot 0 only if slot 0 isn't br. + +2005-05-17 H.J. Lu + + PR 797 + * elf32-i386.c (elf_i386_size_dynamic_sections): Also remove + empty sdynbss section. + * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise. + +2005-05-17 Tavis Ormandy + + * elf.c (bfd_section_from_shdr): Add sanity check when parsing + dynamic sections. + +2005-05-17 Alan Modra + + * elf32-ppc.c (LIS_11. LIS_12): Define. + (LWZU_0_X_12, LWZ_0_X_12, LWZ_12_4_12, LWZ_12_X_12): Define. + (ppc_elf_finish_dynamic_sections): Provide non-pic plt call stub + for --data-plt when building non-pie executables. + +2005-05-17 Nick Clifton + + * elf32-arm.c (elf32_arm_final_link_relocate): Gracefully handle + the situation where a symbols's section is not known but a section + relative R_ARM_RELATIVE reloc has to be generated for the Symbian + OS. + + * elf32-v850.c (v850_elf_relocate_section): Move code to test for + the presence of a symbol table to just before the symbol table is + actually used. + +2005-05-16 H.J. Lu + + PR 834 + * elfxx-ia64.c (elfNN_ia64_relax_br): New. + (elfNN_ia64_relax_section): Use it. + +2005-05-14 Mark Kettenis + + * elflink.c (bfd_elf_size_dynamic_sections): Use lbasename instead + of basename. + +2005-05-14 Alan Modra + + * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set DT_PPC_GOT, + not DT_PPC_GLINK. + (ppc_elf_finish_dynamic_sections): Likewise. + +2005-05-13 Fred Fish + + * libbfd-in.h: Fix a comment typo, 'neaderst' -> 'nearest' + * libbfd.h: Rebuilt. + +2005-05-13 Bob Wilson + + * elf32-xtensa.c (xtensa_get_property_section_name): Add missing + periods in linkonce_kind values. + +2005-05-12 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section): Allow R_386_GOTOFF + against protected function when building executable. + +2005-05-12 Alan Modra + + * elf32-ppc.c (LWZU_0_X_11): Delete. + (B, LWZ_11_X_11, LWZ_11_X_30, MTCTR_11): Define. + (ppc_elf_select_plt_layout): Set .got flags too. Formatting. + (ppc_elf_size_dynamic_sections): Allocate space for .glink branch + table. + (ppc_elf_finish_dynamic_symbol): Point .plt entries into the branch + table. + (ppc_elf_finish_dynamic_sections): Adjust DT_PPC_GLINK value. + Generate .glink branch table and updated stubs. + +2005-05-11 Alan Modra + + * reloc.c (BFD_RELOC_HI16_PCREL): Define. + (BFD_RELOC_HI16_S_PCREL, BFD_RELOC_LO16_PCREL): Define. + * elf32-ppc.c (GLINK_PLTRESOLVE, GLINK_ENTRY_SIZE): Define. + (CROR_151515, CROR_313131): Delete. + (ADDIS_11_11, ADDI_11_11, SUB_11_11_30, ADD_0_11_11, ADD_11_0_11, + LWZ_0_4_30, MTCTR_0, LWZ_12_8_30, BCTR, ADDIS_11_30, + LWZU_0_X_11): Define. + (ppc_elf_howto_raw): Add R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI + and R_PPC_REL16_HA entries. + (ppc_elf_reloc_type_lookup): Convert new bfd reloc types. + (ppc_elf_addr16_ha_reloc): Also handle R_PPC_REL16_HA. + (struct ppc_elf_link_hash_table): Add glink, glink_pltresolve, + new_plt, and old_plt. + (ppc_elf_create_dynamic_sections): Create .glink section. + (ppc_elf_check_relocs): Set new_plt and old_plt. + (ppc_elf_select_plt_layout): New function. + (ppc_elf_tls_setup): Set plt output section elf type and flags. + (allocate_got): Handle differences between old and new got layout. + (allocate_dynrelocs): Likewise for plt. + (ppc_elf_size_dynamic_sections): Likewise. Allocate memory for + .glink. Don't allocate memory for old bss .plt. Emit DT_PPC_GLINK. + (ppc_elf_relax_section): Rename ppc_info to htab. Handle .glink + destination of R_PPC_PLTREL24 relocs. + (ppc_elf_relocate_section): Handle new relocs and changed destination + of R_PPC_PLTREL24. + (ppc_elf_finish_dynamic_symbol): Init new style plt and handle + differences in layout. + (ppc_elf_finish_dynamic_sections): Set DT_PPC_GLINK value. Don't + put a blrl in new got. Write glink contents. + * elf32-ppc.h (ppc_elf_select_plt_layout): Declare. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2005-05-11 Andreas Schwab + + * elf32-i386.c (elf_i386_finish_dynamic_sections): Fix signedness + warning. + +2005-05-10 H.J. Lu + + * elf.c (_bfd_elf_make_section_from_shdr): Only check debug + section if SEC_ALLOC isn't set. + +2005-05-09 Kelley Cook + + * configure.in: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF. + * acinclude.m4: Don't sinclude accross.m4. + * config.in, configure, Makefile.in, doc/Makefile.in: Regenerate. + +2005-05-09 Alan Modra + + * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_dotsym. + (ppc64_elf_add_symbol_hook): Set has_dotsym. + (ppc64_elf_check_directives): Only process syms when has_dotsym. + (func_desc_adjust): Hide fake function descriptors when function + code entry is defined. + (adjust_opd_syms): Adjust for deleted_section becoming union field. + +2005-05-09 Alan Modra + + * elfcode.h (elf_object_p): Add more sanity checks on elf header. + +2005-05-08 Dave Korn + + * coff-tic80.c: Undefine _CONST after system headers to prevent + clash with tic80-specific definition in include/coff/tic80.h + +2005-05-08 H.J. Lu + + PR 939 + * elflink.c (elf_link_output_extsym): Use output_bfd if + h->root.u.def.section is bfd_abs_section_ptr when reporting + error. + +2005-05-07 H.J. Lu + + * elf-bfd.h (elf_backend_data): Update special_sections to + array of pointer to bfd_elf_special_section. + * elf.c (special_sections): Likewise. + * elf32-arm.c (elf32_arm_symbian_special_sections): Likewise. + * elf32-m32r.c (m32r_elf_special_sections): Likewise. + * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise. + * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise. + * elf32-mcore.c (mcore_elf_special_sections): Likewise. + * elf32-ppc.c (ppc_elf_special_sections): Likewise. + * elf32-sh64.c (sh64_elf_special_sections): Likewise. + * elf32-v850.c (v850_elf_special_sections): Likewise. + * elf32-xtensa.c (elf_xtensa_special_sections): Likewise. + * elf64-alpha.c (elf64_alpha_special_sections): Likewise. + * elf64-hppa.c (elf64_hppa_special_sections): Likewise. + * elf64-ppc.c (ppc64_elf_special_sections): Likewise. + * elf64-sh64.c (sh64_elf64_special_sections): Likewise. + * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise. + * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise. + * elfxx-mips.h (_bfd_mips_elf_special_sections): Likewise. + + * elf.c (get_special_section): Updated. + +2005-05-07 Alan Modra + + * elf-bfd.h (struct elf_backend_data): Remove got_symbol_offset. + * elfxx-target.h (elf_backend_got_symbol_offset): Delete. + * elflink.c (_bfd_elf_create_got_section): Use zero in place of + got_symbol_offset. + * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise. + * elf32-frv.c (_frv_create_got_section): Likewise. + * elf32-i370.c (i370_elf_finish_dynamic_sections): Delete ppc code. + (elf_backend_got_symbol_offset): Don't define. + * elf64-ppc.c (elf_backend_got_symbol_offset): Don't define. + * elf32-ppc.c (struct ppc_elf_link_hash_table): Add got_header_size + and got_gap. + (ppc_elf_create_got): Tidy. + (ppc_elf_create_dynamic_sections): Don't set SEC_IN_MEMORY for .plt. + (ppc_elf_check_relocs): Reduce string comparisons by using elf.hgot. + (ppc_elf_gc_sweep_hook): Likewise. + (ppc_elf_relocate_section): Likewise. + (ppc_elf_finish_dynamic_symbol): Likewise. + (allocate_got): New function. + (allocate_dynrelocs): Use allocate_got. + (ppc_elf_size_dynamic_sections): Likewise. Delay tlsld_got allocation + so that local got can refcount it. Set got_header_size. + (ppc_elf_relocate_section): Use value of elf.hgot rather than hard- + coded 4. + (ppc_elf_finish_dynamic_sections): Likewise. + (elf_backend_got_symbol_offset): Don't define. + (elf_backend_got_header_size): Ditto. + +2005-05-05 Steve Ellcey + + * configure.in (ACX_HEADER_STRING): New. + * configure: Regenerate. + * config.in: Regenerate. + * sysdep.h (STRING_WITH_STRINGS): Use. + +2005-05-05 H.J. Lu + + * elf.c (_bfd_elf_close_and_cleanup): Only call + _bfd_dwarf2_cleanup_debug_info on bfd_object. + +2005-05-05 H.J. Lu + + * elflink.c (_bfd_elf_provide_section_bound_symbols): Use + "__bss_start" instead of "_edata" as fallback. + +2005-05-05 H.J. Lu + + * bfd-in2.h: Regenerated. + +2005-05-05 Paul Brook + + * config.bfd: Use bfd_elf32_i386_vxworks_vec for i?86-*-vxworks. + * configure.in: Add bfd_elf32_i386_vxworks_vec. i386 targets need + elf-vxworks.lo. + * configure: Regenerate. + * Makefile.am (BFD32_BACKENDS): Add elf-vxworks.lo. + (BFD32_BACKENDS_CFILES): Add elf-vxworks.c. + (elf32-i386.lo): Depend on elf-vxworks.h. + (elf-vxworks.lo): New rule. + * Makefile.in: Regenerate. + * elf-bfd.h (elf_backend_data): Update type of + elf_backend_emit_relocs. + (_bfd_elf_link_output_relocs): Update prototype. + * elflink.c (_bfd_elf_link_output_relocs): Always use + bed->elf_backend_emit_relocs when outputting relocations. + * elfxx-target.h (elf_backend_emit_relocs): Default to + _bfd_elf_link_output_relocs. + * targets.c (bfd_elf32_i386_vxworks_vec): Declare. + (_bfd_target_vector): Add bfd_elf32_i386_vxworks_vec. + * elf32-i386.c: Add elf32-i386-vxworks target BFD. + (elf_i386_plt0_entry): Remove padding. + (elf_i386_pic_plt0_entry): Ditto. + (PLTRESOLVE_RELOCS_SHLIB, PLTRESOLVE_RELOCS): Define. + (PLT_NON_JUMP_SLOT_RELOCS): Define. + (elf_i386_link_hash_table): Add srelplt2, hgot, hplt, is_vxworks and + plt0_pad_byte fields. + (elf_i386_link_hash_table_create): Zero them. + (elf_i386_create_dynamic_sections): Create static relocation section. + (allocate_dynrelocs): Allocate space for static PLT relocations. + (elf_i386_size_dynamic_sections): Save shortcuts to PLT and GOT + symbols. Give PLT symbols function type. Don't strip PLT sections + if we have exported symbols from them. + (elf_i386_finish_dynamic_symbol): Fill in VxWorks PLT static + relocation section. Don't mark _GLOBAL_OFFSET_TABLE_ as absolute on + VxWorks. + (elf_i386_finish_dynamic_sections): Allow different pad bytes. + Add relocation for GOT location. Fill in PLT static relocations. + (elf_i386_vxworks_link_hash_table_create): New function. + (elf_i386_vxworks_link_output_symbol_hook): New function. + * elf-vxworks.h: New file. + +2005-05-05 H.J. Lu + + * section.c (bfd_make_section_anyway_with_flags): New. + (bfd_make_section_anyway): Call bfd_make_section_anyway_with_flags, + (bfd_make_section_with_flags): New. + (bfd_make_section): Call bfd_make_section_with_flags. + + * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Call + bfd_make_section_with_flags/bfd_make_section_anyway_with_flags + instead of bfd_make_section/bfd_make_section and don't call + bfd_set_section_flags. + (mn10300_elf_check_relocs): Likewise. + (_bfd_mn10300_elf_create_dynamic_sections): Likewise. + * elf32-arm.c (create_got_section): Likewise. + (bfd_elf32_arm_add_glue_sections_to_bfd): Likewise. + (elf32_arm_check_relocs): Likewise. + * elf32-cris.c (cris_elf_check_relocs): Likewise. + * elf32-frv.c (elf32_frv_add_symbol_hook): Likewise. + (_frv_create_got_section): Likewise. + (elf32_frvfdpic_create_dynamic_sections): Likewise. + * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise. + (elf32_hppa_check_relocs): Likewise. + * elf32-i370.c (i370_elf_create_dynamic_sections): Likewise. + (i370_elf_check_relocs): Likewise. + * elf32-i386.c (create_got_section): Likewise. + (elf_i386_check_relocs): Likewise. + * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise. + (create_got_section): Likewise. + (m32r_elf_create_dynamic_sections): Likewise. + (m32r_elf_check_relocs): Likewise. + * elf32-m68k.c (elf_m68k_check_relocs): Likewise. + * elf32-ppc.c (ppc_elf_create_got): Likewise. + (ppc_elf_create_dynamic_sections): Likewise. + (ppc_elf_add_symbol_hook): Likewise. + (ppc_elf_check_relocs): Likewise. + * elf32-s390.c (create_got_section): Likewise. + (elf_s390_check_relocs): Likewise. + * elf32-sh.c (create_got_section): Likewise. + (sh_elf_create_dynamic_sections): Likewise. + (sh_elf_check_relocs): Likewise. + * elf32-vax.c (elf_vax_check_relocs): Likewise. + * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise. + * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise. + (add_extra_plt_sections): Likewise. + * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise. + (elf64_alpha_create_got_section): Likewise. + (elf64_alpha_create_dynamic_sections): Likewise. + (elf64_alpha_check_relocs): Likewise. + * elf64-hppa.c (get_reloc_section): Likewise. + (get_opd): Likewise. + (get_plt): Likewise. + (get_dlt): Likewise. + (get_stub): Likewise. + (elf64_hppa_create_dynamic_sectionso): Likewise. + * elf64-mmix.c (mmix_elf_check_common_relocs): Likewise. + * elf64-ppc.c (create_linkage_sections): Likewise. + (ppc64_elf_check_relocs): Likewise. + * elf64-s390.c (create_got_section): Likewise. + (elf_s390_check_relocs): Likewise. + * elf64-sh64.c (sh_elf64_check_relocs): Likewise. + (sh64_elf64_create_dynamic_sections): Likewise. + * elf64-x86-64.c (create_got_section): Likewise. + (elf64_x86_64_check_relocs): Likewise. + * elflink.c (_bfd_elf_create_got_section): Likewise. + (_bfd_elf_link_create_dynamic_sections): Likewise. + (elf_link_add_object_symbols): Likewise. + * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise. + (elfNN_ia64_create_dynamic_sections): Likewise. + (get_fptr): Likewise. + (get_pltoff): Likewise. + (get_reloc_section): Likewise. + (elfNN_ia64_object_p): Likewise. + * elfxx-mips.c (mips_elf_rel_dyn_section): Likewise. + (mips_elf_create_compact_rel_section): Likewise. + (mips_elf_create_got_section): Likewise. + (_bfd_mips_elf_create_dynamic_sections): Likewise. + * elfxx-sparc.c (create_got_section): Likewise. + (_bfd_sparc_elf_check_relocs): Likewise. + + * elf.c (_bfd_elf_new_section_hook): Call _bfd_elf_get_sec_type_attr + on linker created sections. + +2005-05-05 H.J. Lu + + PR 882 + * elflink.c (_bfd_elf_link_assign_sym_version): Allow version + script on executable. + +2005-05-05 John Levon + + * dwarf2.c (read_abbrevs): If bfd_realloc fails, free currently + allocated memory before returning. + (decode_line_info): Likewise. + (_bfd_dwarf2_cleanup_debug_info): New function: Frees memory + allocated by functions in this file. + * elf-bfd.h (_bfd_dwarf2_cleanup_debug_info): Prototype. + * elf.c (_bfd_elf_close_and_cleanup): Call + _bfd_dwarf2_cleanup_debug_info. + +2005-05-05 Hans-Peter Nilsson + + * Makefile.am (INCLUDES): Don't -D_GNU_SOURCE here. + * configure.in: Call AC_GNU_SOURCE here, after AC_PROG_CC. + * configure, config.in, Makefile.in: Regenerate. + * sysdep.h (stpcpy): Revert last change. + +2005-05-05 Hans-Peter Nilsson + + * sysdep.h (stpcpy): Wrap declaration in parentheses. + +2005-05-04 H.J. Lu + + * elfxx-ia64.c (ARCH_SIZE): New. + (LOG_SECTION_ALIGN): Likewise. + (elfNN_ia64_create_dynamic_sections): Use LOG_SECTION_ALIGN to + align relocation sections. + (get_fptr): Likewise. + (get_reloc_section): Likewise. + (elfNN_ia64_tprel_base): Likewise. + (elfNN_ia64_check_relocs): Support 32bit relocations. + (allocate_global_fptr_got): Likewise. + (allocate_dynrel_entries): Likewise. + (set_got_entry): Likewise. + (set_pltoff_entry): Likewise. + (elfNN_ia64_relocate_section): Likewise. + +2005-05-04 H.J. Lu + + * configure.in: Add AC_CHECK_DECLS(stpcpy). + * configure: Regenerate. + * config.in: Likewise. + + * sysdep.h (stpcpy): New. + +2005-05-04 Nick Clifton + + * Update the address and phone number of the FSF organization in + the GPL notices in the following files: + aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, + aout-cris.c, aout-ns32k.c, aout-sparcle.c, aout-target.h, + aout-tic30.c, aout0.c, aout32.c, aout64.c, aoutf1.h, aoutx.h, + archive.c, archive64.c, archures.c, armnetbsd.c, bfd-in.h, + bfd-in2.h, bfd.c, bfdio.c, bfdwin.c, binary.c, bout.c, cache.c, + cf-i386lynx.c, cf-m68klynx.c, cf-sparclynx.c, cisco-core.c, + coff-a29k.c, coff-alpha.c, coff-apollo.c, coff-arm.c, coff-aux.c, + coff-go32.c, coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, + coff-i960.c, coff-ia64.c, coff-m68k.c, coff-m88k.c, coff-maxq.c, + coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c, + coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, + coff-svm68k.c, coff-tic30.c, coff-tic4x.c, coff-tic54x.c, + coff-tic80.c, coff-u68k.c, coff-w65.c, coff-we32k.c, coff-z8k.c, + coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c, coffswap.h, + corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, + cpu-avr.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c, + cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c, + cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c, + cpu-i960.c, cpu-ia64-opc.c, cpu-ia64.c, cpu-ip2k.c, cpu-iq2000.c, + cpu-m10200.c, cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, + cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c, + cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-ns32k.c, cpu-openrisc.c, + cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c, cpu-rs6000.c, + cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c, cpu-tic4x.c, + cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, + cpu-we32k.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z8k.c, demo64.c, + dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c, ecoffswap.h, + efi-app-ia32.c, efi-app-ia64.c, elf-bfd.h, elf-eh-frame.c, + elf-hppa.h, elf-m10200.c, elf-m10300.c, elf-strtab.c, elf.c, + elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c, + elf32-cr16c.c, elf32-cris.c, elf32-crx.c, elf32-d10v.c, + elf32-d30v.c, elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c, + elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c, + elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c, + elf32-iq2000.c, elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, + elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c, elf32-m88k.c, + elf32-mcore.c, elf32-mips.c, elf32-msp430.c, elf32-openrisc.c, + elf32-or32.c, elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, + elf32-sh-symbian.c, elf32-sh.c, elf32-sh64-com.c, elf32-sh64.c, + elf32-sh64.h, elf32-sparc.c, elf32-v850.c, elf32-vax.c, + elf32-xstormy16.c, elf32-xtensa.c, elf32.c, elf64-alpha.c, + elf64-gen.c, elf64-hppa.c, elf64-hppa.h, elf64-mips.c, + elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c, + elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elf64.c, elfcode.h, + elfcore.h, elflink.c, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, + elfxx-mips.h, elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, + epoc-pe-arm.c, epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, + genlink.h, hash.c, host-aout.c, hp300bsd.c, hp300hpux.c, + hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c, + i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c, + i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c, + libaout.h, libbfd-in.h, libbfd.c, libbfd.h, libcoff-in.h, + libcoff.h, libecoff.h, libhppa.h, libieee.h, libnlm.h, liboasys.h, + libpei.h, libxcoff.h, linker.c, lynx-core.c, m68k4knetbsd.c, + m68klinux.c, m68klynx.c, m68knetbsd.c, m88kmach3.c, m88kopenbsd.c, + mach-o-target.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c, mmo.c, + netbsd-core.c, netbsd.h, newsos3.c, nlm-target.h, nlm.c, + nlm32-alpha.c, nlm32-i386.c, nlm32-ppc.c, nlm32-sparc.c, nlm32.c, + nlm64.c, nlmcode.h, nlmswap.h, ns32k.h, ns32knetbsd.c, oasys.c, + opncls.c, osf-core.c, pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, + pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c, peXXigen.c, + pef-traceback.h, pef.c, pef.h, pei-arm.c, pei-i386.c, pei-mcore.c, + pei-mips.c, pei-ppc.c, pei-sh.c, peicode.h, ppcboot.c, + ptrace-core.c, reloc.c, reloc16.c, riscix.c, rs6000-core.c, + sco5-core.c, section.c, simple.c, som.c, som.h, sparclinux.c, + sparclynx.c, sparcnetbsd.c, srec.c, stab-syms.c, stabs.c, sunos.c, + syms.c, sysdep.h, targets.c, tekhex.c, ticoff.h, trad-core.c, + vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c, vms-gsd.c, + vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h, xcoff-target.h, + xcofflink.c, xsym.c, xsym.h, xtensa-isa.c, xtensa-modules.c, + hosts/alphavms.h + +2005-05-04 H.J. Lu + + * bfd-in.h (_bfd_elf_provide_section_bound_symbols): New. + * bfd-in2.h: Regenerated. + + * elflink.c (bfd_elf_set_symbol): New. + (_bfd_elf_provide_symbol): Call it. + (_bfd_elf_provide_section_bound_symbols): New. + +2005-05-04 H.J. Lu + + * elflink.c (_bfd_elf_merge_symbol): Only skip weak definitions + at the end, if a strong definition has already been seen. + +2005-05-04 Alan Modra + + * section.c (struct bfd_section): Replace link_order_head and + link_order_tail with map_head and map_tail union. + (STD_SECTION): Update. + (_bfd_strip_section_from_output): Delete. + * aoutx.h: Update throughout for above changes. + * coff-ppc.c: Likewise. + * cofflink.c: Likewise. + * ecoff.c: Likewise. + * elf-eh-frame.c: Likewise. + * elf-m10300.c: Likewise. + * elf.c: Likewise. + * elf32-arm.c: Likewise. + * elf32-cris.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68hc1x.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-x86-64.c: Likewise. + * elflink.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * elfxx-sparc.c: Likewise. + * linker.c: Likewise. + * merge.c: Likewise. + * pdp11.c: Likewise. + * xcofflink.c: Likewise. + * elflink.c (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Split + out from bfd_elf_size_dynamic_sections. + * bfd-in.h (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Declare. + * bfd-in2.h: Regenerate. + +2005-05-04 Alan Modra + + * section.c (bfd_section_list_remove): Don't clear s->next. + (bfd_section_list_append): Always init s->prev. + (bfd_section_list_prepend): Define. + (bfd_section_list_insert_after): Minor optimization. + (bfd_section_removed_from_list): Rewrite. + * elf.c (assign_section_numbers): Simplify list traversal now that + bfd_section_list_remove doesn't destroy removed section next ptr. + * sunos.c (sunos_add_dynamic_symbols): Likewise. + * elfxx-ia64.c (elfNN_ia64_object_p): Use bfd_section_list_prepend. + * xcofflink.c (_bfd_xcoff_bfd_final_link): Simplify list traversal. + * bfd-in2.h: Regenerate. + +2005-05-02 H.J. Lu + + * bfd.c (bfd): Remove section_tail and add section_last. + (bfd_preserve): Likewise. + (bfd_preserve_save): Likewise. + (bfd_preserve_restore): Likewise. + * opncls.c (_bfd_new_bfd): Likewise. + + * coffcode.h (coff_compute_section_file_positions): Updated. + (coff_compute_section_file_positions): Likewise. + * elf.c (assign_section_numbers): Likewise. + * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. + * elf64-mmix.c (mmix_elf_final_link): Likewise. + * elfxx-ia64.c (elfNN_ia64_object_p): Likewise. + * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. + * sunos.c (sunos_add_dynamic_symbols): Likewise. + * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. + + * ecoff.c (bfd_debug_section): Initialize prev. + + * section.c (bfd_section): Add prev. + (bfd_section_list_remove): Updated. + (bfd_section_list_append): New. + (bfd_section_list_insert_after): New. + (bfd_section_list_insert_before): New. + (bfd_section_list_insert): Removed. + (bfd_section_removed_from_list): Updated. + (STD_SECTION): Initialize prev. + (bfd_section_init): Updated. + (bfd_section_list_clear): Updated. + + * bfd-in2.h: Regenerated. + +2005-05-02 H.J. Lu + + * elf.c (_bfd_elf_new_section_hook): Don't call + _bfd_elf_get_sec_type_attr on sections from input files. + +2005-05-02 H.J. Lu + + * merge.c (sec_merge_init): Call bfd_hash_table_init_n with + hash table size 16699 instead of bfd_hash_table_init. + +2005-05-01 Paul Brook + + * elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a strong + definition has already been seen. + +2005-05-01 Paul Brook + + * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat + R_ARM_PLT32 the same as R_ARM_PC24. + (arm_add_to_rel): Ditto. + 2005-04-29 Ralf Corsepius * config.bfd: Add h8300*-*-rtemscoff. Switch h8300*-*-rtems* to elf. +2005-04-29 Daniel Jacobowitz + + * aclocal.m4, Makefile.in: Regnerated. + 2005-04-28 Paul Brook Merge changes only applied to Makefile.in. @@ -336,7 +1217,7 @@ * coffcode.h (STRING_SIZE_SIZE): Updated to match libcoff-in.h. 2005-04-11 Nick Clifton - + * aout-target.h: Convert to ISO C. * aoutf1.h: Convert to ISO C. * aoutx.h: Convert to ISO C. @@ -420,7 +1301,7 @@ 2005-04-04 H.J. Lu * elf.c (bfd_elf_set_group_contents): Ignore linker created - group section. + group section. (assign_section_numbers): Accept link_info. Check SHT_GROUP sections for relocatable files only. Remove the linker created group sections. @@ -535,8 +1416,7 @@ * configure.in: Check for ffs decl and alphabetize. * config.in: Regenerate. * configure: Regenerate. - * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and - alphabetize. + * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and alphabetize. 2005-03-29 Fred Fish @@ -1643,7 +2523,7 @@ i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c, nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c, pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c, - sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, doc/chew.c, + sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code throughout. Similarly, collapse #if 1'd code.