Fri Sep 15 10:24:36 1995  Ian Lance Taylor  <ian@cygnus.com>

	Make the COFF backend linker merge common types:
	* cofflink.c (struct coff_debug_merge_element): Define.
	(struct coff_debug_merge_type): Define.
	(struct coff_debug_merge_hash_entry): Define.
	(struct coff_debug_merge_hash_table): Define.
	(coff_debug_merge_hash_table_init): Define.
	(coff_debug_merge_hash_table_free): Define.
	(coff_debug_merge_hash_lookup): Define.
	(struct coff_final_link_info): Add debug_merge field.
	(coff_debug_merge_hash_newfunc): New static function.
	(_bfd_coff_final_link): Allocate and free debug_merge table.
	(coff_link_input_bfd): Merge identical enum, struct and union
	types.

Thu Sep 14 14:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>

	Convert i960 COFF to use COFF backend linker.
	* coff-i960.c (coff_i960_relocate): Use a coff_section_data
	structure to store the symbol being used.
	(coff_i960_start_final_link): New static function.
	(coff_i960_relocate_section): New static function.
	(coff_i960_adjust_symndx): New static function.
	(coff_start_final_link): Define.
	(coff_relocate_section): Define.
	(coff_adjust_symndx): Define.
	* coffcode.h (bfd_coff_backend_data): Add new callback function
	_bfd_coff_start_final_link.
	(bfd_coff_start_final_link): Define.
	(coff_start_final_link): Define if not defined.
	(bfd_coff_std_swap_table): Add coff_start_final_link.
	* cofflink.c (_bfd_coff_internal_syment_name): Make globally
	visible.
	(_bfd_coff_final_link): Call bfd_coff_start_final_link if the
	function callback is not NULL.
	* libcoff-in.h (struct coff_section_tdata): Add tdata field.
	(_bfd_coff_internal_syment_name): Declare.
	* libcoff.h: Rebuild.
	* configure.in (icoff_big_vec): Add cofflink.o.
	(icoff_little_vec): Likewise.
	* configure: Rebuild.

Wed Sep 13 17:38:23 1995  Fred Fish  <fnf@rtl.cygnus.com>

	* Makefile.in (clean-info): Remove extraneous tab from line
	following action.

Wed Sep 13 13:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>

	* cofflink.c (coff_link_input_bfd): Fail if a section with no
	contents has relocs.

Thu Sep 12 12:45:34 1995  steve chamberlain  <sac@slash.cygnus.com>

	* coffcode.h (coff_compute_section_file_positions): Keep the
	raw size safe. 
	(coff_write_object_contents): Remember if it's a relocatable
	file.
	* libcoff-in.h (pe_data_type): New member 'has_reloc_section'
	* peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
	if relocatable file. Swap out saved raw size.

Tue Sep 12 12:14:33 1995  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (do_maintainer_clean): Rename from do_realclean.
	(maintainer-clean): Rename from realclean, passing
	maintainer-clean down to subdirectories, but leave realclean as a
	synonym.

	* linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
	warning callback.

	* dep-in.sed: Remove config.h from generated dependencies.

	* sunos.c (sunos_slurp_dynamic_symtab): New static function,
	broken out of sunos_canonicalize_dynamic_symtab.
	(sunos_canonicalize_dynamic_symtab): Call new function
	sunos_slurp_dynamic_symtab.
	(sunos_add_dynamic_symbols): Add three new parameters.  Return the
	dynamic symbol table to the caller.
	* aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
	callback to override the symbols being read.
	* libaout.h (struct aout_backend_data): Add three new parameters
	to add_dynamic_symbols callback.

	Extensive minor changes to avoid various gcc warnings.  Also:
	* Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
	* archures.c (bfd_arch_info_type): Change mach field from long to
	unsigned long.
	(bfd_lookup_arch): Change machine parameter from long to unsigned
	long.

Mon Sep 11 10:55:47 1995  Ian Lance Taylor  <ian@cygnus.com>

	* sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
	a symbol with a non-zero plt_offset.

Fri Sep  8 11:47:24 1995  Ian Lance Taylor  <ian@cygnus.com>

	* elfcode.h (align_file_position): Remove; not used.

	* configure.in: Only check for <sys/procfs.h> on a native system,
	and make sure it defines prstatus_t.
	* configure: Rebuild.

Thu Sep  7 12:48:01 1995  Ian Lance Taylor  <ian@cygnus.com>

	* sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.

	* config.in: Rename from config.h.in.
	* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
	Check for config.h:config.in when creating stamp-h.
	* configure: Rebuild.
	* Makefile.in (stamp-h): Depend upon config.in rather than
	config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
	calling config.status.

	* Makefile.in (do_distclean): Remove config.h and stamp-h.
	(Makefile): Just rebuild Makefile.
	(config.h, stamp-h): New targets.
	* configure.in: Create stamp-h when rebuilding config.h.
	* configure: Rebuild.

