aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-mips.c
AgeCommit message (Collapse)AuthorFilesLines
1999-12-03 * elf32-mips.c (mips_elf_calculate_relocation): Divide R_MIPS_PC16Ian Lance Taylor1-0/+1
value by 4 before storing it back in the field. From Koundinya. K <kk@ddeorg.soft.net>.
1999-11-18 * elf-bfd.h (struct elf_backend_data): Reorder collect andRichard Henderson1-0/+1
type_change_ok; add sign_extend_vma. * elf32-mips.c (elf_backend_sign_extend_vma): Define. * elfcode.h (elf_swap_symbol_in): Mind be->sign_extend_vma. (elf_swap_shdr_in, elf_swap_phdr_in): Likewise. * elfxx-target.h (elf_backend_sign_extend_vma): Default. (elfNN_bed): Follow struture changes.
1999-10-08* elf32-mips.c (mips_elf_calculate_relocation): R_MIPS_LITERALGeoffrey Keating1-37/+21
relocs also need the GP value. (_bfd_mips_elf_relocate_section): Handle unpaired LO16 relocs properly. Handle sign-extension for R_MIPS_64 correctly. Correct the GP value for R_MIPS_LITERAL relocs too. Handle R_MIPS_64 relocs properly on big-endian MIPS. (mips_elf_sign_extend): Behave properly with 'long long'. (mips_elf_highest): Correct typo.
1999-09-28* elf32-mips.c (mips_elf_relocate_hi16): Unused, delete.Geoffrey Keating1-126/+0
(mips_elf_relocate_got_local): Unused, delete. (mips_elf_relocate_global_got): Unused, delete.
1999-08-27 * elf32-mips.c (_bfd_mips_elf_check_relocs): Don't allocate localMark Mitchell1-6/+12
GOT entries for GOT16 relocations; they're not required.
1999-08-17 * elf32-mips.c (_bfd_mips_elf_add_symbol_hook): Set BSF_DYNAMICIan Lance Taylor1-2/+2
for special section symbols. * elflink.h (elf_merge_symbol): If we have no old BFD, check BSF_DYNAMIC on the section symbol to see whether the old BFD is dynamic.
1999-08-15 * elf32-mips.c (mips_elf_calculate_relocation): Fix unfortunateMark Mitchell1-2/+2
coincidence of variable names between old and new code.
1999-08-10 * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): AlwaysMark Mitchell1-14/+19
output DT_MIPS_GOTSYM. (_bfd_mips_elf_finish_dynamic_sections): Use the same value as DT_MIPS_SYMTABNO if there are no global GOT symbols.
1999-08-10 * elf32-mips.c (mips_elf_create_dynamic_relocation): ChangeMark Mitchell1-54/+126
prototype. Handle local symbols. Add commentary. (mips_elf_calculate_relocation): Adjust accordingly. (_bfd_mips_elf_check_relocs): Handle local symbols in R_MIPS_32 relocations.
1999-08-09 * elf32-mips.c (elf_mips_howto_table): Fix src_mask forMark Mitchell1-3/+7
R_MIPS_GOT16 and R_MIPS_CALL16. (mips_elf_got16_entry): Use mips_elf_high to calculate the value to use wheen looking for a preexisting GOT entry.
1999-08-06 * elf32-mips.c (mips_elf_got16_entry): Don't multiply GOT index byMark Mitchell1-9/+13
the size of a GOT entry here. (mips_elf_calculate_relocation): Don't create a local GOT entry for the symbol in a GOT16 relocation; just for it's high-order bit (_bfd_mips_elf_relocate_section): Fix thinko.
1999-08-04 * elf32-mips.c (_bfd_mips_elf_relocate_section): Tweak HI16/LO16Mark Mitchell1-7/+15
handling for REL relocations. And only left-shift R_MIPS26 relocation addends where necessary.
1999-08-04 * elf32-mips.c (mips_elf_next_lo16_addend): Rename to ...Mark Mitchell1-17/+23
(mips_elf_next_lo16_relocation): Don't compute the addend here. Just return the relocation found. (mips_elf_relocate_section): Pull the LO16 addend out of the section itself when using REL relocations.
1999-08-03 * elf32-mips.c (mips_elf_calculate_relocation): RestoreMark Mitchell1-0/+13
_DYNAMIC_LINK handling and handling of undefined symbols in shared libraries.
1999-08-03Fix typoMark Mitchell1-1/+1
1999-08-03 * elf32-mips.c (_bfd_mips_elf_relocate_section): Handle R_MIPS_26Mark Mitchell1-9/+21
and R_MIPS16_26 relocations correctly when relocating. (_bfd_mips_elf_check_relocs): Don't assume that R_MIPS_CALL_HI16 and R_MIPS_CALL_LO16 are for global symbols.
1999-08-01Fix typoMark Mitchell1-6/+4
1999-08-01 * elf32-mips.c (_bfd_mips_elf_final_link): Handle the case whereMark Mitchell1-6/+16
there are no global symbols requiring GOT entries. (_bfd_mips_elf_size_dynamic_sections): Likewise. (_bfd_mips_elf_finish_dynamic_symbol): Likewise. (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1999-08-01 * elf32-mips.c (mips_elf_calculate_relocation): Undefined weakMark Mitchell1-8/+17
symbols are considered to have the value zero. (_bfd_mips_elf_relocate_section): Don't try to perform a relocation for an undefined symbol. (_bfd_mips_elf_check_relocs): Allocate locate GOT space for local GOT16 relocations.
1999-07-29 * elf32-mips.c (_bfd_mips_elf_final_link): Only re-sort dynsyms ifRichard Henderson1-1/+1
dynamic_sections_created.
1999-07-29 * elf32-mips.c (mips_info_to_howto_rel): Split out switch to ...Richard Henderson1-14/+25
(mips_rtype_to_howto): ... new function. (_bfd_mips_elf_relocate_section): Use it.
1999-07-28 * elf32-mips.c (_bfd_mips_elf_relocate_section): Fix typo.Mark Mitchell1-1/+1
1999-07-21 * elf32-mips.c (mips_elf_calculate_relocation): Get the GP valueIan Lance Taylor1-0/+1
when looking at a R_MIPS_GOT16 relocation.
1999-07-19Fix typo in last change.Mark Mitchell1-11/+9
1999-07-19 * elf32-mips.c (_bfd_mips_elf_final_link): Restore setting of GPMark Mitchell1-11/+33
removed in previous change. (_bfd_mips_elf_relocate_section): Adjust GP relative relocations in relocateable output.
1999-07-18 * elflink.h (elf_link_adjust_relocs): New function.Mark Mitchell1-22/+62
(elf_bfd_final_link): Use it. (elf_link_input_bfd): Deal with the fact that there can be two relocation sections for a single section. (elf_reloc_link_order): Likewise. * elf32-mips.c (_bfd_mips_elf_final_link): Don't set GP for a relocateable object. (_bfd_mips_elf_relocate_section): Handle relocateable links.
1999-07-16 * elf32-mips.c (mips_elf_local_relocation_p): New staticIan Lance Taylor1-21/+55
function. (mips_elf_next_lo16_addend): Call bfd_set_error on failure. (mips_elf_calculate_relocation): Use mips_elf_local_relocation_p. Always set *require_jalxp. (mips_elf_stub_section_p): Mark abfd parameter as unused. (_bfd_mips_elf_relocate_section): Only look for LO16 following GOT16 if the GOT16 is against a local symbol. Don't return false for an undefined symbol. If there is an overflow, assert that we have a name.
1999-07-15 * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Don't requireMark Mitchell1-11/+23
a PT_PHDR program headers. (_bfd_mips_elf_final_link): Don't assume there are going to be section symbols when we're not building a shared object. (_bfd_mips_elf_check_relocs): Make sure we have a GOT when we need one.
1999-07-15 * elf32-mips.c (mips_elf_stub_section_p): New function.Mark Mitchell1-14/+150
(mips_elf_calculate_relocation): Handle MIPS16 stub functions. (mips_elf_relocate_section): Adjust calling sequence for mips_elf_calculate_relocation and mips_elf_perform_relocation. (mips_elf_perform_relocation): Turn `jal' into `jalx' where required.
1999-07-14 * elf32-mips.c (mips_elf_obtain_contents): Swap 16-bit halves ofMark Mitchell1-14/+12
things relocated by R_MIPS16_GPREL. (mips_elf_perform_relocation): Likewise.
1999-07-14 * elf32-mips.c (struct mips_got_info): Add global_gotno.Richard Henderson1-5/+36
(_bfd_mips_elf_size_dynamic_sections): Set it. (_bfd_mips_elf_final_link): Re-sort; verify the got did not grow. (mips_elf_sort_hash_table): Set max_non_got_dynindex based off new argument max_local.
1999-07-14 * elf32-mips.c (mips_elf_obtain_contents): Swap the 16-bitMark Mitchell1-2/+8
subwords when handling an R_MIPS16_26 relocation. (mips_elf_perform_relocation): Don't be paranoid abour right-shift semantics.
1999-07-14 * elf32-mips.c (elf_mips16_gprel_howto): Adjust src_mask andMark Mitchell1-41/+42
dst_mask to match reality. (_bfd_mips_elf_calculate_relocation): Handle R_MIPS16_GPREL. (mips_elf_obtain_contents): Use bfd_get. (mips_elf_perform_relocation): Handle R_MIPS16_GPREL. (mips_elf_relocate_section): Likewise.
1999-07-13 * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.Mark Mitchell1-35/+100
(mips_elf_relocate_section): Adjust calling sequence for mips_elf_perform_relocation. (mips_elf_perform_relocation): Take additional argument. Handle R_MIPS16_26. Use bfd_put for convenience.
1999-07-13 * elf-bfd.h (struct elf_link_local_dynamic_entry): New.Richard Henderson1-63/+10
(struct elf_link_hash_table): Add dynlocal. (_bfd_elf_link_lookup_local_dynindx): Prototype. (_bfd_elf_link_adjust_dynindx): Delete. (_bfd_elf_link_renumber_dynsyms): Prototype. (_bfd_elf,link_record_local_dynamic_symbol): Prototype. * elfcode.h (elf_link_record_local_dynamic_symbol): New alias. * elflink.c (_bfd_elf_link_adjust_dynindx): Delete. (_bfd_elf_link_lookup_local_dynindx): New function. (elf_link_renumber_hash_table_dynsyms): New function. (_bfd_elf_link_renumber_dynsyms): New function. * elflink.h (elf_link_record_local_dynamic_symbol): New function. (struct elf_assign_sym_version_info): Delete removed_dynamic. (bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output instead of elf_link_remove_section_and_adjust_dynindices. Remove removed_dynamic code. Use _bfd_elf_link_renumber_dynsyms. (elf_link_assign_sym_version): Remove removed_dynamic code. (elf_link_renumber_dynsyms): Delete. (elf_bfd_final_link): Install section and local symbols into .dynsym. * elf32-m68k.c (elf_m68k_adjust_dynindx): Delete. (elf_m68k_size_dynamic_sections): Don't set section dynindicies. (elf_m68k_finish_dynamic_sections): Don't write section dynsyms. * elf32-mips.c: Similarly. * elf32-ppc.c: Similarly. * elf32-sparc.c: Similarly. * elf64-alpha.c: Similarly. * elf64-sparc.c: Similarly.
1999-07-13 * elf32-mips.c (mips_elf_calculate_relocation): Do not complainMark Mitchell1-6/+23
when _gp_disp is undefined. Do not check R_MIPS_LO16 for overflow when the relocation is against _gp_disp.
1999-07-12 * dwarf2.c (read_attribute): Support DW_FORM_ref8.Mark Mitchell1-26/+84
* elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs to possibly_dynamic_relocs. Adjust usage throughout code. (elf_mips_howto_table): Handle R_MIPS_64 correctly. (elf_mips_ctor64_howto): Likewise. (mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32. Adjust indentation. (mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode. (_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32. Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries. * elf64-mips.c (elf_backend_may_use_rel_p): Define.
1999-07-12 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSEDIan Lance Taylor1-34/+34
as appropriate. Use EMPTY_HOWTO as appropriate. Fill in structure initializations. Add casts. * reloc.c (EMPTY_HOWTO): Define. * bfd-in2.h: Rebuild. * coff-h8300.c (h8300_reloc16_extra_cases): Remove useless comparisons against 0. * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change previous_ibfd_e_flags to unsigned long. * vms.h (struct vms_private_data_struct): Change section_count to unsigned. * vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned. (_bfd_vms_write_gsd): Change symnum to unsigned. * vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned. * vms-tir.c (etir_sta): Change psect to unsigned. (alloc_section): Change idx to unsigned. (tir_sta, tir_ctl): Change psect to unsigned. (_bfd_vms_write_tir): Change len and before to bfd_size_type. * vms.c (priv_section_count): Change to unsigned.
1999-07-12 * Many files: Changes to avoid gcc warnings: Remove unused localIan Lance Taylor1-10/+4
variables. Add default case to enum switches. * coff-arm.c (bfd_arm_allocate_interworking_sections): Only compile if not COFF_IMAGE_WITH_PE. (record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise. (bfd_arm_get_bfd_for_interworking): Likewise. (bfd_arm_process_before_allocation): Likewise. * epoc-pei-arm.c: Don't rename bfd_arm functions. * pei-arm.c: Likewise. * elf32-mips.c (mips_elf_link_hash_table_create): Don't declare. (MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change. (mips_elf_got16_entry): Put parens around & in body of ==. (mips_elf_calculate_relocation): Correct test for empty string. * vms-gsd.c: Use _bfd_error_handler rather than fprintf to stderr. * vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf format.
1999-07-11Fix typo in previous change.Mark Mitchell1-2/+2
1999-07-11 * libbfd.c (bfd_put_8): Make it of type `void'.Mark Mitchell1-3/+18
* bfd-in2.h: Regenerated. * elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize for 32-bit hosts. (_bfd_mips_elf_final_link): Likewise.
1999-07-07 * elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.Mark Mitchell1-524/+471
(_bfd_mips_elf_create_dynamic_sections): New function. (_bfd_mips_elf_add_symbol_hook): Likewise. (_bfd_mips_elf_adjust_dynamic_symbol): Likewise. (_bfd_mips_elf_finish_dynamic_symbol): Likewise. (_bfd_mips_elf_finish_dynamic_sections): Likewise. (_bfd_mips_elf_gc_mark_hook): Likewise. (_bfd_mips_elf_gc_sweep_hook): Likewise. (_bfd_mips_elf_always_size_sections): Likewise. (_bfd_mips_elf_size_dynamic_sections): Likewise. (_bfd_mips_elf_check_relocs): Likewise. (_bfd_mips_elf_link_hash_table_create): Likewise. (_bfd_mips_elf_print_private_data): Likewise. (_bfd_mips_elf_link_output_symbol_hook): Likewise. (_bfd_mips_elf_final_link): Likewise. (_bfd_mips_elf_additional_program_headers): Likewise. (_bfd_mips_elf_modify_segment_map): Likewise. (_bfd_mips_elf_relocate_section): Likewise. * elf32-mips.c (mips_elf32_object_p): Move contents into _bfd_mips_elf_object_p. (mips_elf_additional_program_headers): Rename to _bfd_mips_elf_additional_program_headers. (mips_elf_modify_segment_map): Rename to _bfd_mips_elf_modify_segment_map. (elf_mips_abi_name): Change prototype. (mips_elf32_section_from_shdr): Merge into _bfd_mips_elf_section_from_shdr. (mips_elf32_section_processing): Merge into _bfd_mips_elf_section_processing. (mips_elf_final_link): Rename to _bfd_mips_elf_final_link. Invoke the right back-end ELF linker. (mips_elf_relocate_section): Rename to _bfd_mips_elf_relocate_section. Clean up. Adjust for 64-bit code. (mips_elf_link_output_symbol_hook): Rename to _bfd_mips_elf_link_output_symbol_hook. (mips_elf_create_dynamic_section): Rename to _bfd_mips_elf_create_dynamic_section. (mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs. Adjust for 64-bit code. Use mips_elf_got_section. (mips_elf_adjust_dynamic_symbol): Rename to _bfd_mips_elf_adjust_dynamic_symbol. Use mips_elf_allocate_dynamic_relocations. (mips_elf_finish_dynamic_symbol): Rename to _bfd_mips_elf_finish_dynamic_symbol. Use mips_elf_got_section. Adjust for 64-bit code. (mips_elf_finish_dynamic_sections): Rename to _bfd_mips_elf_finish_dynamic_sections. Adjust for 64-bit code. (mips_elf_always_size_sections): Rename to _bfd_mips_elf_always_size_sections. (mips_elf_add_symbol_hook): Rename to _bfd_mips_elf_add_symbol_hook. (mips_elf_next_lo16_addend): Constify. (mips_elf_calculate_relocation): Likewise. (mips_elf_obtain_contents): Likewise. (mips_elf_perform_relocation): Likewise. (mips_elf_create_dynamic_relocation): Likewise. (mips_elf_allocate_dynamic_relocations): New function. (MIPS_ELF_REL_DYN_SECTION_NAME): New macro. (MIPS_ELF_REL_SIZE): Likewise. (MIPS_ELF_DYN_SIZE): Likewise. (MIPS_ELF_GOT_SIZE): Likewise. (MIPS_ELF_SYM_SIZE): Likewise. (MIPS_ELF_LOG_FILE_ALIGN): Likewise. (MIPS_ELF_GET_WORD): Likewise. (MIPS_ELF_PUT_WORD): Likewise. (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise. (STUB_LW): Conditionalize for 64-bit value. (elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST entries. (_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS]. Check it for inconsistency. (_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit ABI. (_bfd_mips_elf_fake_sections): Remove duplicate handling of .msym. (mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE. (mips_elf_got_offset_from_index): Use misp_elf_got_section. (mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE. (mips_elf_local_got_index): Likewise. (mips_elf_got_page): Likewise. (mips_elf_got_info): Likewise. (mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split. (ELF_DYNAMIC_INTERPRETER): Handle 64-bit code. (mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN, instead of constant `2'. (mips_elf_create_got_section): Tidy. Use MIPS_ELF_GOT_SIZE. (mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN. (mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE, MIPS_ELF_ADD_DYNAMIC_ENTRY. Remove #if 0'd code. Adjust all releveant entries in elf backend table. * elf64-mips.c (mips_elf64_section_from_shdr): Remove. (mips_elf64_section_processing): Likewise. Adjust elf backend entries to use _bfd_mips_elf variants now publicly available.
1999-07-02 * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter.Mark Mitchell1-2/+8
(_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter. * elf.c (_bfd_elf_find_nearest_line): Pass it. * elf32-arm.h (elf32_arm_find_nearest_line): Likewise. * elf32-mips.c (ABI_64_P): New macro. (IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P. (_bfd_mips_elf_find_nearest_line): Adjust call to _bfd_dwarf2_find_nearest_line. * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. * libbfd.h: Regenerated.
1999-07-01 * elf-bfd.h (bfd_elf_section_data): Add rel_count and rel_count2Mark Mitchell1-0/+17
fields. (_bfd_elf_init_reloc_shdr): New function. * elf.c (_bfd_elf_new_section_hook): Use bfd_zalloc, rather than bfd_alloc followed by memset. (_bfd_elf_init_reloc_shdr): New function, split out from ... (elf_fake_sections): Here. (assign_section_numbers): Assign section numbers for the second relocation section, if required. * elflink.h (elf_link_output_relocs): New function. (elf_link_size_reloc_section): Likewise. (elf_bfd_final_link): Use elf_link_size_reloc_section. (elf_link_input_bfd): Use elf_link_output_relocs. * elf32-mips.c (_bfd_mips_elf_fake_sections): Use _bfd_elf_init_reloc_shdr to initialize rel_hdr2.
1999-06-30 * elf32-mips.c (mips_elf_got_info): Move declaration beforeMark Mitchell1-1059/+1495
prototypes. Change global_gotsym to be a pointer to a hash entry, rather than a number index. (mips_elf_link_hash_entry): Move declaration before prototypes. (mips_elf_irix6_finish_dynamic_symbol): New function. (mips_elf_sign_extend): Likewise. (mips_elf_high): Likewise. (mips_elf_higher): Likewise. (mips_elf_highest): Likewise. (mips_elf_global_got_index): Likewise. (mips_elf_local_got_index): Likewise. (mips_elf_got_offset_from_index): Likeiwse. (mips_elf_record_global_got_symbol): Likewise. (mips_elf_got_page): Likewise. (mips_elf_next_lo16_addend): Likewise. (mips_elf_calculate_relocation): Likewise. (mips_elf_obtain_contents): Likewise. (mips_elf_perform_relocation): Likewise. (mips_elf_assign_gp): Likewise. (mips_elf_sort_hash_table_f): Likewise. (mips_elf_sort_hash_table): Likewise. (mips_elf_got_section): Likewise. (mips_elf_got_info): Likewise. (mips_elf_create_local_got_entry): Likewise. (mips_elf_got16_entry): Likewise. (mips_elf_create_dynamic_relocation): Likewise. (elf_mips_howto_table): Add description of R_MIPS_SCN_DISP. (mips_elf_final_gp): Use mips_elf_assign_gp. (_bfd_mips_elf_symbol_processing): Don't move SHN_COMMON symbols into SHN_SCOMMON automatically on IRIX6. (mips_elf_add_symbol_hook): Likewise. (mips_elf_relocate_section): Rewrite, using mips_elf_calculate_relocation and mips_elf_perform_relocation. (mips_elf_create_dynamic_section): Use MIPS_ELF_STUB_SECTION_NAME. Don't deal with .rld_map on IRIX6. (mips_elf_create_got_section): Adjust use of global_gotsym. Set section flags appropriately for .got. (mips_elf_check_relocs): Handle IRIX6 relocations making use of the got. Call mips_elf_record_global_got_symbol and allocate local got space appropriately. (mips_elf_size_dynamic_sections): Use bfd_byte *, not unsigned char *. Rework calculation of GOT size. Sort dynamic symbol table entries so entries that do not require GOT entries appear at the beginning. Don't use DT_MIPS_HIPAGENO on IRIX6. Remove dead code dealing with DT_INIT and DT_FINI. Remove fiddling with global_gotsym. (mips_elf_finish_dynamic_symbol): Adjust creation of global GOT entries. (mips_elf_finish_dynamic_symbol): Use mips_elf_irix6_finish_dynamic_symbol. (mips_elf_finish_dynamic_sections): Correct off-by-one error setting DT_MIPS_UNREFEXTNO. Adjust setting of DT_MIPS_GOTSYM for change to global_gotsym. Set DT_MIPS_OPTIONS on IRIX6.
1999-06-30 * elf32-mips.c (mips_elf_final_link): Don't set CPIC when doing aIan Lance Taylor1-2/+3
relocateable link. From Ralf Baechle <ralf@uni-koblenz.de>.
1999-06-27 * elf32-mips.c (MIPS_ELF_SRDATA_SECTION_NAME): New macro.Mark Mitchell1-149/+222
(MIPS_ELF_OPTIONS_SECTION_NAME): Likewise. (MIPS_ELF_STUB_SECTION_NAME): Likewise. (_bfd_mips_elf_section_from_shdr): Use them. (_bfd_mips_elf_fake_sections): Likewise. Add .srdata to the list of GP-relative sections. (_bfd_mips_elf_set_section_contents): Use them. (_bfd_mips_elf_section_processing): Share code between .sdata and .lit4/.lit8 sections. Set appropriate flags for .srdata. (mips_elf_additional_program_headers): Add handling for PT_MIPS_OPTIONS segment on IRIX6. (mips_elf_modify_segment_map): Likeiwse. (mips_elf_final_link): Set EF_MIPS_CPIC when required by the ABI. Include the options sections on IRIX6. Don't look for GP-relative sections by name; use SHF_MIPS_GPREL instead. (ELF_DYNAMIC_INTERPRETER): Adjust to use /usr/lib32/libc.so.1 for the N32 ABI. (mips_elf_create_dynamic_sections): Don't muck about with section alignments and such on IRIX6. (mips_elf_adjust_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME. (mips_elf_size_dynamic_sections): Likewise. Adjust to handle the fact that ELF_DYNAMIC_INTERPRETER is no longer a constant. Use bfd_zalloc rather than bfd_alloc and memset. (mips_elf_finish_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME. Don't assert the existence of .rld_map on IRIX6. (mips_elf_finish_dynamic_sections): Use MIPS_ELF_STUB_SECTION_NAME.
1999-06-27 * elf32-mips.c (mips_elf_adjust_dynindx): Remove.Mark Mitchell1-18/+1
(mips_elf_size_dynamic_sections): Use _bfd_elf_link_adjust_dynindx instead.
1999-06-27 * elf32-mips.c (mips_elf_swap_msym_in): New function.Mark Mitchell1-7/+139
(mips_elf_swap_msym_out): New function. (mips_elf_create_msym_section): Likewise. (MIPS_ELF_MSYM_SECTION_NAME): New macro. (_bfd_mips_elf_final_write_processing): Set sh_link for .msym. (_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM section not named .msym. (_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not .msym directly. Set appropriate attributes for the .msym section. (mips_elf_link_hash_entry): Add min_dyn_reloc_index field. (mips_elf_link_hash_newfunc): Clear it. (mips_elf_create_dynamic_sections): Create the .msym section on IRIX6. (mips_elf_size_dynamic_sections): Allocate space for the .msym section. Add a DT_MIPS_MSYM entry. (mips_elf_finish_dynamic_symbol): Write out a .msym entry for the symbol. (mips_elf_finish_dynamic_sections): Assign a value for DT_MIPS_MSYM. Add .msym entries for the section symbols as well.
1999-06-26 * elf32-mips.c (irix_compat_t): New enumeration.Mark Mitchell1-5/+24
(ABI_N32_P): New macro. (IRIX_COMPAT): Likewise. (SGI_COMPAT): Implement in terms of IRIX_COMPAT. (mips_elf_relocate_section): Fix typo.