1999-06-04  H.J. Lu  <hjl@gnu.org>

	* lib/ld-lib.exp (default_ld_nm): Clear nm_output first if
	necessary.

1999-05-17  Nick Clifton  <nickc@cygnus.com>

	* ld-undefined/undefined.exp: Add xfail for mcore-elf.

1999-05-11  DJ Delorie  <dj@cygnus.com>

	* ld-srec/srec.exp: Do not run tests for PE based ports.

1999-03-05  Nick Clifton  <nickc@cygnus.com>

	* ld-selective/selective.exp: Do not run tests for COFF or PE
	based ports.

1999-02-17  Nick Clifton  <nickc@cygnus.com>

	* ld-undefined/undefined.exp: Add expected failures for StrongARM
	targets.

	* ld-srec/srec.exp: Add expected failures for StrongARM targets.

	* ld-selective/selective.exp: Add expected failure for ARM-COFF
	targets. 

1999-02-16  Nick Clifton  <nickc@cygnus.com>

	* ld-checks/asm.s: Use .long instead of .word.
	Replace custom section names with .text, .data and .bss.
	* ld-checks/script: Replace custom section names with .text, .data
	and .bss. 
	* ld-checks/checks.exp: Replace custom section names with .text,
	.data and .bss. 

1999-02-11  Nick Clifton  <nickc@cygnus.com>

	* ld-checks: New directory:  Tests for the linker's
	--check-sections option.
	* ld-checks/checks.exp: New file.
	* ld-checks/script: Bogus linker script.
	* ld-checks/asm.s: Simple test assembler file.

Tue Feb  2 19:15:02 1999  Catherine Moore  <clm@cygnus.com>

        * ld-selective/selective.exp:  Disable test for unsupported
        targets.  Change tests to check for absence of symbols instead
        of address zero.

Mon Jan 18 03:44:52 1999  Ian Lance Taylor  <ian@cygnus.com>

	* config/default.exp (get_link_files): Quote target_triplet and CC
	when invoking shell.
	(get_target_emul): Likewise.

1999-01-03  Ken Raeburn  <raeburn@cygnus.com>

	* config/default.exp (get_link_files, get_target_emul): New procs;
	run shell commands to extract information from configure.host and
	configure.tgt in the source tree.
	(top level): Use them to get information needed to run tests, if
	not otherwise provided.

	* ld-shared/elf-offset.ld: New file.  Builds a shared library, but
	gives non-zero addresses for memory region.
	* ld-shared/shared.exp: Run the non-PIC non-AIX test again using
	the new linker script.

Tue Dec  8 22:56:05 1998  Geoff Keating  <geoffk@ozemail.com.au>

	* ld-srec/srec.exp: Delete xfails for PPC Linux targets,
	newer glibc lets link succeed.

Sun Dec  6 12:59:37 1998  H.J. Lu  <hjl@gnu.org>

	* ld-elfvers/vers1.c: Add missing return types and values.
	* ld-elfvers/vers2.c: Likewise.
	* ld-elfvers/vers3.c: Likewise.
	* ld-elfvers/vers4.c: Likewise.
	* ld-elfvers/vers5.c: Likewise.
	* ld-elfvers/vers6.c: Likewise.
	* ld-elfvers/vers7.c: Likewise.
	* ld-elfvers/vers9.c: Likewise.
	* ld-elfvers/vers15.c: Likewise.

Fri Oct 23 16:28:29 1998 Catherine Moore  <clm@cygnus.com>

       * ld-selective:  New directory with new files to test
       selective linking.

       * lib/ld-lib.exp (ld_nm):  Strip leading underscore from $name.
     
Sun Oct  4 22:17:05 1998  Ian Lance Taylor  <ian@cygnus.com>

	* ld-elfvers/vers16.dsym: Work correctly on a system without
	versioned system libraries.

