2000-09-03 Philip Blundell <philb@gnu.org>
[external/binutils.git] / bfd / ChangeLog
index d9af253..191b5d2 100644 (file)
@@ -1,3 +1,390 @@
+2000-09-03  Philip Blundell  <philb@gnu.org>
+
+       * elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate
+       references to undefined symbols in debugging sections.
+
+2000-09-02  H.J. Lu  <hjl@gnu.org>
+
+       * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
+       BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE,
+       BFD_RELOC_SH_GOTPC): Move them from the MIPS section to the SH
+       section.
+
+2000-09-02  Jason Eckhardt  <jle@cygnus.com>
+
+       * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
+       (elf32_i860_is_local_label_name): New function and prototype.
+
+2000-09-02  Nick Clifton  <nickc@redhat.com>
+
+       * configure.in: Increase version number to 2.10.91.
+       * configure: Regenerate.
+       * aclocal.m4: Regenerate.
+       * config.in: Regenerate.
+       * po/bfd.pot: Regenerate.
+       
+2000-09-02  Daniel Berlin <dberlin@redhat.com>
+
+       * elf.c (_bfd_elf_make_section_from_shdr): Add
+       .gnu.linkobce.wi. to the list of debug section names.
+
+2000-09-02  Nick Clifton  <nickc@redhat.com>
+
+       * dwarf2.c (find_debug_info): New function: Locate a section
+       containing dwarf2 debug information.
+       (bfd_dwarf2_find_nearest_line): Find all sections containing
+       debug information and include them in the stash.
+
+2000-09-01  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
+       R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New.
+       (sh_reloc_map): Add new relocs.
+       (sh_elf_check_relocs, sh_elf_link_hash_newfunc,
+       sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol,
+       sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol,
+       sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New
+       functions.
+       (ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define.
+       (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
+       elf_sh_plt_entry_be, elf_sh_plt_entry_le,
+       elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
+       New array constants.
+       (elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry):
+       New variables.
+       (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
+       elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset,
+       elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset,
+       elf_sh_plt_reloc_offset): Define.
+       (elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry,
+       elf_sh_link_hash_table): New structs.
+       (sh_elf_link_hash_traverse, sh_elf_hash_table): New macros.
+       (sh_elf_relocate_section, sh_elf_check_relocs): Handle new
+       relocation types.
+       (elf_backend_create_dynamic_sections,
+       bfd_elf32_bfd_link_hash_table_create,
+       elf_backend_adjust_dynamic_symbol,
+       elf_backend_size_dynamic_sections,
+       elf_backend_finish_dynamic_symbol,
+       elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
+       elf_backend_plt_readonly, elf_backend_want_plt_sym,
+       elf_backend_got_header_size, elf_backend_plt_header_size):
+       Define.
+       * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
+       BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC):
+       New relocs.
+       * bfd-in2.h, libbfd.h: Rebuilt.
+
+2000-09-01  Alan Modra  <alan@linuxcare.com.au>
+
+       * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert 2000-08-27
+       change.
+
+Thu Aug 31 22:49:30 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags
+       not initialized, set them to indicate the SH1 instruction set.
+
+2000-08-31  Alexandre Oliva  <aoliva@redhat.com>
+
+       * acinclude.m4: Include libtool and gettext macros from the
+       top level.
+       * aclocal.m4, configure: Rebuilt.
+
+2000-08-29  Michael Snyder  <msnyder@seadog.cygnus.com>
+
+       * elf.c: Eliminate references to __sparcv9 macro; replace with
+       autoconf variables HAVE_PSINFO32_T etc.
+       * configure.in: Auto-configure HAVE_PSINFO_32_T, HAVE_PRPSINFO32_T,
+       HAVE_PSTATUS32_T, HAVE_PRSTATUS32_T, HAVE_PRSTATUS32_T_PR_WHO.
+       * config.in: Ditto.
+       * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE) define _SYSCALL32 so it can
+       detect the above typedefs.  (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Ditto.
+       * aclocal.m4: Ditto.
+       * configure: Regenerate.
+
+2000-08-27  Alan Modra  <alan@linuxcare.com.au>
+
+       * elf32-i386.c (elf_i386_check_relocs): Keep info on relocs copied
+       for any shared link, not just shared -Bsymbolic.
+       (elf_i386_size_dynamic_sections): Call elf_i386_discard_copies on
+       any shared link, and pass link info to it.
+       (elf_i386_size_dynamic_sections): Update comment.
+       (elf_i386_discard_copies): Modify to discard relocs for symbols
+       that have been forced local.
+       (elf_i386_finish_dynamic_symbol): Don't copy relocs for symbols
+       that have been forced local.
+
+2000-08-24  Denis Chertykov  <denisc@overta.ru> & Nick Clifton  <nickc@redhat.com>
+
+       * elflink.h (elf_link_add_object_symbols): Allow common
+       symbols to have an alignment of 1 if explicitly requested, and
+       not overridden by other definitions.
+
+2000-08-22  Doug Kwan <dkwan@transmeta.com>
+
+       * coff-w65.c (CREATE_LITTLE_COFF_TARGET): Fix typo.
+       * coffcode.h (coff_set_flags): Add detection of w65 architecture.
+
+2000-08-22  H.J. Lu  <hjl@gnu.org>
+
+       * elf-bfd.h (elf_link_hash_table): Add runpath.
+
+       * bfd-in.h (bfd_elf_get_runpath_list): New prototype.
+       * bfd-in2.h: Rebuilt.
+
+       * elf.c (_bfd_elf_link_hash_table_init): Initialize the
+       "runpath" field to NULL.
+       (bfd_elf_get_runpath_list): New function.
+
+       * elflink.h (elf_link_add_object_symbols): Record DT_RPATH and
+       DT_RUNPATH entries.
+
+2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-sh.c (sh_elf_relocate_section) [R_SH_IND12W,
+       R_SH_DIR8WPN, R_SH_DIR8WPZ, R_SH_DIR8WPL]: Handle them
+       explicitly.  Improve validation of r_type.
+
+2000-08-21  H.J. Lu  <hjl@gnu.org>
+
+       * elf32-i386.c (elf_i386_size_dynamic_sections): Zero out the
+       dynamic allocated content space.  Add a comment to remind us that
+       one day this ought to be fixed.
+       * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+       * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
+       * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
+
+2000-08-21  Jason Eckhardt  <jle@cygnus.com>
+
+       * elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate
+       field with the newly relocated value instead of adding it to the
+       existing immediate field.
+       (elf32_i860_relocate_splitn): Likewise.
+       (elf32_i860_relocate_highadj): Likewise.
+
+2000-08-16  Jason Eckhardt  <jle@cygnus.com>
+
+       * elf32-i860.c (elf32_i860_relocate_pc16): Implemented function (it
+       was previously just a stub).
+
+2000-08-16  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elflink.c (_bfd_elf_create_got_section): Don't abort().
+       Formatting fixes.
+       (_bfd_elf_create_dynamic_sections): Likewise.
+
+2000-08-16  Andrew Macleod  <amacleod@cygnus.com>
+
+       * elf64-sparc.c (sparc64_elf_relocate_section): Set relocation address
+       for undefined symbols to be the beginning of the section.
+
+       * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Don't allocate
+       four extra entries at the beginning of the .rela.plt section.
+       (sparc64_elf_finish_dynamic_symbol): Adjust the offset in the .rela.plt
+       section to account for the four reserved entries in the .plt section.
+
+2000-08-15  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0
+       to the list of NOPs we recognize after a branch-and-link.
+       Use the ori NOP when one is needed.
+
+       * coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation
+       for large archives.
+
+2000-08-14  Jim Wilson  <wilson@cygnus.com>
+
+       * elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
+       EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
+       (elf64_ia64_print_private_bfd_data): Likewise.  Also handle
+       EF_IA_64_ABSOLUTE.
+
+2000-08-11  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-sh.c (sh_elf_set_mach_from_flags): Make it static.
+
+2000-08-10  Jason Eckhardt  <jle@cygnus.com>
+
+        * elf32-i860.c (elf32_i860_relocate_section): New function.
+        (i860_final_link_relocate): New function.
+        (elf32_i860_relocate_splitn): New function.
+        (elf32_i860_relocate_pc16): New function. 
+        (elf32_i860_relocate_highadj): New function.
+        (elf32_i860_howto): Minor adjustments to some relocations.
+        (elf_info_to_howto_rel): Define.
+        (elf_backend_relocate_section): Define.
+
+2000-08-10  Nick Clifton  <nickc@cygnus.com>
+
+       * elf32-arm.h: Fix formatting.
+
+2000-08-10  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * elf32-sh.c (sh_elf_reloc_loop): Make LAST_SYMBOL_SECTION static.
+
+2000-08-08  Jason Eckhardt  <jle@cygnus.com>
+
+       * elf32-i860.c (elf32_i860_howto_table): Updated some fields.
+
+2000-08-07  Kazu Hirata  <kazu@hxi.com>
+
+       * ieee.c (ieee_write_debug_part): Rewrite a comment.
+       * elf64-ia64.c: Fix a typo.
+
+2000-08-05  Jason Eckhardt  <jle@cygnus.com>
+
+       * elf32-i860 (elf32_i860_howto_table): New structure.
+       (lookup_howto): New function.
+       (elf32_i860_reloc_type_lookup): New function.
+       (elf32_i860_info_to_howto_rela): New function.
+       (elf_code_to_howto_index): New structure.
+       (elf_info_to_howto): Re-define as elf32_i860_info_to_howto_rela.
+       (bfd_elf32_bfd_reloc_type_lookup): Re-define as
+       elf32_i860_reloc_type_lookup.
+
+2000-08-04  Rodney Brown  <RodneyBrown@pmsc.com>
+
+       * som.c (struct fixup_format): Constify `format'.
+       (som_hppa_howto_table): Use SOM_HOWTO macro.
+       (try_prev_fixup, hppa_som_reloc): Decorate unused parameter.
+       (som_bfd_reloc_type_lookup): Likewise.
+       (compare_subspaces): Remove unused `count1', `count2'.
+       (som_begin_writing): Remove unused `total_reloc_size'.
+       (som_bfd_derive_misc_symbol_info): Decorate unused parameter.
+       (som_print_symbol, som_bfd_is_local_label_name): Likewise.
+       (som_set_reloc_info): Constify `cp'. Remove unused `addend'.
+       (som_find_nearest_line): Decorate unused parameter(s).
+       (som_sizeof_headers, som_get_symbol_info, som_write_armap): Likewise.
+       (som_bfd_link_split_section): Likewise. 
+
+2000-08-03  Nick Clifton  <nickc@cygnus.com>
+
+       * section.c: Restore backed out code.
+       * elf.c: Restore backed out code.
+       (copy_private_bfd_data): Fix bug preventing stipped dynamic
+       binaries from working.
+       * bfd-in2.h: Regenerate.
+
+2000-08-03  H.J. Lu  <hjl@gnu.org>
+
+       * section.c: Back out the change made by Nick Clifton
+       <nickc@cygnus.com> on 2000-07-31. It breaks stripping dynamic
+       binaries.
+       * bfd-in2.h: Likewise.
+       * elf.c: Likewise.
+
+2000-08-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-sh.c (sh_elf_reloc_loop): Warning removal.
+
+2000-07-31  Jason Eckhardt  <jle@cygnus.com>
+
+        * reloc.c (BFD_RELOC_860_*): New bfd relocs for i860.
+        * bfd-in2.h, libbfd.h: Regenerate.
+
+2000-07-31  Nick Clifton  <nickc@cygnus.com>
+
+       * section.c (struct sec): Add new boolean field 'segment_mark'.
+       (STD_SECTION): Initialise new field to zero.
+
+       * bfd-in2.h: Regenerate.
+
+       * elf.c (copy_private_bfd_data): Reorganise section to segment 
+       mapping to cope with moved sections requiring new segments,
+       and overlapping segments.
+       (SEGMENT_END): New macro: Return the end address of a segment.
+       (IS_CONTAINED_BY_VMA): New macro: Determine if a segment
+       contains a section by comparing their VMA addresses.
+       (IS_CONTAINED_BY_LMA): New macro: Determine if a segment
+       contains a section by comparing their LMA addresses.
+       (INCLUDE_SECTION_IN_SEGMENT): New macro: Determine if a
+       section should be included in a segment.
+       (SEGMENT_AFTER_SEGMENT): New macro: Determine if one segment
+       follows another in memory.
+       (SEGMENT_OVERLAPS_SEGMENT): New macro: Determine if two
+       segments overlap.
+
+200007-22  Jason Eckhardt  <jle@cygnus.com>
+
+       * cpu-i860.c: Added comments.
+
+       * elf32-i860.c (TARGET_LITTLE_SYM): Defined to
+       bfd_elf32_i860_little_vec.
+       (TARGET_LITTLE_NAME): Defined to "elf32-i860-little".
+       (ELF_MAXPAGESIZE): Changed to 4096.
+
+       * targets.c (bfd_elf32_i860_little_vec): Declaration of
+       new target.
+       (bfd_target_vector): Added bfd_elf32_i860_little_vec.
+
+       * config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added
+       config for little endian elf32 i860.
+       (targ_defvec): Define for the new config above
+       as "bfd_elf32_i860_little_vec". 
+       (targ_selvecs): Define for the new config above
+       as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
+
+       * configure.in (bfd_elf32_i860_little_vec): Added recognition
+       of new target vec.
+
+       * configure: Regenerated.
+
+2000-07-27  H.J. Lu  <hjl@gnu.org>
+
+       * elflink.h (elf_merge_symbol): Take one more argument,
+       dt_needed, to indicate if the symbol comes from a DT_NEEDED
+       entry. Don't overide the existing weak definition if dt_needed
+       is true.
+       (elf_link_add_object_symbols): Pass dt_needed to
+       elf_merge_symbol ().
+
+2000-07-27  Nick Clifton  <nickc@cygnus.com>
+
+       * elflink.h (elf_link_size_reloc_section): Zeroes the section's
+       allocated contents.
+
+2000-07-25  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * configure.host (*-*-aix*): AIX has 'long long' always.
+
+       * coff-rs6000.c (xcoff_write_one_armap_big): New procedure.
+       (xcoff_write_armap_big): Write both 32-bit and 64-bit armaps.
+       (xcoff_write_archive_contents_big): Don't update the offset
+       of the symbol table, xcoff_write_armap will do it.
+
+2000-07-23  Ulf Carlsson  <ulfc@engr.sgi.com>
+
+       * elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead
+       of dynobj for SGI_COMPAT checks.
+
+2000-07-21  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
+
+        * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): New function.
+        * bfd-in.h (bfd_m68k_coff_create_embedded_relocs): Add declaration.
+        * bfd-in2.h: Regenerate.
+
+2000-07-21  Nick Clifton  <nickc@cygnus.com>
+
+       * elf32-mips.c (_bfd_mips_elf_check_relocs): Detect out of
+       range symbol indices in relocs and issue an error message.
+
+2000-07-20  H.J. Lu  <hjl@gnu.org>
+
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't check
+       info->new_dtags when setting DT_FLAGS_1. It will only be set
+       by the new linker options. It shouldn't break anything.
+
+2000-07-20  H.J. Lu  <hjl@gnu.org>
+
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set DT_FLAGS_1
+       only if info->new_dtags is true.
+
+2000-07-20  H.J. Lu  <hjl@gnu.org>
+
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set
+       DT_RUNPATH and DT_FLAGS only if info->new_dtags is true.
+
 2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
 
        * Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
        * elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
        * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
 
-       * bfd/elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
        set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
        DT_RPATH is set.
        Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
@@ -95,7 +482,7 @@ Tue Jul 18 13:11:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 2000-07-18  Ulf Carlsson  <ulfc@engr.sgi.com>
 
        * elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add
-       paranthesis in if statement.
+       parenthesis in if statement.
 
 2000-07-17  Koundinya K  <kk@ddeorg.soft.net>