aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
AgeCommit message (Collapse)AuthorFilesLines
2001-10-162001-10-15 H.J. Lu <hjl@gnu.org>H.J. Lu1-0/+5
* elflink.h (elf_link_input_bfd): Set type to BFD_RELOC_NONE for relocations against discarded link-once section.
2001-10-15 * elf32-i386.c (elf_i386_relocate_section): Report some detail onAlan Modra1-0/+3
bfd_reloc_outofrange and similar errors.
2001-10-15 * elf.c (_bfd_elf_link_hash_copy_indirect): Test ind->root.typeAlan Modra1-0/+10
rather than ind->weakdef. * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise. * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise. * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
2001-10-15 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Merge dyn_relocAlan Modra1-4/+22
counts for aliases instead of aborting. * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Set plt.offset to -1 for non-function symbols. * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise. * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Refer to plt.offset instead of plt.refcount when setting to -1.
2001-10-12Treat R_ARM_THM_PC22 like R_ARM_PC24.Nick Clifton1-0/+6
2001-10-10 * elflink.h (elf_link_sort_cmp2): Don't mix PLT and non-PLTJakub Jelinek1-0/+5
relocations against the same symbol in .rel{,a}.dyn section.
2001-10-10 * aout-encap.c: Fix comment typos.Kazu Hirata1-0/+24
* aoutx.h: Likewise. * archive.c: Likewise. * bout.c: Likewise. * coff64-rs6000.c: Likewise. * coffcode.h: Likewise. * coffgen.c: Likewise. * cofflink.c: Likewise. * coff-mips.c: Likewise. * ecoff.c: Likewise. * elf32-m32r.c: Likewise. * libcoff-in.h: Likewise. * libecoff.h: Likewise. * libxcoff.h: Likewise. * nlm32-i386.c: Likewise. * pdp11.c: Likewise. * section.c: Likewise. * som.c: Likewise. * som.h: Likewise. * bfd-in2.h: Regenerate. * libcoff.h: Likewise.
2001-10-10 * elf.c (elf_map_symbols): Don't create new section symbols; UseAlan Modra1-0/+8
existing section syms. Update comments. (copy_private_bfd_data): Formatting fixes. (elfcore_grok_win32pstatus): Likewise. (swap_out_syms): Likewise. Remove unnecessary level of braces.
2001-10-09 * elf-bfd.h (struct bfd_elf_section_data): Rename "group" toAlan Modra1-0/+13
"group_name". (elf_group_name): Define. (elf_next_in_group): Define. * elf.c: Make use of elf_group_name and elf_next_in_group throughout. (setup_group): Don't use sec->lineno for SHT_GROUP section to store first member section; Instead use elf_next_in_group. (bfd_section_from_shdr): Likewise. (set_group_contents): Likewise. Use elf_section_syms, not sec->symbol.
2001-10-09 * elf-bfd.h (struct bfd_elf_section_data): Add "group" andAlan Modra1-0/+28
"next_in_group". Fix gp and gp_size comments. * elf.c (union elf_internal_group): New. (setup_group): New function. (_bfd_elf_make_section_from_shdr): Set BFD flags for SHT_GROUP. Call setup_group for SHF_GROUP sections. (bfd_section_from_shdr): Build a BFD section for SHT_GROUP. (elf_fake_sections): Set header type for SEC_GROUP, and header flags for sections in a group. (set_group_contents): New function. (_bfd_elf_compute_section_file_positions): Call it. (assign_section_numbers): Set sh_link for SHT_GROUP. * elflink.h (gc_mark_hook): Handle section groups. * elfxx-target.h: Add SEC_GROUP to applicable_flags. * section.c (SEC_GROUP): Define. (struct sec): Comment fixes. * bfd-in2.h: Regenerate. * elf.c (bfd_elf_print_symbol): Formatting fix; migrate expression out of function args. (_bfd_elf_canonicalize_reloc): Similarly. (_bfd_elf_get_symtab): Here too. (_bfd_elf_canonicalize_dynamic_symtab): And here. * elfcode.h (elf_slurp_symbol_table): Don't recalculate size for bfd_bread, and remove unnecessary cast.
2001-10-08 * bfd/config.bfd (targ_cpu): Add arm9e-*-elf.Aldy Hernandez1-0/+4
2001-10-06 * dwarf2.c (comp_unit_find_nearest_line): Check for end ofStephane Carrez1-0/+5
compilation unit.
2001-10-06 * bfd.c (bfd_assert): Report bfd version.Alan Modra1-0/+3
(_bfd_abort): Likewise.
2001-10-06 * elflink.h (elf_link_input_bfd): Don't zero discarded link-onceAlan Modra1-0/+4
section sym values. Instead replace any relocs against them with relocs against STN_UNDEF, which has a zero value.
2001-10-06 * elf32-arc.c (elf_arc_howto_table): Set partial_inplace for allAlan Modra1-0/+5
relocs.
2001-10-05 * som.h (som_exec_data): New field "version_id".Jeff Law1-1/+9
* som.c (som_object_setup): Record the version_id if it exists. (som_prep_headers): Do not initialize version_id here. (som_finish_writing): Initialize version_id here.
2001-10-05 * elf32-mips.c (elf_mips_howto_table): Fix some relocation howtosThiemo Seufer1-0/+6
according to the MIPS/SGI ELF64 ABI Draft. (mips_elf_sort_hash_table): Typo.
2001-10-04Fix a comment typo in last commit.Alan Modra1-0/+2
2001-10-04 * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): Bail out afterAlan Modra1-0/+5
copying flags if this is a weakdef.
2001-10-04 * elf-bfd.h (struct elf_link_hash_entry): Reorganise for betterAlan Modra1-0/+3
packing.
2001-10-04 * elf32-mips.c (mips_elf_record_global_got_symbol): Set got.offsetAlan Modra1-0/+4
to 1 rather than 0 to avoid confusing copy_indirect_symbol. (mips_elf_sort_hash_table_f): Compare got.offset against 1.
2001-10-04 * Makefile.am (BFD_H_DEPS): Add symcat.h. Ensure everythingAlan Modra1-0/+9
depends on $(BFD_H) $(BFD_H_DEPS) $(LOCAL_H_DEPS), not just those backends we configure. Run "make dep-am". (install-data-local): Install symcat.h. * dep-in.sed: Remove symcat.h from dependencies. * Makefile.in: Regenerate.
2001-10-03Add support for -z nocopyreloc.Alan Modra1-0/+4
2001-10-03 * elf64-mips.c (elf_backend_may_use_rela_p): New define.Thiemo Seufer1-0/+5
(elf_backend_default_use_rela_p): New define.
2001-10-03 * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Fix typos in lastAlan Modra1-0/+3
change.
2001-10-03bfd/ChangeLogAlan Modra1-0/+6
* configure.in (AC_OUTPUT <bfd-in3.h>): Remove version.h. * configure: Regenerate. * Makefile.am (BFD_H_FILES): Add version.h. * Makefile.in: Regenerate. * po/SRC-POTFILES.in: Regenerate. bfd/doc/ChangeLog * Makefile.am (BFD_H_DEP): Add ../version.h. * Makefile.in: Regenerate.
2001-10-03 * elflink.h (elf_fix_symbol_flags): Copy flags to weakdef usingAlan Modra1-0/+17
elf_backend_copy_indirect_symbol so that backend has a chance to copy other necessary fields. * elf-bfd.h (struct elf_backend_data): Update description of elf_backend_copy_indirect_symbol. * elf.c (_bfd_elf_link_hash_copy_indirect): Bail out after copying flags if this is a weakdef. * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. (elfNN_ia64_aix_add_symbol_hook): Use elf_link_hash_lookup rather than bfd_link_hash_lookup. * elf32-i386 (elf_i386_adjust_dynamic_symbol): Don't do copy reloc processing for weakdefs. * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
2001-10-02 * elf64-ppc.c (ppc64_elf_check_relocs): Use a local var and castAlan Modra1-0/+8
result of ELF64_R_TYPE to enum before using in a switch. (ppc64_elf_gc_mark_hook): Likewise. (ppc64_elf_gc_sweep_hook): Likewise. (ppc64_elf_reloc_type_class): Likewise.
2001-10-02 * version.h: New file.Alan Modra1-0/+58
* bfd-in.h: (BFD_VERSION): Substitute bfd_version. (BFD_VERSION_DATE): Define. (BFD_VERSION_STRING): Define. * configure.in: AC_SUBST bfd_version, bfd_version_date and bfd_version_string. (AC_OUTPUT <bfd-in3.h>): Depend on version.h. * bfd-in2.h: Regenerate. * configure: Regenerate. * Makefile.am: Run "make dep-am" * Makefile.in: Regenerate. * bfd-in.h: Include "symcat.h". (CONCAT4): Redefine as for old CAT4. * aout-arm.c: Use equivalent CONCAT* macro in place of CAT* macros. Add warning regarding whitespace. * aout-cris.c: Likewise. * aout-ns32k.c: Likewise. * aout-sparcle.c: Likewise. * aout-tic30.c: Likewise. * aout0.c: Likewise. * armnetbsd.c: Likewise. * demo64.c: Likewise. * elf-bfd.h: Likewise. * gen-aout.c: Likewise. * host-aout.c: Likewise. * hp300bsd.c: Likewise. * hp300hpux.c: Likewise. * i386aout.c: Likewise. * i386bsd.c: Likewise. * i386dynix.c: Likewise. * i386freebsd.c: Likewise. * i386linux.c: Likewise. * i386lynx.c: Likewise. * i386mach3.c: Likewise. * i386netbsd.c: Likewise. * libaout.h: Likewise. * m68k4knetbsd.c: Likewise. * m68klinux.c: Likewise. * m68klynx.c: Likewise. * m68knetbsd.c: Likewise. * m88kmach3.c: Likewise. * mipsbsd.c: Likewise. * newsos3.c: Likewise. * ns32knetbsd.c: Likewise. * pc532-mach.c: Likewise. * pdp11.c: Likewise. * riscix.c: Likewise. * sparclinux.c: Likewise. * sparclynx.c: Likewise. * sparcnetbsd.c: Likewise. * sunos.c: Likewise. * targets.c: Likewise. * vaxnetbsd.c: Likewise. * vms-hdr.c: Likewise.
2001-10-01bfd/Alan Modra1-0/+9
* bfd-in.h: Remove comments regarding generated files. * libbfd-in.h: Likewise. * libcoff-in.h: Likewise. * bfd-in2.h: Regenerate. * libbfd.h: Likewise. * libcoff.h: Likewise. bfd/doc/ * header.sed: New file, adds header to generated files. * Makefile.am: Rewrite rules generating libbfd.h, libcoff.h and bfd.h, using above. Add missing elf.c dependecy for libbfd.h. * Makefile.in: Regenerate.
2001-10-01 * elf32-sh.c (sh_elf_howto_table, R_SH_REL32): MakeHans-Peter Nilsson1-0/+13
partial_inplace, matching assembler output. Set src_mask to all ones. (sh_elf_relocate_section): Delete misplaced comment. For relocatable linking against section symbol, call _bfd_relocate_contents for partial_inplace relocs and adjust rel->r_addend for others. <case R_SH_DIR32, R_SH_REL32>: Fetch partial_inplace addend with bfd_get_32, not at rel->r_addend.
2001-09-30 * elf.c (_bfd_elf_link_hash_copy_indirect): Set ind refcounts toAlan Modra1-0/+6
the old dir refcount, so we indirectly set them to init_refcount. Short-circuit asserts when we've just verified they are true.
2001-09-29 * section.c (struct sec): Remove kept_section.Alan Modra1-0/+14
(STD_SECTION): Remove kept_section initialisation. (bfd_make_section_anyway): Here too. * ecoff.c (bfd_debug_section): Remove kept_section initialisation. * cofflink.c (_bfd_coff_link_input_bfd): Don't test kept_section. * elflink.h (elf_link_input_bfd): Set discarded link-once section symbols to zero, and remove all code involved with kept_section and tracking section symbol values. * bfd-in2.h: Regenerate. * configure.in: Bump version number. * configure: Regenerate. * ldlang.c (section_already_linked): Remove assignment to kept_section.
2001-09-29 * elf64-ppc.c (struct ppc_dyn_relocs): New.Alan Modra1-0/+63
(IS_ABSOLUTE_RELOC): Define. (struct ppc_link_hash_entry): New. (struct ppc_link_hash_table): New. (ppc_hash_table): Define. (link_hash_newfunc): New function. (ppc64_elf_link_hash_table_create): New function. (create_got_section): New function. (ppc64_elf_create_dynamic_sections): Call create_got_section. Stash pointers to our dynamic sections in hash table. (ppc64_elf_copy_indirect_symbol): New function. (ppc64_elf_check_relocs): Remove DEBUG code. Use short-cuts to dynamic sections. Localise vars. Modify code for refcounts starting from zero. Don't allocate here, or force symbols dynamic. Don't copy all relocs if shared, select ones we need. Add code to track possible copy relocs for non-shared link. (ppc64_elf_gc_mark_hook): Update comment. (ppc64_elf_gc_sweep_hook): Sweep dynrelocs too. (ppc64_elf_adjust_dynamic_symbol): Remove DEBUG code. Rewrite .plt code for reference counting garbage collection. Don't create .plt entries for functions that don't comply with ABI naming convention, and don't allocate .plt space here. Use short-cuts to dynamic sections. If possible, keep dynamic relocations instead of using copy relocs. Remove confused comments. (ppc_adjust_dynindx): Delete. (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. (allocate_dynrelocs): New function. (readonly_dynrelocs): New function. (ppc64_elf_size_dynamic_sections): Rewrite. Allocate local .got space here, and call allocate_dynrelocs to allocate space for global .plt, .got and reloc sections. Use short-cuts to dynamic sections. Call readonly_dynrelocs to determine whether we need DT_TEXTREL. Don't generate section symbols here, the generic ELF linker code does it for us. (ppc64_elf_final_link): Call regular ELF backend linker rather than gc variety, since we do our own .got handling. (ppc64_elf_relocate_section): Remove DEBUG code. Make use of dynamic section short-cuts. Localise vars, and delay setting. Handle unknown relocs in main switch statement. Replace ugly complicated tests for unresolvable relocs with a simple direct scheme using "unresolved_reloc" var. Test ELF_ST_VISIBILITY before allowing an undefined sym in a shared lib. Do R_*_DS tests after main switch, when we've set addend. Do non-addend insn tweaks before main swithc. Ignore input_section->vma when calculating reloc offsets as it's always zero. Rewrite dynamic reloc handling. Consolidate R_*_HA handling. Handle more relocs. (ppc64_elf_finish_dynamic_symbol): Remove DEBUG code. Make use of dynamic section short-cuts. Reorganise .plt handling code. Remove confused comments. Take note of ELF_LINK_FORCED_LOCAL. Move expressions out of swap_reloca_out function calls. (ppc64_elf_reloc_type_class): New function. (ppc64_elf_info_to_howto): Move common expression to local var. (ppc64_elf_finish_dynamic_sections): Remove DEBUG code. Make use of dynamic section short-cuts. Don't fiddle with section syms here as the ELF linker does it for us. (elf_backend_can_refcount): Define. (bfd_elf64_bfd_link_hash_table_create): Define. (elf_backend_copy_indirect_symbol): Define. (elf_backend_reloc_type_class): Define. (elf_backend_*, bfd_elf64_bfd_* defines): Sort.
2001-09-29 * elf-bfd.h (struct elf_link_local_dynamic_entry): Add init_refcount.Alan Modra1-0/+44
(struct elf_backend_data): Add can_refcount. * elf.c (_bfd_elf_link_hash_newfunc): Get rid of a few casts. Set got.refcount and plt.refcount from init_refcount. (_bfd_elf_link_hash_table_init): Set up init_refcount. (_bfd_elf_link_hash_copy_indirect): Reference got/plt.refcount rather than got/plt.offset, and test for <= 0 rather than -1. * elflink.h (size_dynamic_sections): Set init_refcount to -1. * elfxx-target.h (elf_backend_can_refcount): Define. (elfNN_bed): Init can_refcount. * linker.c (_bfd_link_hash_newfunc): Get rid of a few casts. (_bfd_generic_link_hash_newfunc): Likewise. * elf32-cris.c (cris_elf_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf32-hppa.c (elf32_hppa_check_relocs): Modify for refcounts starting from zero. (elf32_hppa_copy_indirect_symbol): Make static to agree with prototype. (elf_backend_can_refcount): Define. * elf32-i386.c (elf_i386_check_relocs): Modify for refcounts starting from zero. (allocate_dynrelocs): Set plt/got.offset rather than *.refcount. (elf_i386_finish_dynamic_symbol): Expand SHN_UNDEF comment. (elf_i386_finish_dynamic_sections): Use local var so line < 80 chars. (elf_backend_can_refcount): Define. (elf_i386_copy_indirect_symbol): Make static to agree with prototype. Formatting fix. * elf32-m68k.c (elf_m68k_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf32-ppc.c (ppc_elf_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf32-s390.c (elf_s390_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf64-s390.c (elf_s390_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf64-x86-64.c (elf64_x86_64_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define.
2001-09-29 * som.c (som_write_symbol_strings): Cast current_offset inAlan Modra1-0/+5
bfd_seek call to match param type.
2001-09-28 * elfxx-target.h [section_flags]: Add SEC_ARCH_BIT_0, SEC_SMALL_DATA,Richard Henderson1-0/+3
SEC_MERGE, SEC_STRINGS.
2001-09-28Document changes to som.c revision 1.22.Joel Brobecker1-0/+6
2001-09-28 * section.c (SEC_ARCH_BIT_0): New; replace unused SEC_BALIGN.Richard Henderson1-0/+5
* bfd-in2.h: Rebuild.
2001-09-28 * elf64-x86-64.c (elf64_x86_64_reloc_type_lookup): Don't map bfdAlan Modra1-0/+3
reloc code using x86_64_reloc_map.
2001-09-28 * elf32-hppa.c (elf32_hppa_check_relocs): Update comment since weAlan Modra1-0/+13
no longer allocate here. Localise some vars to blocks where they are used. (elf32_hppa_adjust_dynamic_symbol): Correct a comment. Delay setting of vars until needed. (allocate_dynrelocs): Don't create a .plt entry without a reloc when symbol visibilty makes a function local. (elf32_hppa_finish_dynamic_symbol): Move expressions out of swap_reloca_out function calls. (elf32_hppa_relocate_section): Likewies. Comment typo fix. (elf32_hppa_finish_dynamic_sections): Migrate common code out of switch statement.
2001-09-27 * elf32-i386.c (elf_i386_check_relocs): Update comment since weAlan Modra1-1/+15
no longer allocate here. Localise some vars to blocks where they are used. Remove separate switch stmt for creating .got sec. (elf_i386_adjust_dynamic_symbol): Correct a comment. Remove redundant casts and aborts. Delay setting of vars until needed. (allocate_dynrelocs): Remove redundant casts and aborts. (elf_i386_size_dynamic_sections): Move comment. (elf_i386_finish_dynamic_symbol): Move expressions out of function calls. (elf_i386_relocate_section): Likewise. Comment typo fix. (elf_i386_finish_dynamic_sections): Migrate common code out of switch statement. (elf_backend_* defines): Sort.
2001-09-27 * elf32-i386.c (allocate_dynrelocs): Don't create a .plt entryAlan Modra1-0/+5
without a reloc when symbol visibilty makes a function local.
2001-09-27Revert most of previous delta. Do not call bfd_archive_filename on outputNick Clifton1-3/+2
bfd, nor twice in one expression.
2001-09-27Replace bfd_get_filename with bfd_archive_filename in error message.Nick Clifton1-0/+6
Fix detection of conflicting float flags.
2001-09-26 * elf32-i386 (elf_i386_copy_indirect_symbol): New function.Alan Modra1-0/+27
(elf_backend_copy_indirect_symbol): Define. (struct elf_i386_link_hash_entry): Rename "root" to "elf". (struct elf_i386_link_hash_table): Likewise. (link_hash_newfunc): Get rid of unnecessary casts. (elf_i386_link_hash_table_create): Likewise. (elf_i386_check_relocs): Initialise local_got_refcounts to 0. Don't test input section SEC_READONLY here to try to avoid copy relocs, and keep dyn_relocs regardleas of ELF_LINK_NON_GOT_REF. (elf_i386_adjust_dynamic_symbol): Check output section SEC_READONLY here to properly test whether we need copy relocs. Do so for weak syms too. * elf32-hppa (elf32_hppa_copy_indirect_symbol): New function. (elf_backend_copy_indirect_symbol): Define. (struct elf32_hppa_link_hash_table): Rename "root" to "elf". (stub_hash_newfunc): Get rid of unnecessary casts. (hppa_link_hash_newfunc): Likewise. (elf32_hppa_check_relocs): Initialise local_got_refcounts to 0. Don't test input section SEC_READONLY here to try to avoid copy relocs, and keep dyn_relocs regardleas of ELF_LINK_NON_GOT_REF. (elf32_hppa_adjust_dynamic_symbol): Check output section SEC_READONLY here to properly test whether we need copy relocs. Do so for weak syms too.
2001-09-26 * bfd.c (_bfd_default_error_handlerl): Define using VPARAMS,Alan Modra1-0/+6
VA_OPEN, VA_FIXEDARG, VA_CLOSE. (bfd_archive_filename): Cast bfd_malloc arg to the correct size.
2001-09-25 * elf64-sparc.c (sparc64_elf_build_plt): Fix .plt[32768+] slotJakub Jelinek1-0/+5
computation.
2001-09-252001-09-25 H.J. Lu <hjl@gnu.org>H.J. Lu1-7/+11
* bfd-in2.h: Regenerated.
2001-09-25 * elf32-i386.c: Add comment re linker function names and ordering.Alan Modra1-0/+9
(elf_i386_link_hash_newfunc): Rename to link_hash_newfunc. (elf_i386_grok_prstatus): Move before linker functions. (elf_i386_grok_psinfo): Likewise. (elf_i386_fake_sections): Move so that functions are ordered. (elf_i386_reloc_type_class): Likewise. Comment function purpose.