aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2002-07-14daily updateAlan Modra1-1/+1
2002-07-13daily updateAlan Modra1-1/+1
2002-07-12 * elf32-cris.c (cris_elf_relocate_section): Drop nonsensicalHans-Peter Nilsson2-40/+56
dynamic reference test in assertion when initializing GOT with static contents. Just assert that there are either no dynamic sections, the symbol is defined in the regular objects or that the symbol is undef weak. Tweak comment. (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program only if the symbol isn't defined in the program and isn't undef weak. (elf_cris_adjust_dynamic_symbol): Simplify condition for getting rid of PLT entry: only do it if the symbol isn't defined in a DSO. When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments. (elf_cris_discard_excess_program_dynamics): Don't consider ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
2002-07-12daily updateAlan Modra1-1/+1
2002-07-11 * elf32-i386.c (elf_i386_relocate_section): Don't complain aboutAlan Modra8-29/+39
unresolved debugging relocs in dynamic applications. * elf32-s390.c (elf_s390_relocate_section): Likewise. * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. * elf64-s390.c (elf_s390_relocate_section): Likewise. * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2002-07-11daily updateAlan Modra1-1/+1
2002-07-10 * elf64-ppc.c (ONES): Define.Alan Modra2-46/+53
(ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
2002-07-10 * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.Alan Modra2-164/+13
(ppc64_elf_set_private_flags): Delete. (ppc64_elf_section_from_shdr): Delete. (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code. (ppc64_elf_fake_sections): Delete. (bfd_elf64_bfd_set_private_flags): Don't define. (bfd_elf64_get_symbol_info): Likewise. (elf_backend_section_from_shdr): Likewise. (elf_backend_fake_sections): Likewise.
2002-07-10 * elf.c: (assign_section_numbers) Set sh_entsize for .stab onlyAlan Modra3-2/+36
when not already set. * elf64-sparc.c: (sparc64_elf_fake_sections): New function. (elf_backend_fake_sections): Define.
2002-07-10daily updateAlan Modra1-1/+1
2002-07-09 * merge.c (_bfd_merge_section): Remove redundant output_section check.Alan Modra2-16/+10
Formatting. (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
2002-07-09 * elf32-cris.c (cris_elf_relocate_section): Move sanity-check forHans-Peter Nilsson2-13/+31
NULL sym_hashes to just before use. <case R_CRIS_32_GOTREL>: In test for local symbol, accept also symbol with non-default visibility. <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto. <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>: Ditto. (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for symbol with non-default visibility. (cris_elf_check_relocs): At tests for local symbol before increasing h->plt.refcount, also check for non-default visibility. Ditto when checking for local symbol to eliminate pc-relative runtime relocs.
2002-07-09daily updateAlan Modra1-1/+1
2002-07-08 * elf.c: Formatting.Alan Modra2-37/+57
(IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks. (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP. (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP segments.
2002-07-08 * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take intoMark Mitchell3-3/+17
account the impact of relocation count overflow when computing section offsets. * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether or not to apply the PE COFF reloc overflow handling. Fix a fencepost error in deciding whether or not to use that technique.
2002-07-08daily updateAlan Modra1-1/+1
2002-07-07 * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,Alan Modra22-2690/+1418
change type of locsyms. (bfd_elf_get_elf_syms): Declare. * elf.c (bfd_elf_get_elf_syms): New function. (group_signature): Use bfd_elf_get_elf_syms. (bfd_section_from_r_symndx): Likewise. * elfcode.h (elf_slurp_symbol_table): Likewise. * elflink.h (elf_link_is_defined_archive_symbol): Likewise. (elf_link_add_object_symbols): Likewise. Reorganise to increase locality of various data structures. Properly free internal relocs. (elf_bfd_final_link): Properly free internal relocs. (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms. (elf_link_input_bfd): Likewise. (elf_gc_mark): Likewise. Properly free internal relocs. (elf_gc_sweep): Properly free internal relocs. (elf_reloc_symbol_deleted_p): No need to swap syms in. (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free internal relocs. * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free possibly cached info. (mn10200_elf_relax_delete_bytes): Remove symbol swapping code. (mn10200_elf_symbol_address_p): Pass in internal syms. Remove symbol swapping code. (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms. Properly free possibly cached info. * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c. (mn10300_elf_relax_delete_bytes): Likewise. (mn10300_elf_symbol_address_p): Likewise. (mn10300_elf_get_relocated_section_contents): Likewise. * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c. (elf32_h8_relax_delete_bytes): Likewise. (elf32_h8_symbol_address_p): Likewise. (elf32_h8_get_relocated_section_contents): Likewise. * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c. (m32r_elf_relax_delete_bytes): Likewise. (m32r_elf_get_relocated_section_contents): Likewise. * elf32-sh.c (sh_elf_reloc_loop): Free section contents using elf_section_data to determine whether cached. (sh_elf_relax_section): As above for elf-m10200.c. (sh_elf_relax_delete_bytes): Likewise. (sh_elf_get_relocated_section_contents): Likewise. * elf32-xstormy16.c (xstormy16_elf_relax_section): As above. * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay reading of local syms. * elf64-mmix.c (mmix_elf_relax_section): Likewise. * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above. * elfxx-ia64.c (elfNN_ia64_relax_section): As above. * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal relocs. * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly free internal relocs and section contents. Don't read symbols. * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms. (elf32_hppa_size_stubs): Don't free local syms. * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay reading of local syms. Use bfd_elf_get_elf_syms. Properly free possibly cached info. * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise. * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms. * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and all_local_syms. (get_local_syms): Delete function. (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache on exit. (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
2002-07-07daily updateAlan Modra1-1/+1
2002-07-06daily updateAlan Modra1-1/+1
2002-07-05This makes gprof work with non-standard text sections.Jim Wilson2-1/+46
* syms.c (decode_section_type): New. (bfd_decode_symclass): Call decode_section_type.
2002-07-05daily updateAlan Modra1-1/+1
2002-07-04 * merge.c (_bfd_merged_section_offset): Avoid accessing byte beforeJakub Jelinek2-1/+7
section content start. Reported by Michael Schumacher <mike@hightec-rt.com>.
2002-07-04 * section.c (_bfd_strip_section_from_output): Remove unnecessaryAlan Modra3-63/+32
link order code. Don't actually remove the output section here; Just set a flag for the linker to do so. * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed sections when setting up output section dynsyms.
2002-07-04 * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpuxAlan Modra3-18/+40
fudge. * elf.c (bfd_section_from_shdr): Work around broken hpux shared libs here instead.
2002-07-04daily updateAlan Modra1-1/+1
2002-07-03daily updateAlan Modra1-1/+1
2002-07-022002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>Martin Schwidefsky2-2/+8
* elf64-s390.c (create_got_section): Set .got section alignment to 8 bytes. (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
2002-07-02 * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.Alan Modra2-34/+38
2002-07-02daily updateAlan Modra1-1/+1
2002-07-01include/elf:Jason Thorpe2-3/+8
2002-07-01 Matt Thomas <matt@3am-software.com> * Rename EF_* to EF_VAX_*. bfd: 2002-07-01 Matt Thomas <matt@3am-software.com> * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_* to EF_VAX_*. binutils: 2002-07-01 Matt Thomas <matt@3am-software.com> * readelf.c: Include "elf/vax.h". (guess_is_rela): Move EM_VAX from unknown to RELA case. (dump_relocations): Handle VAX relocations. (get_machine_flags): Handle VAX machine flags.
2002-07-01 * elfxx-mips.c (ABI_64_P): Fix comment.Thiemo Seufer2-19/+40
(MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the new section names for N64 ABI. (mips_elf_output_extsym): No special _gp_disp handling for NewABI. (mips_elf_calculate_relocation): Code formatting. (mips_elf_create_dynamic_relocation): Likewise. (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too. (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI. (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64 in any NewABI. (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling for NewABI. (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI. (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled here, too.
2002-07-01 * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convertAndreas Schwab2-3/+43
R_X86_64_64 to R_X86_64_RELATIVE.
2002-07-01 * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.Alan Modra9-168/+260
* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend. Run "make dep-am". * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of host_aout_vec. * configure.in (vaxbsd_vec): Add. * targets.c (vaxbsd_vec): Add. * Makefile.in: Rebuild. * configure: Rebuild. * po/SRC-POTFILES.in: Rebuild.
2002-07-01 * elflink.h (elf_gc_mark): Pass in the section whose relocs we areAlan Modra31-305/+619
examining to gc_mark_hook, rather than the bfd. (elf_gc_sections): Adjust. * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise. * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise. * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise. * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise. * elf32-cris.c (cris_elf_gc_mark_hook): Likewise. * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise. * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise. * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise. * elf32-i386.c (elf_i386_gc_mark_hook): Likewise. * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise. * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise. * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise. * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise. * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise. * elf32-s390.c (elf_s390_gc_mark_hook): Likewise. * elf32-sh.c (sh_elf_gc_mark_hook): Likewise. * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise. * elf32-v850.c (v850_elf_gc_mark_hook): Likewise. * elf32-vax.c (elf_vax_gc_mark_hook): Likewise. * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise. * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise. * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise. * elf64-s390.c (elf_s390_gc_mark_hook): Likewise. * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise. * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise. * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise. * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise. * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove redundant local sym tests. * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry. (link_hash_newfunc): Init is_entry. (ppc64_elf_copy_indirect_symbol): Copy is_entry. (ppc64_elf_link_hash_table_create): Init all_local_syms. (create_linkage_sections): Use bfd_make_section_anyway rather than bfd_make_section. (ppc64_elf_mark_entry_syms): New function. (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set up opd entry to function section map. (ppc64_elf_gc_mark_hook): Special case opd section relocs, and relocs that reference the opd section. (edit_opd): New function. (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd. (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here. (get_local_syms): Do so here. Exit if we already have local syms. Remove bogus comment imported from elf32-hppa.c. Don't attempt to read local syms on non-ELF input. (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather than duplicating it's function here. Adjust free of internal relocs to suit. (ppc64_elf_relocate_section): Adjust local syms in opd section. * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare. * elf32-hppa.c (elf32_hppa_size_stubs): Call _bfd_elf32_link_read_relocs rather than duplicating it's function here. Adjust free of internal relocs to suit.
2002-07-01 * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocationsAndreas Jaeger2-1/+23
are not allowed in shared libs code, enforce -fPIC.
2002-07-01daily updateAlan Modra1-1/+1
2002-06-30daily updateAlan Modra1-1/+1
2002-06-29 * mmo.c (mmo_write_loc_chunk): Don't eliminate leading andHans-Peter Nilsson2-8/+20
trailing zero-sequences when there's previous left-over data.
2002-06-29daily updateAlan Modra1-1/+1
2002-06-28daily updateAlan Modra1-1/+1
2002-06-27 * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.Jeff Law2-1/+35
(elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec and opd_rel_sec in order for starting rela section. Check _raw_size. (elf_backend_reloc_type_class): Define.
2002-06-272002-06-27 Kevin Buettner <kevinb@redhat.com>Alan Modra2-14/+15
* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit DWARF2 formats.
2002-06-27 * cpu-powerpc.c: Comment on ordering of arch_info.Alan Modra4-1/+62
* elf32-ppc.c (ppc_elf_object_p): New function. (elf_backend_object_p): Define. * elf64-ppc.c (ppc64_elf_object_p): New function. (elf_backend_object_p): Define.
2002-06-27daily updateAlan Modra1-1/+1
2002-06-26* configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.Jason Thorpe3-182/+163
* configure: Regenerate.
2002-06-26daily updateAlan Modra1-1/+1
2002-06-25Check unit->addr_size to read in the proper number of prologue bytes.Nick Clifton2-4/+21
2002-06-25fixup position of #ifdef BFD64 for powerpc delta recently applied.Nick Clifton1-1/+1
2002-06-25Only create a selvecs for aix5coff64_vec if 64-bit bfd support has been enabled.Nick Clifton3-0/+13
2002-06-25 * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.Alan Modra11-86/+170
* elf32-hppa.c (hppa_add_stub): Likewise. * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise. * elflink.h (elf_add_default_symbol): Fix comment typo. (elf_add_default_symbol): Replace strcpy and strncpy with memcpy. (elf_link_add_object_symbols): Likewise. (elf_link_assign_sym_version): Likewise. * hash.c (bfd_hash_lookup): Likewise. * linker.c (_bfd_generic_link_add_one_symbol): Likewise. * section.c (bfd_get_unique_section_name): Likewise. * syms.c (_bfd_stab_section_find_nearest_line): Likewise. * elf.c (_bfd_elf_make_section_from_phdr): Likewise. (assign_section_numbers): Likewise. (_bfd_elfcore_make_pseudosection): Likewise. (elfcore_grok_lwpstatus): Likewise. (elfcore_grok_win32pstatus): Likewise. (elfcore_write_note): Constify input params. Use PTR instead of void *. Include terminating NUL in namesz. Correct padding. Support NULL "name" param. Use memcpy instead of strcpy. (elfcore_write_prpsinfo): Constify input params. (elfcore_write_prstatus): Likewise. Use PTR instead of void *. (elfcore_write_lwpstatus): Likewise. (elfcore_write_pstatus): Likewise. (elfcore_write_prfpreg): Likewise. (elfcore_write_prxfpreg): Likewise. * elf-bfd.h (elfcore_write_note): Update declaration. (elfcore_write_prpsinfo): Likewise. (elfcore_write_prstatus): Likewise. (elfcore_write_pstatus): Likewise. (elfcore_write_prfpreg): Likewise. (elfcore_write_prxfpreg): Likewise. (elfcore_write_lwpstatus): Likewise.