Fix implementation of R_ARM_PC24 and R_ARM_THM_PC22 relocs to conform to spec.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 48cea47bb75ab3cbd7a3b8d016300c7d7e6adfbc..73d0c51232810a4982062ab5b46313878204e371 100644 (file)
@@ -1,3 +1,110 @@
+1999-05-29  Nick Clifton  <nickc@cygnus.com>
+
+       * bfd-in.h: Amend prototype for
+       bfd_elf32_arm_process_before_allocation .
+       * bfd-in.h: Regenerate.
+       
+       * elfarm-oabi.c (NUM_ELEM): New macro: Compute the number of
+       elements in a fixed sized array.
+       (ARM_ELF_ABI_VERSION): Define.
+       (ARM_ELF_OS_ABI_VERSION): Define.
+       (R_ARM_THM_ABS5): Fix rightshift and size.
+       (R_ARM_THM_PC22): Fix size.
+       (R_ARM_PLT32): Define Howto.
+       (find_howto): New function: Locate a howto based on a reloc
+       number.
+       (elf32_arm_info_to_howto): Use find_howto if necessary.
+       (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
+       bfd_reloc_code_real_type.
+       (elf32_arm_reloc_map[]): Add entries for BFD_RELOC_VTABLE_INHERIT
+       and BFD_RELOC_VTABLE_ENTRY.
+       (elf32_arm_reloc_type_lookup): Use find_howto if necessary.
+
+       * elfarm-nabi.c (NUM_ELEM): New macro: Compute the number of
+       elements in a fixed sized array.
+       (ARM_ELF_ABI_VERSION): Define.
+       (ARM_ELF_OS_ABI_VERSION): Define.
+       (R_ARM_THM_ABS5): Fix rightshift and size.
+       (R_ARM_THM_PC22): Fix size.
+       (elf32_arm_info_to_howto_rel): Rename to elf32_arm_info_to_howto.
+       (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
+       bfd_reloc_code_real_type.
+
+       * elf32-arm.h (struct elf32_arm_link_hash_table): Add new field:
+       no_pipeline_knowledge.
+       (elf32_arm_link_hash_create): Initialise new field to zero.
+       (bfd_elf32_arm_process_before_allocation): Add new paraemter:
+       no_pipeline_knowledge.  Use this parameter to initialise the field
+       in the globals data structure.
+       (elf32_arm_final_link_relocate): Only add in pipeline offset if
+       no_pipeline_knowledge is false and the binary is from an old
+       toolchain.
+       (elf32_arm_merge_private_data): Generate an error if an attempt is
+       made to linl together big endian and little endian code.
+       (elf32_arm_post_process_headers): New function:  Initialise the
+       EI_OSABI and EI_ABIVERSION fields of the newly created ELF program
+       header. 
+       (elf_backend_post_process_headers): Define.
+
+1999-05-28  Nick Clifton  <nickc@cygnus.com>
+
+       * elf-bfd.h (struct elf_backend_data): Add new field:
+       elf_backend_post_process_headers.
+
+       * elfxx-target.h (elf_backend_post_process_headers): Define to
+       NULL if not already defined.
+       (elfNN_bed): Initialise elf_backend_post_process_headers field. 
+
+       * elf.c (prep_headers): Set the EI_OSABI and EI_ABIVERSION fields
+       to zero.
+       (_bfd_elf_compute_section_file_positions): Call
+       elf_backend_post_process_headers if defined. 
+
+1999-05-28  Ian Lance Taylor  <ian@zembu.com>
+
+       * configure.in: Check whether getuid and getgid exist.
+       * archive.c: Define getuid and getgid as macros if HAVE_GETUID or
+       HAVE_GETGID are not defined, respectively.
+       (bfd_write_armap): Don't special case on _WIN32 for getuid and
+       getgid.
+       * configure.host: Set ac_cv_func_get{ug}id for *-*-windows*.
+       * configure, config.in: Rebuild.
+
+1999-05-28  Martin Dorey  <mdorey@madge.com>
+
+       * elf32-i960.c: New file.
+       * elf.c (prep_headers): Handle bfd_arch_i960.
+       * targets.c (bfd_target_vector): Add &bfd_elf32_i960_vec.
+       * config.bfd (i960-*-elf*): New target.
+       * configure.in (bfd_elf32_i960_vec): New target vector.
+       * Makefile.am (BFD32_BACKENDS): Add elf32-i960.lo.
+       (BFD32_BACKENDS_CFILES): Add elf32-i960.c.
+       * Makefile.in, aclocal.m4, configure: Rebuild.
+
+1999-05-27  Nick Clifton  <nickc@cygnus.com>
+
+       * elfarm-oabi.c (elf32_arm_howto_table): Add entry for
+       R_ARM_PLT32. 
+       (find_howto): New function: Find entries in the
+       elf32_arm_howto_table.
+       (elf32_arm_info_to_howto): Use find_howto if the entry cannot be
+       computed simply.
+       (elf32_arm_reloc_type_lookup): Add lookup for
+       BFD_RELOC_ARM_PLT32. 
+
+1999-05-25  Philip Blundell  <pb@nexus.co.uk>
+
+       * bfd/elf32-arm.h (elf32_arm_link_hash_newfunc): New function.
+       (elf32_arm_link_hash_table_create): Use above function as the
+       constructor for hash table entries.
+       (elf32_arm_relocate_section): Avoid crash when there is no output
+       section. 
+       (elf32_arm_final_link_relocate): New parameter h.
+       (elf32_arm_relocate_section): Pass symbol hash entry to above
+       routine.
+       (elf32_arm_gc_sweep_hook, elf32_arm_check relocs): Correct
+       comments.
+       
 1999-05-25  Catherine Moore  <clm@cygnus.com>
  
         * coff-arm.c (coff_arm_relocate_section): Don't emit
This page took 0.024647 seconds and 4 git commands to generate.