aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfxx-mips.c
AgeCommit message (Collapse)AuthorFilesLines
2002-08-22 * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_dataAlan Modra1-2/+3
param to elf_backend_copy_indirect_symbol. (_bfd_elf_link_hash_copy_indirect): Likewise. * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust calls to copy_indirect_symbol. * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise. * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise. * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise. * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise. * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise. * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise. * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly test refcounts for "used" values.
2002-08-17 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use theStan Cox1-7/+7
IRIX 6 segment layout for NEWABI.
2002-08-09 * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault ifThiemo Seufer1-2/+5
g->global_gotsym is NULL.
2002-08-07 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signednessThiemo Seufer1-1/+2
mismatch.
2002-08-07 * elfxx-mips.c (ABI_64_P): Remove superfluous check.Thiemo Seufer1-1/+1
2002-07-26[bfd/]Richard Sandiford1-0/+9
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE flags into resulting BFD. [ld/testsuite/] * ld-mips-elf/mips16-1.d, * ld-mips-elf/mips16-1[ab].s: New test. * ld-mips-elf/mips-elf.exp: Run it.
2002-07-19 * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code fromThiemo Seufer1-0/+97
elf32-mips.c. (_bfd_mips_elf_write_section): Likewise. * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype. (_bfd_mips_elf_write_section): Likewise. * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c. (elf32_mips_write_section): Likewise. * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it. (_bfd_mips_elf_write_section): Likewise.
2002-07-07 * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,Alan Modra1-1/+1
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-01 * elfxx-mips.c (ABI_64_P): Fix comment.Thiemo Seufer1-19/+22
(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 * elflink.h (elf_gc_mark): Pass in the section whose relocs we areAlan Modra1-6/+4
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-06-25 * aout-adobe.c: Don't compare against "true" or "false.Alan Modra1-4/+3
* aout-target.h: Likewise. * aoutx.h: Likewise. * archive.c: Likewise. * bout.c: Likewise. * cache.c: Likewise. * coff-a29k.c: Likewise. * coff-alpha.c: Likewise. * coff-i386.c: Likewise. * coff-mips.c: Likewise. * coff-or32.c: Likewise. * coff64-rs6000.c: Likewise. * coffcode.h: Likewise. * coffgen.c: Likewise. * cpu-ns32k.c: Likewise. * ecoff.c: Likewise. * ecofflink.c: Likewise. * elf.c: Likewise. * elf32-arm.h: Likewise. * elf32-cris.c: Likewise. * elf32-d30v.c: Likewise. * elf32-i386.c: Likewise. * elf32-mcore.c: Likewise. * elf32-ppc.c: Likewise. * elf32-sh.c: Likewise. * elf32-sh64.c: Likewise. * elf32-v850.c: Likewise. * elf64-alpha.c: Likewise. * elf64-sh64.c: Likewise. * elfcode.h: Likewise. * elfcore.h: Likewise. * elflink.h: Likewise. * elfxx-mips.c: Likewise. * i386os9k.c: Likewise. * ieee.c: Likewise. * libbfd.c: Likewise. * linker.c: Likewise. * mmo.c: Likewise. * nlm32-alpha.c: Likewise. * nlm32-i386.c: Likewise. * nlm32-ppc.c: Likewise. * nlm32-sparc.c: Likewise. * nlmcode.h: Likewise. * oasys.c: Likewise. * pdp11.c: Likewise. * peicode.h: Likewise. * reloc.c: Likewise. * som.c: Likewise. * srec.c: Likewise. * tekhex.c: Likewise. * vms.c: Likewise. * xcofflink.c: Likewise. * elf64-sparc.c: Edit comment to not use "== false". * aoutf1.h: Don't use "? true : false". * ecoff.c: Likewise. * format.c: Likewise. * ieee.c: Likewise. * linker.c: Likewise. * mmo.c: Likewise. * oasys.c: Likewise.
2002-06-07 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.Thiemo Seufer1-29/+22
Fix RELA addends to get not shifted in the result. Don't do special handling of R_MIPS_64 for NewABI.
2002-06-05* elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...Maciej W. Rozycki1-0/+9
elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here. elf64-mips.c (elf_backend_ignore_discarded_relocs): Use _bfd_mips_elf_ignore_discarded_relocs. elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
2002-06-052002-06-05 H.J. Lu <hjl@gnu.org>H.J. Lu1-1/+9
* elfxx-mips.c (mips_elf_calculate_relocation): Call _bfd_elf_rel_local_sym for STT_SECTION relocations against the SEC_MERGE section.
2002-06-04 * elf.c (bfd_section_from_shdr): Make "name" const.Alan Modra1-1/+1
* elf-bfd.h (elf_backend_section_from_shdr): Likewise. * elf32-i370.c (i370_elf_section_from_shdr): Likewise. * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise. * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise. * elf32-v850.c (v850_elf_section_from_shdr): Likewise. * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise. * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise. * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise. * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise. * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise. * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
2002-06-03* elfxx-mips.c (ABI_64_P): Use backend's data to determine theMaciej W. Rozycki1-1/+1
ABI.
2002-05-14 * elfxx-mips.c: Call it IRIX, not Irix in comments.Thiemo Seufer1-13/+13
2002-05-032002-05-03 H.J. Lu (hjl@gnu.org)H.J. Lu1-3/+21
* elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local. (mips_elf_link_hash_newfunc): Initialize forced_local to false. (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol to hide a global symbol. (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set forced_local to true.
2002-04-242002-04-24 Chris G. Demetriou <cgd@broadcom.com>Chris Demetriou1-0/+6
* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or MIPS-16 ASE flags are set, print something to indicate that.
2002-04-042002-04-04 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz1-2/+2
* aout-adobe.c (aout_32_bfd_link_hash_table_free): Define. * aout-target.h (MY_bfd_link_hash_table_free): Conditionally define. * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise. * bfd.c (bfd_link_hash_table_free): Define. * binary.c (binary_bfd_link_hash_table_free): Define. * bout.c (b_out_bfd_link_hash_table_free): Define. * coff-rs6000.c (rs6000coff_vec): Include _bfd_generic_link_hash_table_free. (pmac_xcoff_vec): Likewise. * coff64-rs6000.c (rs6000coff64_vec): Likewise. (aix5coff64_vec): Likewise. * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define. * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function. (bfd_elf32_bfd_link_hash_table_free): Define. * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function. (bfd_elf32_bfd_link_hash_table_free): Define. * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally define. * i386msdos.c (msdos_bfd_link_hash_table_free): Define. * i386os9k.c (os9k_bfd_link_hash_table_free): Define. * ieee.c (ieee_bfd_link_hash_table_free): Define. * ihex.c (ihex_bfd_link_hash_table_free): Define. * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define. (_bfd_generic_link_hash_table_free): Add prototype. * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype. * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define. * linker.c (_bfd_generic_link_hash_table_free): New function. * mmo.c (mmo_bfd_link_hash_table_free): Define. * nlm-target.h (nlm_bfd_link_hash_table_free): Define. * oasys.c (oasys_bfd_link_hash_table_free): Define. * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define. * som.c (som_bfd_link_hash_table_free): Define. * srec.c (srec_bfd_link_hash_table_free): Define. * tekhex.c (tekhex_bfd_link_hash_table_free): Define. * versados.c (versados_bfd_link_hash_table_free): Define. * vms.c (vms_bfd_link_hash_table_free): New function. * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function. * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc instead of bfd_alloc. * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise. * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise. * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise. * cofflink.c (_bfd_coff_link_hash_table_create): Likewise. * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise. * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise. * elf.c (_bfd_elf_link_hash_table_create): Likewise. * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise. * elf32-cris.c (elf_cris_link_hash_table_create): Likewise. * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise. * elf32-i386.c (elf_i386_link_hash_table_create): Likewise. * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise. * elf32-s390.c (elf_s390_link_hash_table_create): Likewise. * elf32-sh.c (sh_elf_link_hash_table_create): Likewise. * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise. * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise. * elf64-s390.c (elf_s390_link_hash_table_create): Likewise. * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise. * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise. * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise. * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. * linker.c (_bfd_generic_link_hash_table_create): Likewise. * m68klinux.c (linux_link_hash_table_create): Likewise. * sparclinux.c (linux_link_hash_table_create): Likewise. * sunos.c (sunos_link_hash_table_create): Likewise. * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise. * targets.c: Add _bfd_link_hash_table_free to xvec. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * libcoff.h: Regenerate.
2002-04-04Actually commit the new files ommitted before.Thiemo Seufer1-0/+7772