sje patch for 32-bit IA-64 ELF relocs for HPUX
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index bf87bd5cb4a1b41705a6aebabbc4bd9388253eed..795d06eeb1e81fd6d872386439142677f38ddec7 100644 (file)
@@ -1,3 +1,216 @@
+2001-07-11  Steve Ellcey  <sje@cup.hp.com>
+
+       * reloc.c (bfd_reloc_code_type): Add IA64 relocs
+       BFD_RELOC_IA64_LTOFF_FPTR32MSB and BFD_RELOC_IA64_LTOFF_FPTR32LSB
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * elfxx-ia64.c (ia64_howto_table): Define how to handle
+       new relocations.
+       (elfNN_ia64_reloc_type_lookup): Handle new relocations.
+       (elfNN_ia64_check_relocs): Likewise.
+       (elfNN_ia64_install_value): Likewise.
+       (elfNN_ia64_relocate_section): Likewise.
+
+2001-07-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf32-sparc.c (_bfd_sparc_elf_howto_table): Remove support for
+       R_SPARC_UA64.
+       (elf32_sparc_check_relocs): Likewise.
+       Only create .rela section for alloced sections in shared libraries.
+       (elf32_sparc_relocate_section): Likewise.
+       Remove redundant check.
+       Optimize unaligned reloc usage.
+       * elf64-sparc.c (sparc64_elf_relocate_section): Remove redundant
+       check.
+
+2001-07-11  H.J. Lu  <hjl@gnu.org>
+
+       * elf64-alpha.c (elf64_alpha_check_relocs): Only use the same
+       ALLOC|LOAD flags as the source section for debugging sections
+       when creating the reloc section.
+
+2001-07-05  Jim Wilson  <wilson@redhat.com>
+
+       * linker.c (_bfd_generic_link_add_one_symbol, case BIG): Use
+       the section of the bigger symbol.
+
+       * syms.c (bfd_is_local_label): Return false if BSF_SECTION_SYM.
+
+2001-07-05  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * peicode.h (coff_swap_scnhdr_in): For sections containing
+       uninitialised data, only set their size to s_paddr if this does
+       not reset their size to zero.  MS's latest compilers will set
+       s_paddr to zero.
+
+2001-07-04  H.J. Lu  <hjl@gnu.org>
+
+       * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing):
+       Handle bfd_mach_mips4400, bfd_mach_mips4600 and
+       bfd_mach_mips5000.
+
+2001-07-03  Mark Elbrecht  <snowball3@softhome.net>
+
+       * bfd.c (bfd_get_sign_extend_vma): Support DJGPP COFF targets.
+
+       * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols from
+       sections being discarded.
+
+2001-06-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * elfcore.h (elf_core_file_p): Call bfd_section_from_phdr directly
+       instead of _bfd_elfcore_section_from_phdr.
+       * elf-bfd.h (_bfd_elfcore_section_from_phdr): Remove.
+       * elf.c (_bfd_elfcore_section_from_phdr): Remove.
+       (_bfd_elfcore_make_pseudosection): Expedite tail-call.
+       (elfcore_grok_prstatus): Likewise.
+       (elfcore_grok_lwpstatus): Likewise.
+       (bfd_get_elf_phdr_upper_bound): Likewise.
+       (elfcore_make_note_pseudosection): Formatting.
+       (_bfd_elfcore_strndup): Formatting.
+       * elf32-mips.c (mips_elf_sym_is_global): Formatting.
+       (_bfd_elf32_mips_grok_prstatus): Expedite tail-call.
+
+2001-06-29  Daniel Jacobowitz  <drow@mvista.com>
+
+       * elf-bfd.h: Add prototypes for _bfd_elfcore_make_pseudosection
+       and _bfd_elfcore_strndup.
+       (struct elf_backend_data): Add elf_backend_grok_prstatus
+       and elf_backend_grok_psinfo.
+       * elf.c (_bfd_elfcore_make_pseudosection): New function.
+       (elfcore_grok_prstatus): Use it.
+       (elfcore_make_note_pseudosection): Likewise.
+       (elfcore_strndup):  Rename to...
+       (_bfd_elfcore_strndup): Here, and make global.
+       (elfcore_grok_psinfo): Use _bfd_elfcore_strndup.
+       (elfcore_grok_note): Call elf_backend_grok_prstatus
+       and elf_backend_grok_psinfo if available.
+       * elf32-mips.c (_bfd_elf32_mips_grok_prstatus): New function.
+       (_bfd_elf32_mips_grok_psinfo): New function.
+       (elf_backend_grok_prstatus): Define.
+       (elf_backend_grok_psinfo): Define.
+       * elfxx-target.h (elf_backend_grok_prstatus): Default to NULL.
+       (elf_backend_grok_psinfo): Likewise.
+       (elfNN_bed): Include elf_backend_grok_prstatus and
+       elf_backend_grok_psinfo.
+
+2001-06-29  H.J. Lu  <hjl@gnu.org>
+
+       * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Check if
+       hplink->sgot is NULL before filling GOT. Checck if hplink->splt
+       is NULL before filling PLT.
+
+2001-06-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.h (elf_link_output_extsym): Revert 1999-04-10.
+
+2001-06-27  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic
+       here..
+       (elf32_hppa_adjust_dynamic_symbol): ..nor here..
+       (allocate_plt_and_got_and_discard_relocs): .. instead do so here
+       after gc has run.
+
+       * elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete.
+       (IS_ABSOLUTE_RELOC): Define.
+       (elf32_hppa_link_hash_entry): Always include reloc_entries field.
+       (hppa_link_hash_newfunc): Always init it.
+       (elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to
+       create COPY relocs only when the reloc is in a read-only section.
+       Instead, allocate space for a dynamic reloc to reference the
+       library symbol directly.  Keep track of space we allocate using
+       relocs_entries.
+       (hppa_discard_copies): Delete, and move code to..
+       (allocate_plt_and_got): ..here.  Rename to
+       allocate_plt_and_got_and_discard_relocs.  Remove unneeded dynamic
+       relocs for non-shared link.
+       (elf32_hppa_size_dynamic_sections): Update calls to above.
+       (elf32_hppa_relocate_section): Write out the dynamic relocs used
+       in lieu of COPY relocs.
+
+       * elf32-i386.c (elf_i386_check_relocs): Don't make syms dynamic
+       here..
+       (elf_i386_adjust_dynamic_symbol): ..nor here..
+       (allocate_plt_and_got_and_discard_relocs): .. instead do so here
+       after gc has run.
+       (elf_i386_size_dynamic_sections): Fix a comment.
+       (elf_i386_relocate_section <R_386_32, R_386_PC32>): Rearrange code
+       involved in writing reloc out.
+
+2001-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-i386.c (elf_i386_check_relocs <R_386_32, R_386_PC32>):
+       Ensure syms are dynamic if we might be emitting a reloc.
+       (allocate_plt_and_got_and_discard_relocs): Don't discard relocs
+       for undefweak or undefined syms..
+       (elf_i386_relocate_section <R_386_32, R_386_PC32>): .. and emit.
+
+       * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Discard
+       relocs without ELF_LINK_HASH_DEF_DYNAMIC set.
+       (elf_i386_relocate_section <R_386_32, R_386_PC32>): Remove
+       redundant bfd_link_hash_defined, bfd_link_hash_defweak test.
+
+2001-06-24  H.J. Lu  <hjl@gnu.org>
+
+       * cpu-i960.c (scan_960_mach): Don't modify const char *. Use
+       strncasecmp/strcasecmp instead of strncmp/strcmp.
+
+2001-06-23  H.J. Lu  <hjl@gnu.org>
+
+       * elf32-i386.c (elf_i386_relocate_section <R_386_32, R_386_PC32>):
+       Check ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined
+       in the regular object file and treat the weak definition as
+       the normal one.
+
+2001-06-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-i386.c (elf_i386_relocate_section <R_386_GOT32>): Tighten
+       unresolved_reloc test to exclude cases where we use "relocation"
+       before setting it to point into the .got.  Reinstate fudge for
+       unresolved relocs in debugging sections.
+
+       * elf32-i386.c (elf_i386_relocate_section): Replace ugly
+       complicated tests for unresolvable relocs with a simple direct
+       scheme using "unresolved_reloc" var.
+
+       * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Rename to
+       elf_i386_dyn_relocs.  Update comment.
+       (struct elf_i386_link_hash_entry): Rename pcrel_relocs_copied to
+       dyn_relocs.
+       (elf_i386_adjust_dynamic_symbol): Remove a BFD_ASSERT, change
+       others to aborts.
+       (allocate_plt_and_got_and_discard_relocs): Replace BFD_ASSERT with
+       abort.
+       (elf_i386_size_dynamic_sections): Likewise.
+       (elf_i386_finish_dynamic_symbol): Likewise.
+       (elf_i386_finish_dynamic_sections): Likewise.
+       (elf_i386_relocate_section): Likewise.  Tidy R_386_GOT32 and error
+       handling code.
+
+       Avoid creating COPY relocs if possible.
+       * elf32-i386.c (elf_i386_check_relocs): Tweak condition under
+       which .got created.  Mark symbols used by R_386_32 and R_386_PC32
+       relocs as ELF_LINK_NON_GOT_REF to create COPY relocs only when the
+       reloc is in a read-only section.  Instead, allocate space for a
+       dynamic reloc to reference the library symbol directly.  Keep
+       track of space we allocate using pcrel_relocs_copied.
+       (discard_copies): Delete, and move code to ..
+       (allocate_plt_and_got): ..here.  Rename to
+       allocate_plt_and_got_and_discard_relocs.  Remove unneeded dynamic
+       relocs for non-shared link.
+       (elf_i386_size_dynamic_sections): Update calls to above functions.
+       (elf_i386_relocate_section): Write out the dynamic relocs.  Add
+       more ugly logic to avoid "unresolvable relocation" error.  Use
+       htab shortcut in place of elf_hash_table macro.
+       (elf_i386_finish_dynamic_sections): Allow that dynamic .got may
+       not always be created now.
+
+2001-06-20  Bo Thorsen  <bo@suse.co.uk>
+
+       * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking of
+       shared libraries.
+
 2001-06-18  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
 
        * configure.host (mips64-*-linux): Reformat.
 
 2001-06-20  Catherine Moore  <clm@redhat.com>
 
-        * elf-bfd.h (struct elf_backend_data):
-        elf_backend_emit_relocs: New field: Function for emitting
-        relocs.
-        elf_backend_count_relocs: New field: Function for determining
-        the number of relocs to be emitted.
-        * elfxx-target.h: Provide default (NULL) values for
-        elf_backend_emit_relocs and elf_backend_count_relocs.
-        * elflink.h (elf_link_size_reloc_section): Make the hash table
-        big enough to hold the relocs counted by either reloc_count or
-        o->reloc_count.  
-        (elf_bfd_final_link) emit_relocs: New boolean, set if relocs
-        should be emitted, either because of a command line option
-        stored in the info structure or because the target provides a
-        special reloc emitting function.
-        If the target provides a reloc counting function use it,
-        unless performing a relocatable link or emitting all relocs.
-        Also set the SEC_RELOC flag on any output section which will
-        contain relocs.
-        (elf_link_input_bfd): emit_relocs: New boolean, set if relocs
-        should be emitted, either because of a command line option
-        stored in the info structure or because the target provides a
-        special reloc emitting function.
-        If the target provides a reloc emitting function, use it,
-        unless performing a relocatable link or emitting all relocs.
+       * elf-bfd.h (struct elf_backend_data):
+       elf_backend_emit_relocs: New field: Function for emitting
+       relocs.
+       elf_backend_count_relocs: New field: Function for determining
+       the number of relocs to be emitted.
+       * elfxx-target.h: Provide default (NULL) values for
+       elf_backend_emit_relocs and elf_backend_count_relocs.
+       * elflink.h (elf_link_size_reloc_section): Make the hash table
+       big enough to hold the relocs counted by either reloc_count or
+       o->reloc_count.
+       (elf_bfd_final_link) emit_relocs: New boolean, set if relocs
+       should be emitted, either because of a command line option
+       stored in the info structure or because the target provides a
+       special reloc emitting function.
+       If the target provides a reloc counting function use it,
+       unless performing a relocatable link or emitting all relocs.
+       Also set the SEC_RELOC flag on any output section which will
+       contain relocs.
+       (elf_link_input_bfd): emit_relocs: New boolean, set if relocs
+       should be emitted, either because of a command line option
+       stored in the info structure or because the target provides a
+       special reloc emitting function.
+       If the target provides a reloc emitting function, use it,
+       unless performing a relocatable link or emitting all relocs.
 
 2001-06-20  H.J. Lu  <hjl@gnu.org>
 
 
        * elf32-mips.c (mips_elf_link_hash_entry): Add a new field,
        readonly_reloc, to record if a relocation in the .rel.dyn
-       section is against a read-only section. 
+       section is against a read-only section.
        (mips_elf_link_hash_newfunc): Initialize the readonly_reloc
        field to false.
        (_bfd_mips_elf_check_relocs): Record if there is a relocation
        function.  Move flagword result into parameter list.  Remove
        comment about setting bfd_error_handler to intercept failure
        results.
-        * coffgen.c (make_a_section_from_file): Examine result of
+       * coffgen.c (make_a_section_from_file): Examine result of
        calling bfd_coff_styp_to_sec_flags and pass a failure back to
        caller.
-        * ecoff.h (styp_flags_to_sec_flags): Change to a boolean
+       * ecoff.h (styp_flags_to_sec_flags): Change to a boolean
        function.  Move flagword result into parameter list.
-        * libcoff.h: Regenerate.
-        * libecoff.h: Regenerate.
+       * libcoff.h: Regenerate.
+       * libecoff.h: Regenerate.
 
 2001-06-13  Nick Clifton  <nickc@cambridge.redhat.com>
 
 
 2001-06-12  Catherine Moore  <clm@redhat.com>
 
-        * elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGN
-        with the file_align entry from elf_backend_data.
-        (elf_gc_smash_unused_vtentry_relocs): Likewise.
-        (elf_gc_record_vtentry): Likewise.
+       * elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGN
+       with the file_align entry from elf_backend_data.
+       (elf_gc_smash_unused_vtentry_relocs): Likewise.
+       (elf_gc_record_vtentry): Likewise.
 
 2001-06-10  Alan Modra  <amodra@bigpond.net.au>
 
 
 2001-06-06  Christian Groessler <cpg@aladdin.de>
 
-        * coff-z8k.c: Fix formatting.
+       * coff-z8k.c: Fix formatting.
        Fix howtos: howto->size was always 1.
 
 2001-06-05  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
 
 2001-05-24  Tom Rix <trix@redhat.com>
 
-        * Makefile.am coff-pmac bfd now defined in coff-rs6000.c
+       * Makefile.am coff-pmac bfd now defined in coff-rs6000.c
        xcoff-target.h not used to define rs6000 or ppc bfd.
        * Makefile.in same
 
 
        * elf-bfd.h (NUM_SHDR_ENTRIES): New macro: compute the number
        of entries in a structured section.
-        * elf.c: Use new macro.
-        * elf32-i386.c: Use new macro.
-        * elf32-mips.c: Use new macro.
-        * elf64-alpha.c: Use new macro.
-        * elf64-sparc.c: Use new macro.
-        * elfcode.h: Use new macro.
-        * elflink.h: Use new macro.
+       * elf.c: Use new macro.
+       * elf32-i386.c: Use new macro.
+       * elf32-mips.c: Use new macro.
+       * elf64-alpha.c: Use new macro.
+       * elf64-sparc.c: Use new macro.
+       * elfcode.h: Use new macro.
+       * elflink.h: Use new macro.
 
 2001-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
 
 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
 
        * elf32-arm.h (elf32_arm_final_link_relocate): Set
-        EF_ARM_HASENTRY if the start address is set.
+       EF_ARM_HASENTRY if the start address is set.
 
 2001-05-03  Nick Clifton  <nickc@cambridge.redhat.com>
 
 
 2001-05-02  Johan Rydberg  <jrydberg@opencores.org>
 
-        * elf32-openrisc.c (openrisc_elf_howto_table): Do not complain
+       * elf32-openrisc.c (openrisc_elf_howto_table): Do not complain
        about overflow in R_OPENRISC_LO_16_IN_INSN and
        R_OPENRISC_HI_16_IN_INSN.Index: bfd/elf32-openrisc.c
 
 2001-03-23  Nick Clifton  <nickc@redhat.com>
 
        * Makefile.am (BUILD_CFILES): New variable: List of C source
-        files created in build directory.
-        (BUILD_HFILES): New variable: List of header files created in
-        build directory.
-        (POTFILES): Delete.
-        (po/POTFILES.in): Replace rule with empty entry.
-        (po/SRC-POTFILES.in): New rule: Create a list of source files
-        in the source directory.
-        (po/BLD-POTFILES.in): New rule: Create a list of source files
-        in the build directory.
-        (MOSTLYCLEAN): Do not delete source files created in build
-        directory.
-        * Makefile.in: Regenerate.
-        * configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in
-        into po/Makefile.
-        * configure: Regenerate.
-
-        * po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES
-        and BLD_POTFILES.
+       files created in build directory.
+       (BUILD_HFILES): New variable: List of header files created in
+       build directory.
+       (POTFILES): Delete.
+       (po/POTFILES.in): Replace rule with empty entry.
+       (po/SRC-POTFILES.in): New rule: Create a list of source files
+       in the source directory.
+       (po/BLD-POTFILES.in): New rule: Create a list of source files
+       in the build directory.
+       (MOSTLYCLEAN): Do not delete source files created in build
+       directory.
+       * Makefile.in: Regenerate.
+       * configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in
+       into po/Makefile.
+       * configure: Regenerate.
+
+       * po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES
+       and BLD_POTFILES.
        Add .. to the search path when building bfd.pot.
-        Delete POTFILES when performing distclean.
-        Add comment describing why distclean is broken in maintainer mode.
+       Delete POTFILES when performing distclean.
+       Add comment describing why distclean is broken in maintainer mode.
        * po/POTFILES.in: Delete.
        * po/SRC-POTFILES.in: New file.
        * po/BLD-POTFILES.in: New file.
-        * po/bfd.pot: Regenerate.
+       * po/bfd.pot: Regenerate.
 
 2001-03-22  Hans-Peter Nilsson  <hp@axis.com>
 
        of offset in BLX(1) instruction.
        * coff-arm.c (coff_arm_relocate_section): Clear bit zero of
        offset in BLX(1) instruction.
-        Fix formatting.
+       Fix formatting.
 
 2001-03-06  Nick Clifton  <nickc@redhat.com>
 
 
        * coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Tidy
        up, replacing multiple if statements with a switch.
-        (handle_COMDAT): New function.
+       (handle_COMDAT): New function.
 
 2001-02-26  H.J. Lu  <hjl@gnu.org>
 
This page took 0.030172 seconds and 4 git commands to generate.