Wed Sep  6 15:00:33 1995  Ian Lance Taylor  <ian@cygnus.com>

	* configure.in: Call AC_CONFIG_HEADER.  Substitute
	HOST_64BIT_LONG.  Check that various header files exist.  Check
	that fcntl exists.  Call BFD_BINARY_FOPEN.  Check whether malloc
	and/or free need to be declared.  Don't make a link to sysdep.h.
	Define TRAD_HEADER for various hosts.
	* configure: Rebuild.
	* configure.host: Don't set my_host.  Add definitions taken from
	host header files for various entries.  Remove entries which now
	do nothing.
	* acconfig.h: New file.
	* config.h.in: New file, built by autoheader.
	* sysdep.h: New file.
	* Makefile.in (do_distclean): Don't remove sysdep.h.
	(RECONFIG): Remove.
	(LOCAL_H_DEPS): New variable.
	($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
	$(RECONFIG).
	($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
	($(OPTIONAL_BACKENDS)): Likewise.
	(stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
	looking through sysdep.h.
	* bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
	(BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
	(fprintf_vma, sprintf_vma): Likewise.
	(int64_type, uint64_type): Don't define.
	* bfd-in2.h: Rebuild.
	* archures.c, bfd.c, srec.c: Include <ctype.h>.
	* elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
	* lynx-core.c: Include stuff from old hosts/lynx.h.
	* opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
	rather than NO_FCNTL.
	* targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
	rather than NATIVE_HPPAHPUX_COMPILER.
	* trad-core.c: Don't include <errno.h>.  Include TRAD_HEADER if it
	is defined.
	* hosts/*.h: Remove all header files which merely include,
	declare, and define things.  Leave header files which define
	information needed by trad-core.c.

	* aclocal.m4 (BFD_BINARY_FOPEN): Define.
	(BFD_CC_FOR_BUILD): Define.
	* configure.in: Use BFD_CC_FOR_BUILD.
	* configure: Rebuild.

Tue Sep  5 19:35:28 1995  Ian Lance Taylor  <ian@cygnus.com>

	* aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
	* configure: Rebuild.

	* coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
	a global symbol.

Tue Sep  5 12:48:26 1995  Jason Molenda   (crash@phydeaux.cygnus.com)

	* config.bfd: i386pe_ve -> i386pe_vec.

Mon Sep  4 14:02:43 1995  Ian Lance Taylor  <ian@cygnus.com>

	* configure.host: Incorporate host Makefile fragments by setting
	shell variables.
	* configure.in: Call AC_PROG_CC.  Substitute CFLAGS, HDEFINES and
	AR.  Call AC_PROG_INSTALL.  Substitute CC_FOR_BUILD, choosing a
	value based on whether the code is being compiled by a cross
	compiler.  Don't substitute host_makefile_frag or frags.
	* aclocal.m4: New file to define local AC_PROG_CC.
	* configure: Rebuild.
	* Makefile.in (INSTALL): Set to @INSTALL@.
	(INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
	(INSTALL_DATA): Set to @INSTALL_DATA@.
	(AR): Set to @AR@.
	(CC): Define as @CC@.
	(CFLAGS): Set to @CFLAGS@.
	(CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
	(@host_makefile_frag@): Remove.
	(ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@.  Move $(CFLAGS)
	after other options.
	(config.status): Remove dependency upon @frags@.
	* config/*.mh, config/README: Remove.

	* config.bfd: Rewrite to incorporate the contents of the Makefile
	fragments by setting shell variables, rather than merely returning
	the name of a Makefile fragment.
	* configure.in: Use shell variables set by config.bfd rather than
	looking at the target Makefile fragment files.  Don't substitute
	target_makefile_frag.  Do substitute TDEFINES.
	* configure: Rebuild.
	* Makefile.in (@target_makefile_frag@): Remove.
	(ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
	* config/*.mt: Remove.

Mon Sep  4 03:13:28 1995  Ken Raeburn  <raeburn@cygnus.com>

	* configure.in: Put changequote lines around "i[345]86" patterns
	section of core file support.

Sun Sep  3 11:31:58 1995  Jeff Law  (law@snake.cs.utah.edu)

	* som.c (som_bfd_print_private_bfd_data): Define to use the
	generic version.

Fri Sep  1 17:08:40 1995  steve chamberlain  <sac@slash.cygnus.com>

	* peicode.h (coff_swap_aouthdr_in): Add ImageBase to
	entry, text_start and data_start.

Fri Sep  1 18:06:28 1995  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (OFILES): Remove $(TDEPFILES).
	* config/apollo.mt (TDEPFILES): Remove.
	* config/README: Update.

	* configure.in: For a native configuration, set COREFILE and
	COREFLAG based on the canonical host name.
	* configure: Rebuild.
	* Makefile.in: Rebuild dependencies.
	(ALL_CFLAGS): Add @COREFLAG@.
	(OFILES): Replace $(HDEPFILES) with @COREFILE@.
	* coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
	support routines.  Check LYNX_CORE rather than HOST_LYNX.
	* lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
	* i386lynx.c: Likewise.
	* m68klynx.c: Likewise.
	* sparclynx.c: Likewise.
	* rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
	* *-core.c: Comment changes.
	* config/decstation.mh (HDEPFILES): Remove.
	(HDEFINES): Remove -DTRAD_CORE.
	* config/irix3.mh (RANLIB): Remove.
	* config/irix4.mh (HDEPFILES, RANLIB): Remove.
	(HDEFINES): Remove -DIRIX_CORE.
	* config/riscos.mh (RANLIB, HDEPFILES): Remove.
	(HDEFINES): Remove -DTRAD_CORE.
	* config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
	* config/ultra3.mh (RANLIB): Remove.
	* config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
	* config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
	* config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
	* config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
	* config/hppahpux.mh, config/hppaosf.mh: Remove.
	* config/i386aix.mh, config/i386bsd.mh: Remove.
	* config/i386linux.mh, config/i386mach3.mh: Remove.
	* config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
	* config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
	* config/mipsmach3.mh, config/news-mips.mh: Remove.
	* config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
	* config/rs600.mh, config/rs6000lynx.mh: Remove.
	* config/solaris2.mh, config/stratus.mh: Remove.
	* config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
	* config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.

Fri Sep  1 15:18:50 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>

	* elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
	DT_FINI entry if the appropriate symbol is not in the hash table.

	* libelf.h (struct elf_backend_data): Add create_program_headers
	and want_hdr_in_seg fields.
	* elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
	defined.
	(elf_backend_create_program_headers): Likewise.
	(elfNN_bed): Initialize create_program_headers and
	want_hdr_in_seg.
	* elf.c (get_program_header_size): Call create_program_headers
	backend routine.
	(map_program_segments): Check want_hdr_in_seg backend field.  Call
	create_program_headers backend routine.

	* elf.c (assign_file_positions_except_relocs): Align non allocated
	sections when creating an executable.

	* elfcode.h (elf_swap_phdr_in): Make non static.
	(elf_swap_phdr_out): Make non static.
	* libelf.h (bfd_elf32_swap_phdr_in): Declare.
	(bfd_elf32_swap_phdr_out): Declare.
	(bfd_elf64_swap_phdr_in): Declare.
	(bfd_elf64_swap_phdr_out): Declare.

	* ecofflink.c (ecoff_collect_shuffle): New static function.
	(_bfd_ecoff_get_accumulated_pdr): New function.
	(_bfd_ecoff_get_accumulated_sym): New function.
	(_bfd_ecoff_get_accumulated_ss): New function.
	* libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
	(_bfd_ecoff_get_accumulated_sym): Declare.
	(_bfd_ecoff_get_accumulated_ss): Declare.
	* libbfd.h: Rebuild.

Fri Sep  1 13:20:25 1995  Ian Lance Taylor  <ian@cygnus.com>

	* libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.

	* elflink.h (elf_link_add_object_symbols): Handle indirect and
	warning symbols.  If any section is named .gnu.warning.XXX, treat
	the contents as a warning to be issued if the symbol XXX is
	referenced.
	(elf_link_output_extsym): For an indirect or warning symbol, just
	output the symbol it points to.

	* linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
	if bfd_hash_allocate fails, since it will already be set.
	(generic_link_hash_newfunc): Likewise.
	(archive_hash_newfunc): Likewise.
	(hash_entry_bfd): New static function.
	(_bfd_generic_link_add_one_symbol): Pass new arguments to warning
	callback.  Allocate a new warning using the hash table newfunc.
	Use bfd_hash_replace to update the entry in the hash table, rather
	than assuming we can copy the fields with structure assignment.

	* hash.c (bfd_hash_replace): New function.
	* bfd-in.h (bfd_hash_replace): Declare.
	* bfd-in2.h: Rebuild.

Fri Sep  1 08:12:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>

	* config.bfd: Add mips*vr4300-*-elf* target.
	* config/mipsbvr4300.mt: Added.

See file ChangeLog.2


Local Variables:
mode: indented-text
left-margin: 8
fill-column: 74
version-control: never
End: