* elf32-mips.c (_bfd_mips_elf_final_link): Restore setting of GP
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 01b27485c97c6b1319f0483c018362e0ec1e4fc1..5799370316fed6cc1acd3a50a00ff76e192fa449 100644 (file)
@@ -1,3 +1,360 @@
+Mon Jul 19 14:03:44 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (_bfd_mips_elf_final_link): Restore setting of GP
+       removed in previous change.
+       (_bfd_mips_elf_relocate_section): Adjust GP relative relocations
+       in relocateable output.
+
+1999-07-19  Ian Lance Taylor  <ian@zembu.com>
+
+       * coff-m88k.c (m88kbcs_vec): Initialize new field of bfd_target
+       structure.
+
+       * elflink.h (elf_merge_symbol): Do merge symbols from the same BFD
+       if they appear to be specially created by the linker.
+
+1999-07-19  Nick Clifton  <nickc@cygnus.com>
+
+       * targets.c (alternative_target): New field in bfd_target
+       structure.
+       (bfd_search_for_target): New function:  Find a target that
+       satisifies a search function.
+       * bfd-in2.h: Regenerate.
+
+       * elfxx-target.h: Initialise the alternative_target field of
+       the bfd_target structures to point to the other target (if
+       defined).
+       * nlm-target.h: Initialise the alternative_target field of
+       the bfd_target structures to point to the other target (if
+       defined).
+       
+       * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): New macro.
+       (CREATE_LITTLE_COFF_TARGET_VEC): New macro.
+       
+       * aix386-core.c: Initialise new field of bfd_target structure. 
+       * aout-adobe.c: Initialise new field of bfd_target structure. 
+       * aout-arm.c: Initialise new field of bfd_target structure. 
+       * aout-target.h: Initialise new field of bfd_target structure. 
+       * aout-tic30.c: Initialise new field of bfd_target structure. 
+       * binary.c: Initialise new field of bfd_target structure. 
+       * bout.c: Initialise new field of bfd_target structure. 
+       * cisco-core.c: Initialise new field of bfd_target structure. 
+       * coff-a29k.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-alpha.c: Initialise new field of bfd_target structure. 
+       * coff-apollo.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-arm.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
+       * coff-h8300.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-h8500.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-i386.c: Initialise new field of bfd_target structure. 
+       * coff-i860.c: Initialise new field of bfd_target structure. 
+       * coff-i960.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
+       * coff-m68k.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-mcore.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
+       * coff-mips.c: Initialise new field of bfd_target structure. 
+       * coff-ppc.c: Initialise new field of bfd_target structure. 
+       * coff-rs6000.c: Initialise new field of bfd_target structure. 
+       * coff-sh.c:  Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
+       * coff-sparc.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-tic30.c: Initialise new field of bfd_target structure. 
+       * coff-tic80.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
+       * coff-w65.c:   Use CREATE_LITTLE_COFF_TARGET_VEC.
+       * coff-we32k.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-z8k.c:   Use CREATE_BIG_COFF_TARGET_VEC.
+       * hppabsd-core.c: Initialise new field of bfd_target structure. 
+       * hpux-core.c: Initialise new field of bfd_target structure. 
+       * i386msdos.c: Initialise new field of bfd_target structure. 
+       * i386os9k.c: Initialise new field of bfd_target structure. 
+       * ieee.c: Initialise new field of bfd_target structure. 
+       * ihex.c: Initialise new field of bfd_target structure. 
+       * irix-core.c: Initialise new field of bfd_target structure. 
+       * mipsbsd.c: Initialise new field of bfd_target structure. 
+       * netbsd-core.c: Initialise new field of bfd_target structure. 
+       * oasys.c: Initialise new field of bfd_target structure. 
+       * osf-core.c: Initialise new field of bfd_target structure. 
+       * ppcboot.c: Initialise new field of bfd_target structure. 
+       * ptrace-core.c: Initialise new field of bfd_target structure. 
+       * sco5-core.c: Initialise new field of bfd_target structure. 
+       * som.c: Initialise new field of bfd_target structure. 
+       * srec.c: Initialise new field of bfd_target structure. 
+       * tekhex.c: Initialise new field of bfd_target structure. 
+       * trad-core.c: Initialise new field of bfd_target structure. 
+       * versados.c: Initialise new field of bfd_target structure. 
+       * vms.c: Initialise new field of bfd_target structure. 
+
+1999-07-19  Andreas Schwab  <schwab@suse.de>
+
+       * elflink.h (elf_bfd_final_link): Remove unused variables rel_hash
+       and rel_hdr.
+
+Sat Jul 17 02:28:28 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * elflink.h (elf_link_adjust_relocs): New function.
+       (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  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * elf64-sparc.c (sparc64_elf_info_to_howto): Use ELF64_R_TYPE_ID.
+       (sparc64_elf_get_reloc_upper_bound,
+       sparc64_elf_get_dynamic_reloc_upper_bound,
+       sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
+       sparc64_elf_canonicalize_dynamic_reloc, sparc64_elf_write_relocs):
+       New functions.
+       (sparc64_elf_check_relocs, sparc64_elf_relocate_section): Use
+       ELF64_R_TYPE_ID/DATA where appropriate.
+
+1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Remove
+       DT_SPARC_PLTFMT.
+
+1999-07-16  Ian Lance Taylor  <ian@zembu.com>
+
+       * elf32-mips.c (mips_elf_local_relocation_p): New static
+       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-16  Andreas Schwab  <schwab@suse.de>
+
+       * elflink.h (elf_link_record_local_dynamic_symbol): Remove unused
+       variables `link' and `elfsec'.
+       (elf_bfd_final_link): Remove unused variable `os'.
+
+Thu Jul 15 17:55:31 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Don't require
+       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  J.T. Conklin  <jtc@redback.com>
+
+       * config.bfd (i[3456]86-*-vxworks*): New target.
+
+1999-07-15  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_stub_section_p): New function.
+       (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-15  Ian Lance Taylor  <ian@zembu.com>
+
+       * configure.in: Bump version number to 2.9.5.
+       * configure: Rebuild.
+
+Thu Jul 15 02:56:15 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle
+       64bit format.
+       (_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type
+       to derive final type instead of hardwiring a selection.
+
+1999-07-14  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_obtain_contents): Swap 16-bit halves of
+       things relocated by R_MIPS16_GPREL.
+       (mips_elf_perform_relocation): Likewise.
+
+Wed Jul 14 15:23:19 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * elfxx-target.h (elfNN_bed): Add elf_backend_want_dynbss.
+
+1999-07-14  Richard Henderson  <rth@cygnus.com>
+
+       * elf32-mips.c (struct mips_got_info): Add global_gotno.
+       (_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  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_obtain_contents): Swap the 16-bit
+       subwords when handling an R_MIPS16_26 relocation.
+       (mips_elf_perform_relocation): Don't be paranoid abour right-shift
+       semantics.
+       
+       * elf32-mips.c (elf_mips16_gprel_howto): Adjust src_mask and
+       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  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.
+       (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  Richard Henderson  <rth@cygnus.com>
+
+       * elf.c (assign_file_positions_for_segments): Thinko last change.
+       Always overwrite p_flags.
+
+1999-07-13  Richard Henderson  <rth@cygnus.com>
+
+       * elf-bfd.h (struct elf_backend_data): Add want_dynbss.
+       * elflink.c (_bfd_elf_create_dynamic_sections): Only create
+       .dynbss and .rel[a].bss if want_dynbss.
+       * elfxx-target.h (elf_backend_want_dynbss): Provide default.
+
+1999-07-13  Richard Henderson  <rth@cygnus.com>
+
+       * elf.c (assign_file_positions_for_segments): Don't overwrite p_flags.
+
+1999-07-13  Richard Henderson  <rth@cygnus.com>
+
+       * elf-bfd.h (struct elf_link_local_dynamic_entry): New.
+       (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  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_calculate_relocation): Do not complain
+       when _gp_disp is undefined.  Do not check R_MIPS_LO16 for overflow
+       when the relocation is against _gp_disp.
+
+1999-07-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * dwarf2.c (read_attribute): Support DW_FORM_ref8.
+       * 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  Ian Lance Taylor  <ian@zembu.com>
+
+       * Makefile.am: Rebuild dependencies.
+       * Makefile.in: Rebuild.
+
+       * bfd-in.h: Remove tests of COFF_IMAGE_WITH_PE.
+       * bfd-in2.h: Rebuild.
+
+       * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
+       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  Andreas Schwab  <schwab@suse.de>
+
+       * elf32-m68k.c: Add some ATTRIBUTE_UNUSED.
+       * m68klinux.c: Likewise.
+
+1999-07-12  Ian Lance Taylor  <ian@zembu.com>
+
+       * Many files: Changes to avoid gcc warnings: Remove unused local
+       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-11  Ian Lance Taylor  <ian@zembu.com>
+
+       * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
+       as appropriate.  Fill in structure initializations.  Add variable
+       initializations.  Add casts.
+       * dwarf1.c (parse_line_table): Change eachLine to unsigned long.
+       (dwarf1_unit_find_nearest_line): Change i to unsigned long.
+
+       * elf.c (bfd_elf_hash): Change parameter from unsigned char * to
+       char *.
+       * elf-bfd.h (bfd_elf_hash): Update declaration.
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove casts
+       when calling bfd_elf_hash.
+
+1999-07-11  Mark Mitchell  <mark@codesourcery.com>
+
+       * libbfd.c (bfd_put_8): Make it of type `void'.
+       * bfd-in2.h: Regenerated.
+       * elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize
+       for 32-bit hosts.
+       (_bfd_mips_elf_final_link): Likewise.
+
+       * elflink.h (elf_link_read_relocs_from_section): Be type-correct.
+
+Thu Jul  8 12:32:23 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+       * config.bfd (hppa*-*-linux-gnu*): New target
+
 1999-07-07  Mark Mitchell  <mark@codesourcery.com>
 
        * elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.
This page took 0.027287 seconds and 4 git commands to generate.