Mon Sep 28 21:31:12 1998  Richard Henderson  <rth@cygnus.com>

	* ld-elfvers/vers.exp: Run tests on alpha-linux.
	* ld-elfvers/*.sym, ld-elfvers/*.dsym: Adjust patters to match
	Alpha's use of st_other.

1998-09-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* ld-elfvers/vers.exp (vers16, vers16a): New tests.
	* ld-elfvers/{vers16.*, vers16a.*}: New files.

Thu Sep 17 17:18:19 1998  Nick Clifton  <nickc@cygnus.com>

	* ld-undefined/undefined.exp: Make undefined line test be an xfail
	for arm/thunb elf toolchains.

Wed Sep  9 14:10:15 1998  Nick Clifton  <nickc@cygnus.com>

	* ld-undefined/undefined.exp: change test for elf/dwarf2 targets.

	* ld-srec/srec.exp: Arm-elf now passes this test.

Wed Aug 19 11:59:19 1998  Nick Clifton  <nickc@cygnus.com>

	* ld-srec/srec.exp: Add arm/thumb-elf expected failures.
	
Thu Aug 13 12:41:58 1998  Ian Lance Taylor  <ian@cygnus.com>

	* ld-bootstrap/bootstrap.exp: Don't run the --static bootstrap
	test if we don't have a static libbfd.a.

Wed Aug 12 15:19:35 1998  Ian Lance Taylor  <ian@cygnus.com>

	Based on patch from H.J. Lu <hjl@gnu.org>:
	* ld-srec/srec.exp: Add xfails for Alpha ELF targets.

Mon Aug 10 15:42:20 1998  Richard Henderson  <rth@cygnus.com>

	* ld-scripts/weak.t (.text, .data): Focus data to be used.
	(/DISCARD/): All the rest.
	* ld-scripts/weak1.s, ld-scripts/weak2.s: Put stuff in .data.

Fri Jul 24 18:37:17 1998  Ian Lance Taylor  <ian@cygnus.com>

	* config/default.exp: Create tmpdir/gas subdirectory, add a
	symlink to as-new, and set gcc_gas_flag variable.
	* lib/ld-lib.exp (default_ld_compile): If the compiler appears to
	be gcc, use gcc_gas_flag when compiling.

Thu Jul 23 12:23:29 1998  Ian Lance Taylor  <ian@cygnus.com>

	* ld-elfvers/vers.exp: Just check for i?86 rather than checking
	for i386, i486, and i586.
	(objdump_versionstuff): If we can't find the line, dump the file.

Fri Jul  3 00:27:41 1998  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/phdrs.exp: Run test on *-*-eabi*.
	* ld-scripts/weak.exp: Likewise.

Wed Jul  1 10:51:46 1998  Nick Clifton  <nickc@cygnus.com>

	* ld-srec/srec.exp: Add xfail for v850.

	* ld-undefined/undefined.exp: arm and thumb PE toolchains now pass
	these tests.

Fri Jun 19 17:12:52 1998  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/weak.exp: New test.
	* ld-scripts/weak.t: New file.
	* ld-scripts/weak1.s: New file.
	* ld-scripts/weak2.s: New file.

Tue Jun 16 12:40:38 1998  Geoff Keating  <geoffk@ozemail.com.au>

	* ld-elfvers/vers.exp: Run tests on powerpc ELF targets.
	* ld-shared/shared.exp: Likewise.
	* ld-elfvers/vers1.dsym: Allow for .sdata.
	* ld-srec/srec.exp: Add setup_xfails for PowerPC Linux.

Fri May 29 15:02:50 1998  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: Add xfails for powerpc*-*-eabi.
 	(run_srec_test): On mn10200, define __truncsipsi2_do_d2.
	* ld-srec/sr1.c (__main): Change return type to void.
	* ld-srec/sr3.cc (__main): Likewise.
	(__builtin_delete, __builtin_new): Likewise.
	(__get_dynamic_handler_chain): Return 0.
	(__get_eh_context): Likewise.

Thu May 21 15:21:33 1998  Nick Clifton  <nickc@cygnus.com>

	* ld-undefined/undefined.exp: Add support for thumb-pe target.
	* ld-srec/srec.exp: Add support for arm-pe and thumb-pe targets.

Mon May  4 17:54:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* ld-shared/shared.exp: Remove setup_xfails for m68k-linux.

Mon May  4 17:12:06 1998  Ian Lance Taylor  <ian@cygnus.com>

	* ld-shared/main.c (shlib_overriddencall2): New function.
	(main): Call shlib_shlibcall2.
	* ld-shared/sh1.c (shlib_shlibcall2): New function.
	(shlib_overriddencall2): New function.
	* ld-shared/shared.dat: Add output line for new test.
	* ld-shared/sun4.dat: Likewise.

	* ld-srec/sr3.cc (__get_eh_context): New function.

Tue Apr  7 12:50:17 1998  Manfred Hollstein  <manfred@s-direktnet.de>

	* ld-cdtest/cdtest-foo.h (class Foo): Declare len to be static to
	avoid compiler warning.
	* ld-srec/sr3.cc (class Foo): Likewise.

Tue Feb 10 16:42:40 1998  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/sr3.cc (__get_dynamic_handler_chain): New function.

Mon Feb  2 14:17:48 1998  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/phdrs.exp: Adjust phdrs_regexp for a 64 bit target.

Thu Dec 18 11:13:28 1997  Nick Clifton  <nickc@cygnus.com>

	* ld-srec/srec.exp: Duplicated Arm patch for Thumb targets.

Tue Dec  2 09:50:19 1997  Nick Clifton  <nickc@cygnus.com>

	* ld-srec/srec.exp: Applied patch from Tony.Thompson@arm.com which
	fixes ARM tests.

Mon Dec  1 16:12:05 1997  Nick Clifton  <nickc@cygnus.com>

	* ld-srec/srec.exp: Add expected failures of tests 1 and 2 for ARM
	coff targets.

Wed Nov 12 14:18:31 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-cdtest/cdtest-foo.h (class Foo): Declare len to be int to
	avoid compiler warning.
	* ld-srec/sr3.cc (class Foo): Likewise.

Mon Nov 10 14:25:43 1997  Ian Lance Taylor  <ian@cygnus.com>

	* lib/ld-lib.exp (default_ld_simple_link): Permit the linker to
	have any name when looking for entry symbol warnings.

	* ld-srec/sr3.cc (__eh_pc): Define.

Mon Oct 20 14:36:39 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/sr3.cc: Add definitions for terminate, __terminate, and
 	__throw, since the current g++ expects them to be defined.

Fri Oct  3 12:24:03 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-elfvers/vers.exp (objdump_emptyverstuff): Accept the output
	file if the string libc appears in it.
	(objdump_versionstuff): Accept unexpected lines in the output
	file.  Compare lines using string match.
	* ld-elfvers/vers6.ver: Permit any value in the vna_other field.

Tue Aug 12 16:01:22 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/crossref.exp: Correct string quoting.

Sat Aug  9 00:56:03 1997  Ian Lance Taylor  <ian@cygnus.com>

	* config/default.exp: Change ld, as, nm and strip from .new to
	-new.  Load ld-lib.exp rather than ld.exp.
	* ld-bootstrap/bootstrap.exp: Use ld-new rather than ld.new.
	* lib/ld-lib.exp: Rename from lib/ld.exp, for the benefit of
	DejaGnu changes.

Thu Jun 26 12:07:03 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-elfvers/vers.exp: Use egrep rather than grep when looking for
	an alternation.  From Greg Margo <gmargo@dl.com>.

Wed Jun 25 12:47:22 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* ld-shared/shared.exp: Add setup_xfail for m68k-linux on tests
	with non PIC shared libraries.

Fri Jun  6 17:35:47 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-elfvers/vers6.ver: Update for recent elflink.h patch to
	version handling.

Wed Jun  4 12:06:48 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: Define ___get_dynamic_handler_chain as well.

Fri May 30 12:21:39 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: Define __get_dynamic_handler_chain when
	linking.

Mon May 12 11:17:55 1997  Ian Lance Taylor  <ian@cygnus.com>

	* config/default.exp: Use $base_dir rather than $objdir when
	setting ld.  From John David Anglin <dave@hiauly1.hia.nrc.ca>.

Fri Apr 25 09:07:00 1997  Jeffrey A Law  (law@cygnus.com)

	* ld-srec/srec.exp: Define various out of line prologue/epilogue
	functions for the mn10200 to avoid needing libgcc.a.

Wed Mar 26 13:56:10 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: Don't expect failures on mips*-*-elf*.

Mon Mar 17 19:27:13 1997  Ian Lance Taylor  <ian@cygnus.com>

	* ld-elfvers/vers.exp: Don't run on SunOS or AIX.

Wed Mar 12 21:44:19 1997  Eric Youngdale  <eric@andante.jic.com>

	* ld-elfvers/vers.exp, *: New tests for symbol versioning.
	* config/default.exp: Set ar and strip.

Fri Feb  7 16:47:02 1997  Bob Manson  <manson@charmed.cygnus.com>

	* ld-bootstrap/bootstrap.exp: Use prune_warnings instead of
	prune_system_crud.
	* ld-cdtest/cdtest.exp: Ditto.
	* ld-scripts/crossref.exp: Ditto.
	* ld-sh/sh.exp: Ditto.
	* ld-shared/shared.exp: Ditto.
	* ld-srec/srec.exp: Ditto.
	* lib/ld.exp: Ditto.

Wed Jan 29 00:47:29 1997  Bob Manson  <manson@charmed.cygnus.com>

	* ld-cdtest/cdtest.exp: Put a slash between $srcdir/$subdir.
	* ld-scripts/script.exp: Ditto.
	* ld-sh/sh.exp: Ditto.
	* ld-undefined/undefined.exp: Ditto.
	* ld-versados/versados.exp: Ditto.
	* lib/ld.exp: Ditto.

Mon Dec 30 17:08:04 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/crossref.exp: Fix quoting for --defsym $global$.

Tue Oct  1 15:52:31 1996  Ian Lance Taylor  <ian@cygnus.com>

	* lib/ld.exp (default_ld_version): Fix for current version
	printing.

Fri Sep 13 15:51:45 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/crossref.exp: Define $global$ for hppa-elf.

Thu Aug  8 14:29:32 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/cross2.t: Map XCOFF sections to .text or .data.

	* lib/ld.exp: Use verbose -log instead of calling both verbose and
	send_log.

Wed Aug  7 18:00:58 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/phdrs.exp: New test.
	* ld-scripts/phdrs.s, ld-scripts/phdrs.t: New files.

Sun Aug  4 21:58:12 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/crossref.exp: On a29k targets, use --defsym to define
	V_SPILL and V_FILL.

Thu Aug  1 14:10:27 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/crossref.exp: New test.
	* ld-scripts/{cross1.c, cross2.c, cross3.c}: New files.
	* ld-scripts/{cross1.t, cross2.t}: New files.

Sat Jun 29 13:40:11 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-sh/sh.exp: Fix debugging messages.
	* ld-sh/sh1.s: Use .align 4.

Wed May  1 16:45:13 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-sh/sh.exp: Use -O when compiling with -mrelax.

Mon Apr 29 10:33:10 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* ld-shared/shared.exp: Run the shared library tests on
 	Linux/m68k.

Fri Apr  5 16:20:55 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-shared/shared.exp: Run the shared library tests on Linux.

Mon Feb 26 12:45:26 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-shared/shared.exp: Don't use -fpic on MIPS targets.

Wed Jan 31 15:09:57 1996  Jeffrey A Law  (law@cygnus.com)

	* ld-srec/srec.exp: Add xfails for hppa*-*-*elf*.
	* ld-undefined/undefined.exp: Likewise.

Fri Jan 26 18:43:03 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-undefined/undefined.exp: ELF targets should now pass the
	undefined line test.

Thu Jan 25 15:36:13 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-empic/empic.exp: Update for change to MIPS disassembler.

Mon Jan 15 15:05:53 1996  Ian Lance Taylor  <ian@cygnus.com>

	* ld-bootstrap/bootstrap.exp: Expect failure for mips*-*-irix5*
	when doing the --static test.
	* ld-shared/shared.exp: Run tests on mips*-*-irix5*.

Fri Dec 29 12:33:09 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-bootstrap/bootstrap.exp: On AIX, don't pass the -bI option
	when creating ld-partial.o.

Tue Dec 26 17:37:23 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: If powerpc*-*-eabi*, use --defsym to define
	__eabi.

Tue Dec 19 18:01:01 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: Add setup_xfails for XCOFF targets.

Fri Dec 15 16:36:17 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: On a29k targets, use --defsym to define
	V_SPILL and V_FILL.
	* ld-srec/sr1.c (V_SPILL, V_FILL): Remove definitions.
	* ld-srec/sr3.cc: Likewise.

	* ld-srec/srec.exp: Remove i960 COFF setup_xfail.

Sat Dec  2 01:20:31 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: Don't use [] in setup_xfail expressions.

Fri Dec  1 13:18:18 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: Add setup_xfails for MIPS ELF targets.

Wed Nov 29 13:01:10 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: Add setup_xfail for i960 COFF targets.

Mon Nov 27 14:36:11 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: Add setup_xfail calls for i[345]86-*-aout*.

	* ld-srec/sr1.c (V_SPILL, V_FILL): Define.
	* ld-srec/sr3.cc: Likewise.

Tue Nov 21 16:05:53 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-empic/empic.exp: Update for changes in objdump output.

Wed Nov 15 17:42:48 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-srec/srec.exp: New tests.
	* ld-srec/sr1.c, ld-srec/sr2.c, ld-srec/sr3.cc: New files.
	* lib/ld.exp (ld_simple_link): Discard warnings about not being
	able to find the entry symbol.

Tue Nov 14 20:03:54 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-sh/sh2.c (__main): Define.

Mon Nov  6 14:39:18 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-empic/empic.exp: Accept a . in the address symbol.

	* ld-shared/shared.exp: Run tests on rs6000*-*-aix* and
	powerpc*-*-aix*.  Add code to create appropriate exports files,
	and pass appropriate compilation flags, and test against
	appropriate expected output.
	* ld-shared/xcoff.dat: New file.
	* ld-shared/main.c: Put #ifndef XCOFF_TEST around tests that can
	not be linked using XCOFF.  Use shlib_shlibvar1 as a sample
	function pointer, rather than shlib_mainvar.
	* ld-shared/sh1.c: Likewise.
	* ld-shared/shared.dat: Update for change from using shlib_mainvar
	to using shlib_shlibvar1.
	* ld-shared/sun4.dat: Likewise.

Sat Oct 28 01:54:25 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/script.t: Put .pr in .text, and .rw in .data, for
	convenience when testing XCOFF.

Thu Oct 26 22:53:17 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-bootstrap/bootstrap.exp: On AIX, pass -bI/lib/syscalls.exp
	along with --static.

	* ld-scripts/script.s: Make symbols global.

Fri Oct 20 12:22:16 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-undefined/undefined.exp: Add setup_xfails for arm*-*-pe*.

Fri Sep 29 11:06:10 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-undefined/undefined.exp: Use -e when invoking the linker, to
	prevent the SunOS linker from trying to create a shared library.

Thu Sep 28 12:37:14 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-shared/shared.exp: Run the tests on sparc*-*-sunos4*.  Add
	appropriate modifications and setup_xfails.
	* ld-shared/sun4.dat: New file.

Mon Sep 18 14:12:56 1995  Ian Lance Taylor  <ian@cygnus.com>

	* lib/ld.exp (default_ld_version): Call prune_system_crud.
	(default_ld_relocate, default_ld_link): Likewise.
	(default_ld_simple_link, default_ld_compile): Likewise.
	(default_ld_assemble, default_ld_nm): Likewise.

Fri Sep  8 17:15:38 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-cdtest/cdtest.exp: If the compiler does not exist, mark the
	tests as untested rather than unresolved.

Wed Aug 23 10:46:38 1995  Ian Lance Taylor  (ian@cygnus.com)

	* ld-sh/sh.exp: Call prune_system_crud on the output of cmp.

Tue Aug 15 17:35:35 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/script.exp: Split script verification into a proc.
	Add simple test of MRI script.
	* ld-scripts/scriptm.t: New file.

Wed Jul 26 11:38:58 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-sh/sh.exp: Mark `SH confirm relaxing' test unresolved when
	appropriate.

Mon Jul 24 15:34:31 1995  Ian Lance Taylor  <ian@cygnus.com>

	* config/default.exp: Define objcopy if it is not defined.
	* ld-sh/*: New tests for SH relaxing.

	* ld-empic/empic.exp: If $CC does not exist, call untested rather
	than unresolved.

Thu Jul 20 15:09:26 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-undefined/undefined.exp: If $CC does not exist, mark the
	tests as untested rather than unresolved.  Clear ELF xfails for
	mips*, not just mips.

Tue Jul 18 12:00:41 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-undefined/undefined.exp: Add setup_xfail for sh-*-* for
	undefined line test.

Fri Jul 14 13:07:48 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-undefined/undefined.exp: New test, to check reporting of
	undefined symbols.
	* ld-undefined/undefined.c: New file.

Mon Jul 10 11:13:39 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-versados/versados.exp: If a test fails, report it correctly:
	don't try to run the next test, and don't report a pass as well as
	a fail.

Mon Jul  3 14:26:37 1995  Steve Chamberlain  <sac@slash.cygnus.com>

	* ld/testsuite/versados/(t1,t2).ld: End in newlines.

Mon May 22 20:19:38 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* lib/ld.exp (default_ld_compile): If cc argument is multiple
	words, use only the first when trying to verify the availability
	of the compiler.

Mon Feb  6 11:46:49 1995  Ian Lance Taylor  <ian@cygnus.com>

	* ld-scripts/defined.t: Mention .data and .bss explicitly.

Tue Jan 24 14:51:48 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* ld-bootstrap/bootstrap.exp: If not in the ld build directory,
	call untested for each test, rather than ignoring it.  If one test
	fails, go on to the next one instead of returning.
	* ld-cdtest/cdtest.exp: If compilations fail, mark tests as
	unresolved.
	* ld-empic/empic.exp: Likewise.  Also, always pass the same test
	name to pass or fail.
	* ld-shared/shared.exp: Likewise.  Also, always run all tests.
	* ld-scripts/defined.exp: If as or nm fail, mark test as
	unresolved.  Always pass the same test name to pass or fail.
	* ld-scripts/script.exp: Likewise.
	* ld-scripts/sizeof.exp: Likewise.

Wed Jan 11 11:48:31 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* ld-scripts/sizeof.exp: New test, based on bug report from
	anders.blomdell@control.lth.se.
	* ld-scripts/sizeof.s: New file.
	* ld-scripts/sizeof.t: New file.

Wed Jan  4 18:56:27 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* lib/ld.exp: Use [which $ld] rather than [file exists $ld] to see
	if the linker exists.

Wed Dec 14 16:39:03 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* lib/ld.exp (prune_system_crud): Define if not already defined,
	in case the user isn't using the newest DejaGnu version that we
	haven't released to the net yet.

Fri Dec  2 14:17:02 1994  Ian Lance Taylor  <ian@rtl.cygnus.com>

	* config/default.exp: Define objdump if it is not defined.
	* ld-empic/*: New tests to test -membedded-pic code.

Mon Nov 28 11:24:36 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* ld-bootstrap/bootstrap.exp: Pass cmp output through
	prune_system_crud.
	* ld-cdtest/cdtest.exp: Pass diff output through
	prune_system_crud.
	* ld-shared/shared.exp: Likewise.

	* config/default.exp: Remove unused and useless proc ld_load.

Sun Oct 30 13:02:34 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* lib/ld.exp (default_ld_compile): Remove the output file before
	compiling.

	* ld-shared/shared.exp: Move common test code into a procedure.
	Add tests for compiling the non shared code PIC.
	* ld-shared/main.c (main): Call main_called, and print the result.
	* ld-shared/shared.dat: Adjust accordingly.

Thu Oct 27 17:30:12 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* ld-shared: New directory, with new files to test generating ELF
	shared libraries.

	* lib/ld.exp (default_ld_compile): If the compilation worked, but
	no object file was created, check to see if the compiler foolishly
	ignored the -o switch when compiling, and move the resulting
	object if it did.

Thu Sep 29 12:36:51 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)

	* VMS does not permits `.' in directory names.  Renamed
	ld.bootstrap to ld-bootstrap, ld.cdtest to ld-cdtest, and
	ld.scripts to ld-scripts.

Wed Sep 28 12:18:54 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)

	* config/default.exp: Set variables as and nm.  Create tmpdir if
	it does not already exist.
	* ld.bootstrap/bootstrap.exp: Don't create tmpdir here.
	* ld.cdtest/cdtest.exp: Likewise.
	* ld.scripts/defined.exp: Likewise.  Also, don't set as and nm
	here.  Change perror for no variables found to fail.
	* ld.scripts/script.exp: New test.
	* ld.scripts/script.t, ld.scripts/script.s: New files.

Tue Sep 27 14:59:51 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)

	* ld.scripts: New directory.
	* ld.scripts/defined.exp, ld.scripts/defined.s: New files.
	* ld.scripts/defined.t: New file.
	* lib/ld.exp (default_ld_simple_link): New function.
	(default_ld_assemble, default_ld_nm): New functions.
	* config/default.exp: Rename from unix-ld.exp.
	(ld_simple_link, ld_assemble, ld_nm): New functions.

	* config/unix-ld.exp: Set ld using findfile.
	* lib/ld.exp (default_ld_relocate): Return a value.  Change format
	of log messages.
	(default_ld_compile): Likewise.
	(default_ld_link): Likewise.  Also, don't include $BFDLIB and
	$LIBIBERTY in link.
	* ld.bootstrap/bootstrap.exp: Rewrite.
	* ld.cdtest/cdtest.exp: Rewrite.
	* ld.cdtest/cdtest-foo.cc: Update from top level ld directory.
	* ld.cdtest/cdtest-foo.h: Likewise.
	* ld.cdtest/cdtest-main.cc: Likewise.

Fri May 27 09:35:04 1994  Ken Raeburn  (raeburn@cygnus.com)

	* ld.cdtest/cdtest.exp: Don't look for $result before it's
	defined.

Tue May 17 15:06:49 1994  Bill Cox  (bill@rtl.cygnus.com)

	* ld.bootstrap/bootstrap.exp, lib/ld.exp: Replace error proc
	  calls with perror calls.

Wed May 11 16:47:46 1994  Ken Raeburn  (raeburn@rtl.cygnus.com)

	* ld.cdtest/cdtest-bar.cc: Renamed from cdtest-func.cc.
	* ld.cdtest/cdtest.exp: Adjusted.

Fri Jan 28 13:25:41 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* lib/ld.exp (simple_diff): Indicate failure if files have
	different numbers of lines.  Don't muck with $differences to avoid
	indicating a pass, just return.

	* testsuite/ld.cdtest/{cdtest-foo.h,cdtest-foo.cc,cdtest-main.cc}:
	Fix test case to be valid ANSI C++.  Don't require use of header
	files, so "../gcc/xgcc -B../gcc/" can be used for CXX.
	* testsuite/ld.cdtest/cdtest.exp: Combine "rm" lines.  Add some
	commentary on things that are still broken with this test case.

Fri Sep 10 09:58:23 1993  Jeffrey Wheat  (cassidy@cygnus.com)

	* testsuite/ld.cdtest/cdtest.exp: Added CXXFLAGS to compile stage.

Thu Aug 12 16:05:37 1993  Jeffrey Wheat  (cassidy@cygnus.com)

	* testsuite/lib/ld.exp: add compiler and linker support
	* testsuite/config/unix-ld.exp: add compiler and linker support
	* testsuite/ld.bootstrap/bootstrap.exp: fixed to do partial links
	* testsuite/ld.cdtest/cdtest.exp: constructor/destructor testscase

Wed Aug  4 21:00:18 1993  Jeffrey Wheat  (cassidy@cygnus.com)

	* testsuite/lib/ld.exp: new file
	* testsuite/config/unix-ld.exp: new file
	* testsuite/ld.bootstrap/bootstrap.exp: new file
