* som.c (som_slurp_symbol_table): Set the symbol count to the
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 9d63a46be2050480a31b8e5474f7381de607f6af..f1c67f6f2d047e7795e875bdbf7f5a1ef158e390 100644 (file)
@@ -1,5 +1,372 @@
+Fri Apr 26 18:00:37 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * som.c (som_slurp_symbol_table): Set the symbol count to the
+       number of BFD symbols created.
+
+Fri Apr 26 12:34:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the
+       output file if linking shared objects.  Loop to check all relocs,
+       rather than returning false on first error.
+
+Thu Apr 25 13:25:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case.
+       (ppc_elf_additional_program_headers): If .interp section, bump #
+       of program headers by 1.
+       (ppc_elf_adjust_dynamic_symbol): Flesh out support.
+       (ppc_elf_size_dynamic_sections): Add support for .plt section.
+       (ppc_elf_check_relocs): Print out filename in debug code.  Enable
+       PLT support.
+       (ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up
+       debug output.
+       (ppc_elf_relocate_section): If the output section isn't defined,
+       don't abort, just give an error message.
+
+       * elflink.c (_bfd_elf_create_dynamic_sections): If the section
+       being created is .sdata or .sdata2, don't make the symbol dynamic.
+
+Wed Apr 24 14:04:07 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
+       members of an archive for dynamic objects with no symbols, and
+       pass them directly to check_archive_element.
+       (xcoff_link_check_ar_symbols): Pass dynamic objects to
+       xcoff_link_check_dynamic_ar_symbols.
+       (xcoff_link_check_dynamic_ar_symbols): New static function.
+
+       * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
+       from _bfd_nodynamic to _bfd_xcoff.
+       * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
+       Declare.
+       (_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
+       (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
+       (_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
+       * libcoff.h: Rebuild.
+       * xcofflink.c (xcoff_swap_ldrel_in): New static function.
+       (xcoff_get_section_contents): New static function.
+       (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
+       (_bfd_xcoff_canonicalize_dynamic_symtab): New function.
+       (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
+       (xcoff_dynamic_reloc): New static variable.
+       (_bfd_xcoff_canonicalize_dynamic_reloc): New function.
+       (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
+       
+Tue Apr 23 12:48:42 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even
+       if reloc_entry->addend is not 0.
+       (CALC_ADDEND): Just set the addend to reloc.r_offset.
+
+Mon Apr 22 18:29:01 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+       * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of
+       R_SPARC_GLOB_JMP.
+       * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
+       Add entries for R_SPARC_[56].
+       (sparc_reloc_map): Add entries for R_SPARC_[56].
+
+Mon Apr 22 15:07:24 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       Optimize linking of stabs in sections as used in ELF and COFF.
+       * stabs.c: New file.
+       * libbfd-in.h (_bfd_link_section_stabs): Declare.
+       (_bfd_write_section_stabs): Declare.
+       (_bfd_write_stab_strings): Declare.
+       * libbfd.h: Rebuild.
+       * libcoff-in.h (struct coff_section_tdata): Add stab_info field.
+       (struct coff_link_hash_table): Add stab_info field.
+       * libcoff.h: Rebuild.
+       * cofflink.c (_bfd_coff_link_hash_table_init): Initialize
+       stab_info field.
+       (coff_link_add_symbols): Call _bfd_link_section_stabs if
+       appropriate.
+       (_bfd_coff_final_link): Write out stab strings hash table.
+       (_bfd_coff_link_input_bfd): Handle optimized stabs sections.
+       * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings
+       hash table.
+       * elf-bfd.h (struct elf_link_hash_table): Add stab_info field.
+       (struct bfd_elf_section_data): Add stab_info field.
+       * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info
+       field.
+       * elflink.h (elf_link_add_object_symbols): If appropriate, call
+       _bfd_link_section_stabs.
+       (elf_bfd_final_link): Write out stab strings hash table.
+       (elf_link_input_bfd): Handle optimized stabs sections.
+       * reloc.c (_bfd_final_link_relocate): Check address against
+       _raw_size rather than _cooked_size.
+       * Makefile.in: Rebuild dependencies.
+       (BFD_LIBS): Add stabs.o
+       (BFD_LIBS_CFILES): Add stabs.c.
+
+       * VERSION: Increment for bfdlink.h change.
+
+       * coffgen.c (coff_renumber_symbols): Correct handling of
+       BSF_NOT_AT_END common symbols.
+
+Fri Apr 19 19:21:56 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-ppc.c (record_toc): Add cast to avoid warning.
+       (ppc_allocate_toc_section): Likewise.
+       (coff_ppc_relocate_section): Remove ANSI C string concatenation.
+       (ppc_coff_reloc_type_lookup): Remove unreached code.
+       * coffcode.h (coff_write_object_contents): Don't take the address
+       of an array.
+       * peicode.h (pe_print_idata): Add casts to avoid warning.
+       (pe_print_edata): Likewise.
+       (pe_print_reloc): Remove ANSI C string concatenation.
+
+Thu Apr 18 18:51:18 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * libcoff-in.h (struct coff_final_link_info): Add last_bf_index
+       and last_bf fields.
+       * libcoff.h: Rebuild.
+       * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
+       symbols.
+       (coff_swap_aux_out): Likewise.
+       * peicode.h (coff_swap_aux_in): Likewise.
+       (coff_swap_aux_out): Likewise.
+       * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
+       symbols.
+       * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
+       field.
+       (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
+       Fix up .bf endndx link fields.
+       * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
+       field.
+       * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
+       symbols.
+
+Wed Apr 17 12:08:24 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling
+       on Solaris PowerPC systems doesn't get confused.
+
+       * ccffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not
+       #ifdef PPC.
+
+       * elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument.
+       (elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't
+       update did_reg and did_reg2.
+
+Wed Apr 17 13:07:37 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
+
+       * linker.c (_bfd_generic_link_add_one_symbol): When calling the
+       callback routines, pass h->root.string rather than name, in case
+       copy is true and name is transient.
+
+Tue Apr 16 16:36:38 1996  Stu Grossman  (grossman@lisa.cygnus.com)
+
+       * elfcore.h:  Add support for core files with multiple threads.
+       (Primarily for Solaris.)
+
+Tue Apr 16 13:44:08 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
+       section->orelocation is NULL.
+
+       * coffgen.c (bfd_coff_get_syment): New function.
+       (bfd_coff_get_auxent): New function.
+       * bfd-in.h (bfd_coff_get_syment): Declare.
+       (bfd_coff_get_auxent): Declare.
+       * bfd-in2.h: Rebuild.
+
+Mon Apr 15 19:06:59 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-mips.c (struct mips_hi16): Define.
+       (mips_hi16_addr, mips_hi16_addend): Remove.
+       (mips_hi16_list): New static variable.
+       (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
+       (mips_elf_lo16_reloc): Process mips_hi16_list.
+       (mips_elf_relocate_section): Permit an arbitrary number of HI16
+       relocs before the associated LO16 reloc.
+
+Wed Apr 10 00:23:53 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * versados.c (versados_scan): Check bfd_alloc return value.
+       (versados_object_p): Check all bfd_read return values.  Require
+       that lang field be less than 10, to avoid confusion with Intel Hex
+       files.
+
+       * libaout.h (WRITE_HEADERS): Write out the relocs even if there
+       aren't any symbols.
+       * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
+       not 0, for an absolute symbol.
+       (NAME(aout,swap_ext_reloc_out)): Likewise.
+
+       * ihex.c (ihex_scan): Accept a length of 4 for record type 5.
+       (ihex_write_object_contents): For a large start address, output
+       the full 32 bit address in record type 5.
+
+       * ieee.c (ieee_write_byte): Change second parameter from bfd_byte
+       to int to avoid promotion problems in prototype.
+
+Tue Apr  9 11:44:21 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.host: Use ${srcdir} when looking for picfrag.
+
+       * configure.host: Switch on ${libdir}, not $(libdir).  From
+       alan@spri.levels.unisa.edu.au (Alan Modra).
+
+       * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
+       entry point, not just for DYNAMIC objects.
+       * sunos.c (sunos_add_dynamic_symbols): Always call
+       sunos_create_dynamic_sections.  If called with a non DYNAMIC
+       object, don't do anything else.
+       (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
+
+Mon Apr  8 12:09:36 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Permit --enable-shared to specify a list of
+       directories.
+       * configure: Rebuild.
+
+       * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
+       host when configuring with --enable-shard.
+
+Fri Apr  5 12:24:13 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra
+       <jdp@polstra.com>.
+
+       * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
+       to avoid crashing in bfd_hash_replace.
+
+       * sysdep.h: Use #ifdef, not #if.
+
+Thu Apr  4 23:32:23 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config.in: Rebuild.
+
+Thu Apr  4 18:49:09 1996  Fred Fish  <fnf@cygnus.com>
+
+       * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE.
+       (AC_CHECK_HEADERS): Check for sys/time.h
+       (AC_HEADER_TIME): Add macro.
+       * configure: Rebuild.
+       * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
+       to control what combination of <time> and <sys/time.h>
+       get included.
+       
+Tue Apr  2 13:11:53 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+       * aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
+       (aout_32_sunos4_write_object_contents): Likewise.
+       * aoutx.h (NAME(aout,machine_type)): Handle
+       bfd_mach_sparc_{sparclet,sparclite}.
+       * archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
+       (bfd_mach_sparc_v9_p): Update.
+       * cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
+       * libaout.h (enum machine_type): Add M_SPARCLET.
+       * sunos.c (MACHTYPE_OK): Define.
+       * bfd-in2.h: Regenerated.
+
+Tue Apr  2 00:33:18 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf-bfd.h (struct elf_link_hash_table): Add hgot field.
+       * elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
+       * elflink.c (_bfd_elf_create_got_section): Store the
+       _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
+       * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
+       global offset table goes over 0x1000, set the value of
+       _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
+       (elf32_sparc_relocate_section): Subtract the offset of
+       _GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
+
+       * elfcode.h: Don't include <string.h>.
+
+Mon Apr  1 10:39:24 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * linker.c (_bfd_generic_link_hash_newfunc): Renamed from
+       generic_link_hash_newfunc.  All references changed.
+       * genlink.h (_bfd_generic_link_hash_newfunc): Declaration
+       moved here from libbfd-in.h.
+       * libbfd-in.h: Corresponding changes.
+       * libbfd.h: Regenerated.
+
+Mon Apr  1 12:35:36 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutx.h (aout_link_input_section_std): When reporting an
+       overflow error, use the name of the symbol in the hash table if
+       available.
+       (aout_link_input_section_ext): Likewise.
+
+       * elflink.h (elf_adjust_dynamic_symbol): If a common symbol got
+       defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR.
+
+Sun Mar 31 01:58:41 1996  steve chamberlain  <sac@slash.cygnus.com>
+
+       * peicode.h (coff_swap_aouthdr_out): Delete test for .junk.
+       * coffcode.h (coff_compute_section_file_positions): Likewise.
+       (coff_write_object_contents): Likewise.
+       
+Fri Mar 29 12:44:36 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * section.c (SEC_LINK_ONCE): Define.
+       (SEC_LINK_DUPLICATES): Define.
+       (SEC_LINK_DUPLICATES_DISCARD): Define.
+       (SEC_LINK_DUPLICATES_ONE_ONLY): Define.
+       (SEC_LINK_DUPLICATES_SAME_SIZE): Define.
+       (SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
+       * bfd-in2.h: Rebuild.
+       * coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
+       SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
+       (styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
+       into SEC_EXCLUDE.  If IMAGE_SCN_LNK_COMDAT is set, set
+       SEC_LINK_ONCE, and look through the symbol table for the setting
+       for SEC_LINK_DUPLICATES.
+       (coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
+       set for a section, find the section symbol in the symbol table,
+       and set the aux entry based on SEC_LINK_DUPLICATES.
+       * coffgen.c (coff_print_symbol): Add a space before "checksum".
+       * coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
+       SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
+       * coff-i386.c (i386coff_vec): Likewise.
+       * coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
+
+       * VERSION: Bump to 2.6.1.
+       * Makefile.in (stamp-h): Depend upon VERSION.
+
+Thu Mar 28 23:48:49 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * libbfd-in.h (generic_link_hash_newfunc): Add declaration.
+       * libbfd.h: Rebuilt.
+       * linker.c (generic_link_hash_newfunc): No longer static.
+       * coffcode.h (coff_bfd_link_hash_create): Allow specific targets
+       to override.
+       * coff-h8300.c: Add two derived hash tables and their associated
+       funtions and #defines for use by the h8300 linker.
+       (h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
+       the function vector as needed.  Place the address of the function
+       vector entry in the location specified by the R_MEM_INDIRECT reloc.
+       Rewrite the vectors section contents as necessary.
+       (h8300_bfd_link_add_symbols): New function for the h8300 linker. 
+       (coff_bfd_link_add_symbols): Define to use h8300 specific version.
+       (coff_bfd_link_hash_table_create): Likewise.
+
+Thu Mar 28 17:44:08 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * libhppa.h: If gcc 2.7 or higher, declare all the functions with
+       __attribute__ ((__unused__)) so that -Wall doesn't warn about
+       them.
+       (hppa_rebuild_insn): Pass pointer to correct type to
+       low_sign_unext and dis_assemble_21.
+
+Thu Mar 28 11:00:36 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+       * config.bfd (sparc64-{sysv4*,solaris2*}): Delete.
+       Stick with sparc-*-{sysv4*,solaris2*}.
+
 Wed Mar 27 10:43:34 1996  Ian Lance Taylor  <ian@cygnus.com>
 
+       * peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields.
+       (coff_swap_aux_out): Swap out extra PE x_scn fields.
+       * coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
+       * coffgen.c (coff_print_symbol): If any of the extra PE x_scn
+       fields is non-zero, print them.
+
        * coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE
        ifdef.  Remove unused variables.
        (ppc_record_data_in_toc_entry): Ifdef out.  Removed unused
@@ -33,10 +400,6 @@ Wed Mar 27 10:43:34 1996  Ian Lance Taylor  <ian@cygnus.com>
        (ppc_elf_finish_dynamic_symbol): Move definition of unused
        variable rela inside #if 0 section where it is used.
 
-       * libhppa.h: Define HINLINE rather than INLINE.  Define it to
-       extern inline if using gcc and to static INLINE otherwise.  Change
-       all functions from static INLINE to HINLINE.
-
        * ns32k.h: New file.
        * cpu-ns32k.h: Include ns32k.h.  Rename externally visible
        functions to start with _bfd_.
This page took 0.025804 seconds and 4 git commands to generate.