* reloc.c (bfd_check_overflow): Add casts before shifts which may
[binutils-gdb.git] / bfd / ChangeLog
index 3956fee29465cd112b018e23b19595d9531c5b61..25853734f45474845a33792c7943cc59e1a8b262 100644 (file)
@@ -1,3 +1,329 @@
+Tue May 19 18:41:19 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * bfd-in.h: Move over patch to bfd-in2.h.
+
+       * reloc.c (bfd_check_overflow): Add casts before shifts which may
+       not fit in 32 bits.
+       (_bfd_relocate_contents): Likewise.
+
+Mon May 18 14:44:15 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * peicode.h (add_data_entry): If the section has no private data
+       then do not create a Data Dictionary entry for it.
+
+Mon May 18 00:09:28 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
+       (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots,
+       elf64_alpha_size_got_sections): Rewrite, handling multiple got
+       subsections during relaxation more correctly.
+
+Thu May 14 14:22:58 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class ().
+       Add extra argument to bfd_arm_process_before_allocation ().
+       * bfd-in.h: Reflect changes made in bfd-in2.h.
+       * coffgen.c (bfd_coff_set_symbol_class): New function.  Set the
+       coff class of a BFD symbol.
+       * coff-arm.c: Add support for interworking between Thumb code and
+       non-interworking aware ARM code.
+
+Sun May 10 22:33:59 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * po/Make-in (install-info): New target.
+
+Thu May  7 17:40:56 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * filemode.c: Remove; not used.
+
+       If sysdep.h includes a header file, don't include it again:
+       * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or
+       <errno.h>.
+       * aoutx.h: Don't include <string.h>.  Use "sysdep.h" rather than
+       <sysdep.h>.
+       * archive.c: Don't include <string.h> or <errno.h>.
+       * evax-alpha.c; Don't include <stdio.h>.
+       * evax-egsd.c: Likewise.
+       * evax-etir.c: Likewise.
+       * evax-misc.c: Likewise.
+       * evax-emh.c: Likewise.  Also, don't include <sys/types.h>.
+       * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or
+       <errno.h>.
+       * hpux-core.c: Likewise.
+       * netbsd-core.c: Likewise.
+       * som.c: Likewise.
+       * libbfd.c: Don't include <sys/types.h>.
+       * nlmcode.h: Don't include <string.h>.
+       * osf-core.c: Don't include <string.h> or <stdio.h>.
+       * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>,
+       <errno.h>, or <unistd.h>.
+       * trad-core.c: Don't include <stdio.h> or <sys/types.h>.
+
+Thu May  7 13:12:50 1998  Klaus Kaempf  <kkaempf@progis.de>
+
+       * configure.com: If the version number can not be found in
+       configure.in, set it to "unknown" rather than "2.8.1".
+
+Wed May  6 09:46:05 1998  Gavin Koch  <gavin@cygnus.com>
+
+       * elf32-mips.c (elf_mips_mach): New.
+       (_bfd_mips_elf_object_p): Use elf_mips_mach.
+       (_bfd_mips_elf_final_write_processing): Use the names
+       of machines, rather than the numbers.  Set both the ARCH
+       and MACH in e_flags.  Handle a few more specific machines.
+       (_bfd_mips_elf_merge_private_bfd_data): Merge both
+       EF_MIPS_ARCH and EF_MIPS_MACH.
+
+Tue May  5 21:01:53 1998  Richard Henderson  <rth@cygnus.com>
+
+       * syms.c (bfd_is_local_label): Revert last change.
+       * srec.c (srec_write_symbols): Discard debugging symbols.
+
+Tue May  5 23:36:06 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * som.c: Include <ctype.h>.
+       * som.h: Don't include sysdep.h.
+
+Tue May  5 18:29:24 1998  Tom Tromey  <tromey@cygnus.com>
+
+       * libbfd.h: Rebuilt.
+       * libbfd-in.h: Removed gettext includes and defines.
+       * sysdep.h: Moved gettext-related includes and defines here.
+
+Tue May  5 16:47:54 1998  Richard Henderson  <rth@cygnus.com>
+
+       * srec.c (srec_write_symbols): Use bfd_is_local_label rather than
+       an ad-hoc test.  Kill bogus #if 0 code.
+       * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local.
+
+Mon May  4 16:10:33 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address
+       when generating a normal executable for a symbol defined in a
+       regular file.  When copying a reloc into the output file, adjust
+       the addend for a PC relative reloc against a global symbol.
+
+Mon May  4 10:08:18 1998  Tom Tromey  <tromey@cygnus.com>
+
+       * libbfd.h: Rebuilt.
+       * libbfd-in.h (_): Define as dgettext.
+
+Mon May  4 11:02:23 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma,
+       not signed.
+       * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS
+       when declaring parameter types.
+       (pe_saved_coff_bfd_copy_private_bfd_data): Likewise.
+
+Wed Apr 29 15:35:03 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config.bfd: If we include any ELF targets in targ_defvec and/or
+       targ_selvecs, then add the generic ELF targets to targ_selvecs.
+       * elf32-gen.c (dummy): New static const variable.
+       (elf_generic_info_to_howto): New static function.
+       (elf_generic_info_to_howto_rel): New static function.
+       (elf_info_to_howto): Define as elf_generic_info_to_howto.
+       (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel.
+       * elf64-gen.c: Same changes as elf32-gen.c.
+       * elfcode.h (elf_object_p): For the generic target, ignore a
+       failure of bfd_default_set_arch_mach.  Fix indentation a bit.
+
+Tue Apr 28 20:05:52 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in (WIN32LIBADD): Add -lintl on cygwin32.
+       * configure: Rebuild.
+
+Tue Apr 28 12:16:57 1998  Jason Molenda  (crash@bugshack.cygnus.com)
+
+       * config.bfd:  Update OSR5/Unixware patterns.
+
+Mon Apr 27 18:02:24 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf.c (assign_file_positions_for_segments): Allow for holes
+       between sections added by a link script.
+
+Mon Apr 27 11:49:55 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Change version number to 2.9.4
+       * configure: Rebuild.
+
+       Based on patch from H.J. Lu <hjl@gnu.org>:
+       * elf.c (bfd_elf_get_bfd_needed_list): New function.
+       * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare.
+       * bfd-in2.h: Rebuild.
+
+Sat Apr 25 20:07:53 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other.
+       Change all users.
+
+Sat Apr 25 18:29:07 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
+       (elf64_alpha_relax_section): Fill them in.
+       (elf64_alpha_relax_opt_call): Implement more than a stub.
+       (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default 
+       alignment on .scommon.
+       (elf64_alpha_merge_gots): Merge use counts as well.
+
+Sat Apr 25 14:07:29 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
+       for calculating a local symbol's address.
+       (elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
+       Set the .got's cooked size as well as the raw size.
+
+Fri Apr 24 09:16:00 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * elf32-v850.c (v850_elf_print_private_bfd_data): Add
+       internationalisation of printed information.
+       
+       * coff-arm.c (coff_arm_print_private_bfd_data): Add
+       internationalisation of printed information.
+
+Fri Apr 24 12:09:18 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * syms.c (struct indexentry): Change directory_name, file_name,
+       and function_name fields to char *.
+       (struct stab_find_info): Change cached_file_name field to char *.
+
+Thu Apr 23 08:13:04 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * peicode.h (dir_names): Add missing N_() macros to dir_names array.
+
+Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
+
+       * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
+
+Wed Apr 22 17:48:48 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.am (install-data-local): Make $(includedir).
+       * Makefile.in: Rebuild.
+
+Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
+
+       * libbfd-in.h: Use `gettext' and not `dgettext' for now.
+
+Wed Apr 22 12:53:40 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl.
+       * Makefile.in: Rebuild.
+
+       * bfd-in2.h: Rebuild for Nick's changes.
+
+Tue Apr 21 23:11:51 1998  Richard Henderson  <rth@cygnus.com>
+
+       * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last
+       change wrt length == max_namelen.
+
+Tue Apr 21 21:19:36 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
+
+       * Many files: Added gettext invocations around user-visible
+       strings.
+       * libbfd-in.h: Added gettext includes and defines.
+       * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
+       HAVE_LC_MESSAGES): Define.
+       * configure.in: Call CY_GNU_GETTEXT.  Create po/Makefile.in and
+       po/Makefile.
+       * Makefile.am (SUBDIRS): Added po.
+       (POTFILES): New macro.
+       (po/POTFILES.in): New target.
+       (SOURCE_HFILES): New macro.
+       (HFILES): Use it.
+       * po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
+
+Tue Apr 21 13:38:18 1998 Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * elfcore.h (bfd_prstatus):  Copy core_prstatus from the first
+       NT_PRSTATUS note section encountered, it contains the status of
+       the currently executing thread when the core file was written.
+
+Tue Apr 21 10:00:12 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * libcoff.h: Add extra parameter to
+       bfd_coff_link_output_has_begun overrideable function.
+       * cofflink.c: Pass extra parameter to
+       bfd_coff_link_output_has_begun function.
+       * bfd-in.h: Add prototypes for exported ARM interworking
+       functions. 
+       * peicode.h: ARM specific code reorganised to conform to BFD
+       coding conventions. 
+       * coffcode.h: ARM specific code reorganised to conform to BFD
+       coding conventions. 
+       * coff-arm.c: Code reorganised to conform to the BFD coding
+       conventions.  Global variables have been moved into an ARM
+       specific hash table structure and a new function:
+       bfd_arm_get_bfd_for_interworking() has been created which is
+       called from the linker scripts.
+
+Tue Apr 21 00:11:51 1998  Richard Henderson  <rth@cygnus.com>
+
+       * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
+
+       * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
+       elf64_alpha_relax_find_reloc_ofs.  Changed all callers.
+       (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
+       (elf64_alpha_size_got_sections): Don't merge .got sections twice.
+
+Sat Apr 18 01:21:04 1998  Stan Cox  <scox@cygnus.com>
+
+       * config.bfd: Added sparc86x support.
+       
+Fri Apr 17 22:29:04 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-mips.c (mips_elf_relocate_section): Do not complain about
+       an out of range pc-relative jump/call to an undefined weak symbol.
+
+Thu Apr 16 13:49:00 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp 
+       comparisons signed.
+
+Thu Apr 16 11:43:33 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
+       an error other than bfd_error_system_call, set the error to
+       bfd_error_wrong_format.
+
+       * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
+       bfd_elf32_powerpcle_vec.
+
+       * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
+       program segments are zero, don't set p_paddr_valid.
+
+Wed Apr 15 22:15:16 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf64-alpha.c: Initial implementation of relaxation --
+       (struct alpha_elf_link_hash_entry): Add use_count member.
+       (elf64_alpha_check_relocs): Initialize and increment it.
+       (elf64_alpha_can_merge_gots): Check it when considering merging.
+       (elf64_alpha_merge_gots): Drop entries with zero use.
+       (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
+       (elf64_alpha_always_size_sections): Split out got sizing ...
+       (elf64_alpha_size_got_sections): ... here.  New function.
+       (elf64_alpha_relax_find_reloc_ofs): New function.
+       (elf64_alpha_relax_with_lituse): Likewise.
+       (elf64_alpha_relax_without_lituse): Likewise.
+       (elf64_alpha_relax_opt_call): Likewise.
+       (elf64_alpha_relax_section): Likewise.
+       (elf64_alpha_add_symbol_hook): Likewise.
+       (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
+       (elf64_alpha_relocate_section): Likewise.
+       (bfd_elf64_bfd_relax_section): Define.
+       (elf_backend_add_symbol_hook): Likewise.
+
+Wed Apr 15 16:08:46 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
+       * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
+       (ELF_MACHINE_ALT1): New.  Set to EM_OLD_SPARC64.
+
+Wed Apr 15 11:34:33 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
+       * configure: Rebuild.
+
 Mon Apr 13 16:46:27 1998  Ian Lance Taylor  <ian@cygnus.com>
 
        * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
@@ -340,10 +666,10 @@ Fri Mar 20 11:25:41 1998  Nick Clifton  <nickc@cygnus.com>
 
        * coff-arm.c (coff_arm_relocate_section): Better error messages
        when interowrking conflucts occur.  Courtesy of Jonathan Walton
-       and Tony Thompson.  PR 15357.
+       and Tony Thompson.
        (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted
        relocations.  Patch courtesy of Jonathan Walton and Tony
-       Thompson.  PR 15373.
+       Thompson.
 
 Fri Mar 20 02:26:43 1998  Richard Henderson  <rth@cygnus.com>
 
@@ -534,7 +860,7 @@ Fri Feb  6 14:48:20 1998  Nick Clifton  <nickc@cygnus.com>
 
        * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain
        when merging v850 code into v850e/v850ea code.  Do not initialise
-       output flags if the input is the default architecture.  PR14732.
+       output flags if the input is the default architecture.
 end-sanitize-v850e
 Fri Feb  6 11:50:22 1998  Jeffrey A Law  (law@cygnus.com)
 
@@ -723,8 +1049,8 @@ Tue Jan 27 21:45:15 1998  Jeffrey A Law  (law@cygnus.com)
 
 Tue Jan 27 15:06:04 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * coff-arm.c (coff_arm_relocate_section): Fix for PR14752 by
-       preserving the contents of t2a3_b_insn.
+       * coff-arm.c (coff_arm_relocate_section): Preserve the contents of
+       t2a3_b_insn.
 
 Tue Jan 27 12:47:27 1998  Robert Lipe  <robertl@dgii.com>
 
@@ -840,7 +1166,7 @@ Wed Dec 17 09:45:09 1997  Nick Clifton  <nickc@cygnus.com>
        owner if there is one.
 
        * elf.c (assign_file_positions_for_segments): Fail if there is not
-       enough room for the program headers.  (PR14186)
+       enough room for the program headers.
 
 Tue Dec 16 08:09:56 1997  Gavin Koch  <gavin@cygnus.com>
 
@@ -980,13 +1306,13 @@ Tue Dec  9 11:37:53 1997  Andrew Cagney  <cagney@b1.cygnus.com>
 Fri Dec  5 11:13:46 1997  Nick Clifton  <nickc@cygnus.com>
 
        * elf32-v850.c (v850_elf_reloc, v850_elf_store_addend_in_insn,
-       v850_elf_relocate_section): Fix PR2 14180 and 14181
+       v850_elf_relocate_section): Fix reloc addend handling.
        (v850_elf_section_from_bfd_section, v850_elf_symbol_processing,
        v850_elf_add_symbol_hook, v850_elf_link_output_symbol_hook,
        v850_elf_section_from_shdr, v850_elf_fake_sections): New functions
-       (for PR14180) to create and handle special common sections.
+       to create and handle special common sections.
        (v850_elf_final_link_relocate): Fix HI16 and HI16_S relocations
-       which have data stored in the instructions.  PR14258.
+       which have data stored in the instructions.
 
 Tue Dec  2 10:26:16 1997  Nick Clifton  <nickc@cygnus.com>