* i386linux.c (NEEDS_SHRLIB): Define.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index c2291d767e572c5d2f66412ccf6425cde27909f0..1ad6111c66096eff235b2fa9e05f3f7ffdc3aa6e 100644 (file)
@@ -1,9 +1,486 @@
+Thu Feb  9 12:02:35 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * i386linux.c (NEEDS_SHRLIB): Define.
+       (linux_tally_symbols): Crash if a NEEDS_SHRLIB symbol is
+       undefined.  From hjl@nynexst.com (H.J. Lu).
+
+       * elfcode.h (elf_bfd_final_link): Add assertion to make sure that
+       dynamic and dynobj are in synch.
+
+Wed Feb  8 17:26:00 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * linker.c (generic_link_check_archive_element): Allocate common
+       symbol information structure.  Don't bother to check for common
+       symbol size overflow.
+       (_bfd_generic_link_add_one_symbol): Likewise.
+       * aoutx.h (aout_link_check_ar_symbols): Likewise.
+       * linker.c (generic_link_check_archive_element): Adjust references
+       to common symbol information for new structure.
+       (_bfd_generic_link_add_one_symbol): Likewise.
+       * aoutx.h (aout_link_check_ar_symbols): Likewise.
+       (aout_link_add_symbols): Likewise.
+       * ecoff.c (ecoff_link_add_externals): Likewise.
+       * elfcode.h (elf_link_add_object_symbols): Likewise.
+       (elf_link_output_extsym): Likewise.
+       * sunos.c (sunos_add_one_symbol): Likewise.
+
+Wed Feb  8 09:53:42 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * elfcode.h (elf_sort_hdrs): Put SHT_NOBITS sections after !SHT_NOBITS.
+
+Tue Feb  7 16:27:33 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_bfd_find_nearest_line): Just return false, don't
+       abort.
+
+Tue Feb  7 14:43:33 1995  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
+
+       * ecoff.c: Reformatted some comments and brace constructs in
+       recent changes to GNU style.
+       (cmp_fdrtab_entry, mk_fdrtab, lookup): Use old-style function
+       definitions.
+
+Tue Feb  7 14:21:28 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ecoffswap.h (ecoff_swap_pdr_in): Zero out intern before setting
+       any of the fields.
+
+Mon Feb  6 20:01:24 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       Sat Feb  4 14:20:24 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
+
+       * ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_out): added
+       internalizing/externalizing new "prof" field.
+
+       * libecoff.h (ecoff_tdata): added fdrtab.
+
+       * ecoff.c (_bfd_ecoff_find_nearest_line): Fixed.
+
+Mon Feb  6 14:25:24 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * libelf.h (struct elf_link_hash_table): Add saw_needed field.
+       * elfcode.h (elf_link_add_object_symbols): Set saw_needed if
+       DT_NEEDED seen in .dynamic section.
+       (elf_link_output_extsym): Warn if an undefined symbol is
+       only referenced from a dynamic object, and not making a shared
+       object, and saw_needed is false.
+       * elf.c (_bfd_elf_link_hash_table_init): Initialize saw_needed.
+
+       * libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Don't define.
+       * elfcode.h (elf_link_add_object_symbols): Don't clear or set
+       ELF_LINK_HASH_DEFINED_WEAK.
+       (elf_link_output_extsym): Don't check ELF_LINK_HASH_DEFINED_WEAK.
+
+       Distinguish a weak defined symbol from a regular defined symbol.
+       * linker.c (enum link_action): Add DEFW.
+       (link_action): Add bfd_link_hash_defweak column.
+       (_bfd_generic_link_add_one_symbol): Add DEFW case.  Handle
+       bfd_link_hash_defweak in a few other cases.
+       * Many files (bfd_link_hash_undefweak): Renamed from
+       bfd_link_hash_weak.
+       * aoutx.h (aout_link_write_symbols): Handle bfd_link_hash_defweak.
+       (aout_link_write_other_symbol): Likewise.
+       (aout_link_input_section_std): Likewise.
+       (aout_link_input_section_ext): Likewise.
+       * bout.c (get_value): Likewise.
+       * coff-a29k.c (coff_a29k_relocate_section): Likewise.
+       * coff-alpha.c (alpha_convert_external_reloc): Likewise.
+       (alpha_relocate_section): Likewise.
+       * coff-mips.c (mips_relocate_section): Likewise.
+       (mips_relax_section): Likewise.
+       (bfd_mips_ecoff_create_embedded_relocs): Likewise.
+       * cofflink.c (coff_write_global_sym): Likewise.
+       (_bfd_coff_generic_relocate_section): Likewise.
+       * ecoff.c (ecoff_link_add_externals): Likewise.
+       (ecoff_link_write_external): LIkewise.
+       * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+       (elf32_hppa_size_stubs): Likewise.
+       * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
+       (elf_i386_relocate_section): Likewise.
+       (elf_i386_finish_dynamic_symbol): Likewise.
+       * elf32-mips.c (mips_elf_output_extsym): Likewise.
+       (mips_elf_relocate_section): Likewise.
+       * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
+       (elf32_sparc_relocate_section): Likewise.
+       * elfcode.h (elf_link_add_object_symbols): Likewise.
+       (elf_adjust_dynamic_symbol): Likewise.
+       (elf_bfd_final_link): Likewise.
+       (elf_link_output_extsym): Likewise.
+       * i386linux.c (linux_add_one_symbol): Likewise.
+       (linux_tally_symbols): Likewise.
+       (linux_finish_dynamic_link): Likewise.
+       * linker.c (_bfd_generic_link_output_symbols): Likewise.
+       (set_symbol_from_hash): Likewise.
+       * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
+       (bfd_perform_slip): Likewise.
+       * sunos.c (sunos_add_one_symbol): Likewise.
+       (sunos_scan_std_relocs): Likewise.
+       (sunos_scan_ext_relocs): Likewise.
+       (sunos_scan_dynamic_symbol): Likewise.
+       (sunos_write_dynamic_symbol): Likewise.
+
+Mon Feb  6 03:20:17 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       Changes from Bryan Ford, baford@schirf.cs.utah.edu:
+       * config.bfd (i[345]86-*-msdos*): New target.
+       * configure.in (i386msdos_vec): Handle it.
+       * i386msdos.c: New file.
+       * config/i386-msdos.mt: New file.
+       * bfd.c (enum bfd_error): Added new value bfd_error_file_too_big.
+       (bfd_errmsgs): Added string to table.
+       * libaout.h (reloc_type-lookup): Declare it.
+       * targets.c (enum bfd_flavour): Added bfd_target_msdos_flavour.
+       (i386msdos_vec): Declare.
+       (bfd_target_vector): Add it to the list.
+       * bfd-in2.h: Regenerated.
+
+Wed Feb  1 01:32:14 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_set_reloc_info, case R_DATA_ONE_SYMBOL): If there's
+       nothing in R_DATA_OVERRIDE, then try to find the addend in the
+       section's contents.
+
+       * som.c (som_object_setup): More heruistics to detect the
+       braindamaged HP OSF1 linker. 
+       (setup_sections): Don't forget to free subspace_sections if we get
+       an error.
+       (som_slurp_string_table): Allocate strings on this bfd's obstack
+       rather than directly out of the heap.
+       (som_slurp_symbol_table): Likewise for the saved copy of the
+       canonical symbols.
+       (som_slurp_reloc_table): Likewise for the saved copy of the
+       canonical relocations.  Free the native relocations when we're
+       done with them.
+
+Tue Jan 31 21:53:28 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * libelf.h (struct elf_obj_tdata): New member program_header_size.
+       * elfcode.h (get_program_header_size): New parameters sorted_hdrs,
+       count, and maxpagesize.  All callers updated.
+       If sorted_hdrs is non-NULL, use it to compute the number of segments.
+       Save result in case called again.
+       (assign_file_positions_except_relocs): Sort headers before calling
+       get_program_header_size.
+
+Tue Jan 31 15:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elfcode.h (map_program_segments): Add sorted_hdrs parameter.
+       Search through it rather than through unsorted section headers.
+       (assign_file_positions_except_relocs): Pass sorted_hdrs to
+       map_program_segments.
+
+Mon Jan 30 22:04:53 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * ecoff.c (_bfd_ecoff_find_nearest_line): Fix problems in range
+       checking.  Expect argument OFFSET to be section-relative.  From
+       David Mosberger-Tang, davidm@piston.cs.arizona.edu.
+
+Mon Jan 30 11:22:11 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elfcode.h (NAME(bfd_elf,record_link_assignment)): Don't do
+       anything if we are not linking an ELF file.
+       (NAME(bfd_elf,size_dynamic_sections)): Likewise.
+
+Sat Jan 28 12:48:57 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (compare_subspaces): New function to sort subspaces by
+       their location in the object file.
+       (setup_sections): When computing the index for each subspace,
+       handle case where setup_sections reads the subspaces in a
+       different order that they appear in the object file.
+       (som_is_space): Also examine the output section for the containing
+       section.
+       (som_is_subspace, som_is_container): Likewise.
+       (som_begin_writing): Don't prepare or write fixups here.  When
+       writing the symbol strings, use the unsorted symbol table.
+       (som_write_object_contents): Don't write the symbol table here.
+       (som_finish_writing): Prepare and write the fixups here.  Likewise
+       for the symbol table.
+       (som_bfd_derive_misc_symbol_info): Undefined symbols always have
+       type SS_UNSAT regardless of BSF_EXPORT.
+       (som_set_reloc_info): Unpack and attach argument location
+       information for R_PCREL_CALL and R_ABS_CALL relocations.
+
+       * som.c (som_object_setup): New heuristic to determine if the
+       entry and flags fields are switched in the exec header.
+
+Sat Jan 28 00:16:01 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elfcode.h (elf_link_add_object_symbols): Use *sym_hash instead
+       of h if we might not be doing an ELF link.
+
+Fri Jan 27 16:13:42 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-mips.c (mips_elf_final_link): If the size of an input
+       .reginfo section is zero, force it to the correct size, since the
+       linker emulation code may have clobbered it.
+
+       * elfcode.h (elf_sort_hdrs): Correct SHF_ALLOC test.
+       (assign_file_positions_except_relocs): Free sorted_hdrs.
+
+Thu Jan 26 09:00:12 1995  Steve Chamberlain  <sac@splat>
+
+       * srec.c (srec_set_section_contents): Fix off by
+       one end address calculation.
+
+       * config.bfd: (m68*-est-coff): New configuration.
+
+Thu Jan 26 11:39:21 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elfcode.h (elf_link_add_object_symbols): Only examine weakdef if
+       we are using an ELF hash table.
+
+       * aoutx.h (NAME(aout,some_aout_object_p)): Always set EXEC_P if
+       the start address is in the .text section, even if STAT_FOR_EXEC
+       is set.  Just use STAT_FOR_EXEC as an additional test.
+
+Thu Jan 26 11:12:54 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * elfcode.h (prep_headers): Use EM_PPC instead of
+       EM_CYGNUS_POWERPC.
+
+       * elf32-ppc.c (reloc_type): Add all System V.4 and eABI
+       relocations currently defined.
+       (powerpc_reloc_map): Adjust to new relocation names.
+       (elf_powerpc_howto_table): Add most of the new relocations.
+       (ELF_MACHINE_CODE): Use EM_PPC instead of EM_CYGNUS_POWERPC.
+
+       * config.bfd: Add support for powerpc-*-eabi.
+
+       * config/ppc-elf.mt: Add rs6000 architecture support to the
+       PowerPC.  Also add XCOFF support.
+
+Wed Jan 25 23:26:13 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-sh.c (CALC_ADDEND): Don't define.
+       (coff_sh_relocate_section): Remove.
+       (coff_relocate_section): Use _bfd_coff_generic_relocate_section.
+
+Tue Jan 24 14:22:47 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * elf32-mips.c (mips_elf_output_extsym): Set the value of the
+       ECOFF symbol from the hash table entry.
+
+Mon Jan 23 14:53:35 1995  Steve Chamberlain  <sac@splat>
+
+       * coff-sh.c (coff_sh_relocate_section):  Don't subtract
+       vma twice.
+
+Mon Jan 23 13:33:18 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * coff-sh.c (sh_reloc): Don't ignore the previous contents of an
+       R_SH_IMM32 reloc.
+
+       * config.bfd (i[345]86-*-gnu*): Set bfd_name to i386-gnu.
+       * config/i386-gnu.mt: New file.  Include ELF support.
+
+       * opncls.c (bfd_openstreamr): Call bfd_cache_init.
+
+Fri Jan 20 11:44:45 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * sunos.c (sunos_add_one_symbol): Only set the sunos specific
+       fields if we are doing a sunos link.
+
+Wed Jan 18 12:28:17 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * cpu-h8300.c (h8300_info_struct): Change name from "H8/300" to
+       "h8300" for consistency with other cpu-* files.
+       (h8300h_info_struct): Change name from "H8/300H" to "h8300h".
+       * coff-h8300.c (special): Remove unused variable diff.
+
+Tue Jan 17 10:52:32 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * bfd-in.h (bfd_byte, reloc_howto_type): Define here, not...
+       * reloc.c (bfd_byte, reloc_howto_type): here.
+       * Changed all occurrences of ``const struct reloc_howto_struct''
+       to be ``reloc_howto_type'' instead.
+       * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
+
+       * opncls.c (bfd_openstreamr): New function.
+       * bfd-in2.h: Rebuilt.
+
+       * elf32-mips.c (enum reloc_type): Define new relocs used on Irix.
+       (elf_mips_howto_table): Add entries for new relocs.
+       (mips_elf_section_from_shdr): Handle SHT_MIPS_MSYM,
+       SHT_MIPS_DWARF, and SHT_MIPS_EVENTS.
+       (mips_elf_fake_sections): Handle sections named .msym, .debug_*
+       and .MIPS.events.*.
+
+       * srec.c (srec_init): Remove unused local variable i.
+
+Sat Jan 14 19:09:48 1995  Steve Chamberlain  <sac@jonny>
+
+       * archures.c, Makefile.in, targets.c, bfd-in2.h, coffcode.h,
+       config.bfd, configure.in, config/w65.mt: Initial support for the W65.
+
+Sun Jan 15 13:57:45 1995  Steve Chamberlain  <sac@splat>
+
+       * opncls.c (bfd_fdopenr): Configure for WIN32.
+
+Thu Jan 12 16:30:47 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * Makefile.in (diststuff): Include `headers'.
+
+       * sunos.c (m68k_plt_first_entry, sparc_plt_first_entry): Now
+       const.
+       * tekhex.c (digs): Ditto.
+       * elf32-i386.c (elf_i386_plt0_entry, elf_i386_plt_entry): Ditto.
+
+       * srec.c, tekhex.c: Include libiberty.h.  Delete static array
+       hex_value and replace references to it with references to
+       hex_init, hex_p, and hex_value.
+       * Makefile.in: Updated dependencies.
+
+       * archures.c (archures_init_table): Now const.
+       (bfd_arch_init): Adjusted type of local var `ptable'.
+start-sanitize-rce
+
+       * Makefile.in (ALL_MACHINES): Include cpu-rce.o.
+       (BFD32_BACKENDS): Include aout-rce.o.
+end-sanitize-rce
+start-sanitize-arc
+
+       * Makefile.in (ALL_MACHINES): Include cpu-arc.o.
+       (BFD32_BACKENDS): Include elf32-arc.o.
+end-sanitize-arc
+
+Thu Jan 12 09:33:24 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * hosts/symmetry.h:  Redefine `shared' to enable compilation
+       with the native Dynix cc compiler.
+       * i386dynix.c:  Include aoutx.h instead of using routines
+       from aout32.c.
+
+Wed Jan 11 21:31:41 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * reloc.c (reloc_howto_type): Make typedef include `const'.
+       * aout-ns32k.c, aoutx.h, bout.c, cf-m68klynx.c, coff-i386.c,
+       coff-i960.c, coff-m68k.c, cofflink.c, cpu-ns32k.c, ecoff.c,
+       elf32-hppa.c, elf32-i386.c, elf32-mips.c, elf32-sparc.c,
+       elfcode.h, libbfd-in.h, linker.c, mipsbsd.c, nlm32-ppc.c, oasys.c,
+       reloc.c, som.c: Don't use `const' in combination with
+       `reloc_howto_type'.
+start-sanitize-arc
+       * elf32-arc.c: Ditto.
+end-sanitize-arc
+       * bfd-in2.h, libbfd.h: Regenerated.
+
+       * ecoff.c (ecoff_type_to_string): Local variable `buffer1' doesn't
+       need to be static.
+
+Wed Jan 11 14:36:41 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * sunos.c (sunos_add_one_symbol): Don't core dump if a multiple
+       definition of an absolute symbol is encountered.
+
+       * linker.c (_bfd_generic_link_add_one_symbol): Ignore
+       redefinitions of an absolute symbol to the same value.
+
+Mon Jan  9 15:51:32 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * elfcode.h (elf_link_add_object_symbols): It's reasonable for no
+       flags to be set, so don't insist otherwise.
+
+Fri Jan  6 16:39:40 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * elfcode.h (elf_slurp_symbol_table): Don't set BSF_GLOBAL for an
+       undefined or common symbol.
+       (elf_link_add_object_symbols): Likewise.
+
+Wed Jan  4 14:14:05 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (bfd_section_from_som_symbol): Only return sections which
+       correspond to subspaces.
+
+       * som.c (som_begin_writing): Don't forget to bump the
+       total_subspaces when writing the unloadable subspaces.
+
+Wed Dec 28 20:54:47 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (som_write_fixups): Use SEC_HAS_CONTENTS to identify
+       bss-like sections.
+       (som_get_section_contents): Likewise.
+       (som_set_section_contents): Likewise.
+
+Tue Dec 27 14:03:47 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (setup_sections): Turn off SEC_HAS_CONTENTS for bss-like
+       sections.
+
+Tue Dec 20 15:30:12 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+       * coffgen.c (bfd_debug_section): Deleted.
+       (coff_section_from_bfd_index): Return absolute section for debug
+       symbol.
+       (coff_write_symbol): Set BSF_DEBUGGING for C_FILE symbols.  If
+       BSF_DEBUGGING is set, set section to N_DEBUG.
+       (coff_bfd_make_debug_symbol): Use absolute section.
+
+       * elfcode.h (assign_file_positions_except_relocs): In assertion,
+       force all values to the same type.
+
+Tue Dec 20 11:11:58 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
+
+       * coff-h8300.c (howto_table): All relocs get a special function.
+       (special): Never do anything when linking -r.
+
+Tue Dec 20 13:58:01 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * i386linux.c (linux_add_one_symbol): Don't do anything Linux
+       specific if this is not a Linux hash table.  From Eric Youngdale
+       <eric@aib.com>.
+
+       Patches from kkojima@mix.or.jp (Kazumoto Kojima):
+       * mipsbsd.c (mips_howto_table_ext): Change sizes of memory relocs
+       apply to from two bytes to four bytes.
+       * MY(reloc_howto_type_lookup): Handle BFD_RELOC_CTOR.
+
+       * elf32-i386.c (elf_i386_relocate_section): Correct and expand the
+       list of cases for which relocation need not be computed.
+       * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+
+start-sanitize-arc
+Tue Dec 20 09:01:01 1994  Doug Evans  <dje@canuck.cygnus.com>
+
+       * elf32-arc.c (elf_arc_howto_table, R_ARC_B22_PCREL): Value is
+       right-shifted 2 bits.  Fix dst_mask.
+end-sanitize-arc
+
+Mon Dec 19 23:09:16 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * elf32-hppa.c (elf32_hppa_read_symext_info): Delete do_locals and
+       do_globals arguments, always read symbol extension information for
+       globals and locals.  All callers changed.
+       (elf32_hppa_size_stubs): Rework to only read symbol extension
+       information once for each input bfd.  10% improvement in linker
+       performance.
+
+Fri Dec 16 12:28:46 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * elfcode.h (elf_section_from_bfd_section): Check
+       bfd_is_abs_section, etc., only after checking for the section in
+       the BFD and after calling the backend routine.
+
+Wed Dec 14 20:21:58 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * elfcode.h (elf_map_symbols): Only use section symbols whose
+       value is the start of the section, checking output_offset when
+       using output_section.  When creating a new symbol, set the value
+       to 0, since BFD symbol values are section relative.
+
+Tue Dec 13 13:31:06 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * cpu-z8k.c (arch_info_struct): Make z8002 the default
+       architecture.
+
 Fri Dec  9 12:43:05 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
 
        * elfcode.h (elf_bfd_link_add_symbols): If the first object in the
        archive is not an ELF object, pass the archive to the add_symbols
        entry point appropriate for the first object.  From Eric Youngdale
        <eric@aib.com>.
+       * aoutx.h (NAME(aout,link_add_symbols)): Similar change if the
+       first object is not an a.out object.
 
        * elf32-i386.c (elf_i386_relocate_section): Don't compute
        relocation in cases where we won't use it.
This page took 0.027024 seconds and 4 git commands to generate.