2010-04-12  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/gdb669.exp: Update expected output of -thread-list-ids to
	match the new output style.

2010-03-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/function-statics.{c,exp}: Check that we can locate
	function static variables in the data and bss sections.

2010-02-18  Jim Ingham  <jingham@apple.com>

	* gdb.apple/xcode/stack-list-frames-lite.exp: Change lite stack
	frame patterns to handle the shared library path element.

2010-02-12  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/po.exp: Fix regexp to match years past 2009.
	* gdb.cp/local.exp: Class names are quoted now.
	* gdb.cp/namespace.exp: Class names are quoted now.

2009-12-07  Jason Molenda  (jmolenda@apple.com)

        * gdb.base/help.exp: Update expected 'help breakpoints' message text.

2009-08-14  Caroline Tice  <ctice@apple.com>

	* gdb.apple/inf-call-interrupt.exp: Added 'optimized' field to
	frame stack checks.
	* gdb.mi/mi-syn-frame.exp:  Ditto.
	* gdb.mi/mi2-return.exp:  Ditto.
	* gdb.mi/mi2-stack.exp:  Ditto.
	* gdb.mi/mi2-syn-frame.exp: Ditto.
	* lib/gdb.exp (default_gdb_start) Added "set inform-optimized 0".
	* lib/mi-support.exp (mi_check_current_frame): Added 'optimized' 
	field to frame stack check.

2009-07-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/display.exp: "print/i" emits a different error now because
	of the G_EXAMINE_I_SIZE /i changes made for arm.

2009-06-29  Caroline Tice  <ctice@apple.com>

	* gdb.apple/inf-call-interrupt.exp:  Modify test to use
	'-interpreter-exec console-quoted' rather then 
	-data-evaluate-expression to call functions in which there are
	breakpoints set (to work with new patch that disables breakpoints
	while updating varobj info).
	* gdb.mi/mi-syn-frame.exp: Ditto.
	* gdb.mi/mi2-syn-frame.exp: Ditto.

2009-04-14  Jim Ingham  <jingham@apple.com>

	* gdb.apple/objc-throw-in-inf-fn.{exp,m}: New test cases.
	
2009-03-25  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/file-statics.exp: Update to expect new ordering of globals.

2009-03-09  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/sigtramp.c: New source file.
	* gdb.apple/sigtramp.exp: New test file to do simple backtrace
	through sigtramp with eh frame info and without.

2009-03-09  Jim Ingham  <jingham@apple.com>

	* gdb.apple/unload.exp: Make a varobj that depends on 
	the loaded dylib, then verify that it gets deleted when the
	dylib gets unloaded.
	* gdb.apple/real.c: Add a structure type.
	* gdb.apple/loader.c: Call the dummy_function so we can break there.
	
2009-03-04  Jim Ingham  <jingham@apple.com>

	* gdb.apple/varobj-sel-frame.{c,exp}: Add another test
	for a shadowed variable.
	
2009-03-03  Jim Ingham  <jingham@apple.com>

	* gdb.apple/varobj-sel-frame.{c,exp}: New tests.
	
2009-03-03  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/blocks-queues.exp, blocks-queues.c: Make sure we can
	retrieve the workqueue thread name and pthread thread names.

2009-02-19  Caroline Tice  <ctice@apple.com>

	* gdb.base/args.exp:  Increase the number of expected arguments,
	to account for the additional "-arch" that is being added.

2009-02-17  Jim Ingham  <jingham@apple.com>

	* gdb.apple/add-dsym.exp: You won't necessarily get a breakpoint
	mention when the library it is in slides.  Adapt the test for this.
	* gdb.apple/r5414488.exp: Ditto
	* gdb.apple/weak.exp: Ditto.
	
2009-02-06  Jim Ingham  <jingham@apple.com>

	* gdb.gdb/selftest.exp (do_steps_and_nexts): Add a couple of test
	clauses for APPLE LOCAL initializations from captured main.

2008-11-24  Caroline Tice  <ctice@apple.com>

	* gdb.threads/thread_check.exp:  Fix to work with new minsym & symbol
	lookup stuff (setting extra, valid breakoint).

2008-11-18  Jim Ingham  <jingham@apple.com>

	* gdb.apple/varobj-references.{exp,cc}: Test gdb's handling
	of variables passed by reference.
	* lib/mi-support.exp (mi_break_function): New proc.
	(mi_runto): Use mi_break_function.
	
2008-11-14  Caroline Tice  <ctice@apple.com>

	* gdb.apple/r5414488.exp:  Don't expect frame info on
	every line.
	
2008-11-12  Jim Ingham  <jingham@apple.com>

	* gdb.mi/mi2-var-cmd.exp: Add resolved type.
	
2008-11-11  Jim Ingham  <jingham@apple.com>

	* gdb.apple/anon-struct.exp: Add resolved_type.
	* gdb.apple/file-statics.exp: Ditto.
	* gdb.apple/mi1-varobj.exp: Ditto.
	* gdb.apple/nested-inlines-*.exp: Ditto.
	* gdb.apple/var-path-expr.exp: Ditto.
	* gdb.apple/var-no-print-static.exp: Ditto.
	* gdb.apple/xcode/var-list-children.exp: Ditto.
	* gdb.mi/gdb701.exp: Ditto.
	* gdb.mi/gdb792.exp: Ditto.
	
2008-10-29  Caroline Tice  <ctice@apple.com>

	* gdb.apple/nested-inlines-console.x86.exp: Update to match new gdb
	output.
	* gdb.apple/nested-inlines-mi.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-2.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-3.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-4.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-5.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-6.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-7.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-8.x86.exp: Likewise.
	* gdb.apple/r5414488.exp: Likewise.

1008-10-23  Caroline Tice  <ctice@apple.com>

        * gdb.apple/blocks-linetables.c: Fix to work with new ABI changes.
	* gdb.apple/blocks-linetables.exp: Likewise.
	* gdb.apple/blocks-linetables2.c:  Likewise.
	* gdb.apple/blocks-linetables2.exp:  Likewise.
	* gdb.apple/blocks.c:  Likewise.
	* gdb.apple/blocks.exp:  Likewise.
	* gdb.apple/global-blocks-lines.exp:  Likewise.
	* gdb.apple/global-blocks-lines2.exp:  Likewise.
	* gdb.cp/cp-blocks-linetables.cc: Likewise.
	* gdb.cp/cp-blocks-linetables.exp:  Likewise.

2008-10-16  Jim Ingham  <jingham@apple.com>

	* gdb.apple/mi1-varobj.exp: I fixed gdb so it now gives in_scope=false
	update notification for variables that go out of scope, but there were
	two variables that should go out of scope that weren't listed in the
	testcase...
	
2008-10-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/mi1-varobj.exp: Update to reflect structure of the 
	objc-prog.m file and the new runtime's behavior.

2008-09-24  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/fileio.c (test_lseek): Use %lld for off_t variable.

2008-09-19  Jason Molenda  (jmolenda@apple.com)

	* maint.exp: Rebuild the break test file before loading it.

2008-09-17  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/shmain.c, gdb.base/shr1.c: %p doesn't need a 0x prefix.

2008-09-17  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Specify the -arch
	setting to the Makefile invocations.
	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Specify the 
	-arch setting to the Makefile invocations.
	* gdb.apple/fix-and-continue/small-c/Makefile: Handle a -arch setting.
	* gdb.apple/fix-and-continue/small-objc/fix-small-objc.exp: Specify the 
	-arch setting to the Makefile invocations.
	* gdb.apple/fix-and-continue/small-objc/Makefile: Handle a -arch 
	setting when building the files.
	* gdb.apple/fix-and-continue/small-objc/main.m: Make the printf 
	formatting strings correct.

2008-09-16  Jason Molenda  (jmolenda@apple.com)

	* lib/mi-support.exp (mi_gdb_start): Turn off dSYM lookups.
	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Run for x86_64.
	Fix expected output from dlopen failure instead of NSLinkModule error.
	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Run for x86_64.

2008-09-15  Jason Molenda  (jmolenda@apple.com)

	* mi2-var-child.exp: Add an extra exec-step to step over a linetable
	entry the compiler is now emitting, but didn't used to.

2008-09-12  Jason Molenda  (jmolenda@apple.com)

	* gdb.objc/*: Remove.  These ObjC files aren't being kept up to date.
	* configure.ac: Don't configure it.
	* Makefile.in: Don't build it.
	* configure: Regenerated.

2008-09-12  Jim Ingham  <jingham@apple.com>

	* gdb.apple/po.exp: Make sure that NULL's are pointer sized 0's.
	
2008-09-12  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/unload.exp: Fix strings to match gdb's output.

2008-09-10  Caroline Tice  <ctice@apple.com>

	* gdb.apple/blocks-linetables.c: Add comments.
	* gdb.apple/blocks-linetables.exp: Remove line numbers and dependencies
	on helper function names.
	* gdb.apple/blocks-linetables2.c: Add comments.
	* gdb.apple/blocks-linetables2.exp: Remove line numbers and 
	dependencies on helper function names.
	* gdb.apple/global-blocks-lines.c: Add comments.
	* gdb.apple/global-blocks-lines.exp: Change helper function names,
	and remove line number references.
	* gdb.apple/global-blocks-lines2.exp: Change helper function names,
	and remove line number references.
	* gdb.base/shmain.c:  Use %p for pointer address.
	* gdb.cp/cp-blocks-linetables.cc: Add comments.
	* gdb.cp/cp-blocks-linetables.exp: Make tests non-line-number
	specific; add tests for breaking at main.

2008-09-09  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/single-def-main.cc: use %zd for size_t arg.
	* gdb.base/fileio.c: Use %zd for size_t arg.  Fix number of args
	to another printf.
	* gdb.base/shr1.c: Use %p for pointer address.
	* gdb.base/sizeof.c: Use %zd for size_t args.
	* gdb.base/unload.exp: Don't pass strings to printf as the fmt string.

2008-09-09  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/objc-prog.m (stringmaker): Fix NSLog call even more.

2008-09-05  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/objc-prog.m (stringmaker): Fix NSLog call.

2008-09-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/watchpoint.exp: Reduce timeout to 30 sec from 5 min.

2008-08-24  Caroline Tice  <ctice@apple.com>

	* gdb.apple/blocks-linetables.c: New testcases.
	* gdb.apple/blocks-linetables.exp: Ditto.
	* gdb.apple/blocks-linetables2.c: Ditto.
	* gdb.apple/blocks-linetables2,exp: Ditto.
	* gdb.apple/global-blocks-lines.c: Ditto.
	* gdb.apple/global-blocks-lines.exp: Ditto.
	* gdb.apple/global-blocks-lines2.c: Ditto.
	* gdb.apple/global-blocks-lines2.exp: Ditto.
	* gdb.cp/cp-blocks-linetables.cc: Ditto.
	* gdb.cp/cp-blocks-linetables.exp: Ditto.

2008-08-15  Jim Ingham  <jingham@apple.com>

	* lib/gdb.exp (gdb_continue_to_breakpoint): Add an optional 
	parameter to test which breakpoint we stopped at, and return
	the breakpoint we stopped at as well.
	* gdb.apple/blocks.{c,exp}: New files.
	
2008-07-31  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/psym-type-defn.exp: Correct CFLAGS to build
	-gused with the new compilers.

2008-07-31  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/macscp-inlining.exp, gdb.apple/nested-inlines-console.exp, 
	gdb.apple/nested-inlines-mi.exp, gdb.apple/nested-inlines-xcode-1.exp, 
	gdb.apple/nested-inlines-xcode-2.exp, 
	gdb.apple/nested-inlines-xcode-3.exp, 
	gdb.apple/nested-inlines-xcode-4.exp, 
	gdb.apple/nested-inlines-xcode-5.exp, 
	gdb.apple/nested-inlines-xcode-6.exp, 
	gdb.apple/nested-inlines-xcode-7.exp, 
	gdb.apple/nested-inlines-xcode-8.exp, 
	gdb.apple/nested-inlines-xcode-9.exp: Change the test-skipping 
	conditional expression to look for the presence of ppc specifically
	instead of explicitly skipping every other arch.

2008-07-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/nested-inlines-console.exp: These test cases aren't correct
	when built 64-bit; skip them.
	* gdb.apple/nested-inlines-mi.exp: Same.
	* gdb.apple/nested-inlines-xcode-1.exp: Same.
	* gdb.apple/nested-inlines-xcode-2.exp: Same.
	* gdb.apple/nested-inlines-xcode-3.exp: Same.
	* gdb.apple/nested-inlines-xcode-4.exp: Same.
	* gdb.apple/nested-inlines-xcode-5.exp: Same.
	* gdb.apple/nested-inlines-xcode-6.exp: Same.
	* gdb.apple/nested-inlines-xcode-7.exp: Same.
	* gdb.apple/nested-inlines-xcode-8.exp: Same.
	* gdb.apple/nested-inlines-xcode-9.exp: Same.

	* gdb.apple/gused/coalesced1.exp: Same.
	* gdb.apple/gused/coalesced2.exp: Same.
	* gdb.apple/gused/psym-type-defn.exp: Same.
	* gdb.apple/gused/shantonu.exp: Same.
	* gdb.apple/gused/split-pi.exp: Same.
	* gdb.apple/gused/type-qualifications.exp: Same.

2008-07-18  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/prologue-x86.exp: Update for SnowLeopard system function
	names.

2008-07-18  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/add-dsym.exp: Expect correct backtrace output.
	* gdb.apple/gen-x86-prologues-patterns.txt: Remove two prologue
	patterns that had jmp/jcc instructions in them -- the prologue parser
	will soon stop parsing at those and hand-written assembly that depends
	on that working are no longer supported.
	* gdb.apple/gen-x86-prologues.c: Regenerated.
	* gdb.apple/gen-x86-prologues.exp: Regenerated.

2008-07-10  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/univ-archive.exp: Remove ppc64.

2008-06-06  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/add-dsym.c: Terminate string.
	* gdb.apple/add-dsym.exp: Don't hard code source line # for bar bp.

2008-06-05  Jason Molenda  (jmolenda@apple.com)

	* gdb.objc/myclass.exp: Build with -mmacosx-version-min=10.5.
	* gdb.base/unload.exp: Build dylib with -mmacosx-version-min=10.5.

2008-06-04  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/unload.exp: Set the min macosx version when compiling this.

2008-06-04  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/nick.exp: Update regexp for Snow Leopard.
	* gdb.apple/sections.exp: Update regexp.
	* gdb.apple/r4183684.exp: Update regexp.
	* gdb.apple/objc-rbreak.exp: Update regexp.
	* gdb.apple/single-def.h: Updated for gcc-4.2 C++ happiness.
	* gdb.apple/fix-and-continue/small-c/Makefile: Don't hardcode gcc-4.0.
	* gdb.apple/fix-and-continue/small-objc/Makefile: Same.

2008-06-04  Jason Molenda  (jmolenda@apple.com)

	* lib/gdb.exp (default_gdb_start): Change gdb_opts from a host_info
	to a target_info.
	* lib/mi-support.exp (mi_gdb_start): Same.

2008-06-04  Jason Molenda  (jmolenda@apple.com)

	* configure: Regenerated to make gdb.apple/debug-in-ofile test dir.

2008-05-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/add-dsym.exp: Make breakpoint in dylib a future-break.

2008-05-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/mi1-varobj.exp: Types come back as 'MyClass *' instead of
	'class MyClass *'.

2008-05-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/arch-test.exp: Remove ppc64; won't build on SnowLeopard.

2008-05-23  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/objc-prog.m (newWithArg): Don't call super init.

2008-05-22  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/relocate.exp: Don't look for "_addr" after the text segment
	name.

2008-03-19  Jason Molenda  (jmolenda@apple.com)

	* lib/gdb.exp (default_gdb_start): Set locate-dsym to 0 so if the
	person running the test has system library dSYMs somewhere, the
	testsuites won't be perturbed.

2007-03-14  Caroline Tice  <ctice@apple.com>

	* gdb.apple/nested-inlines-xcode-1.exp: Update to work with latest
	versions of gcc & gdb.
	* gdb.apple/nested-inlines-xcode-1.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-2.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-2.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-3.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-3.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-4.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-4.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-5.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-5.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-6.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-6.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-7.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-7.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-8.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-8.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-9.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-9.x86.exp: Ditto.

2008-03-05  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/bp-cond-objc.exp: Loosen regexp a little.
	* gdb.apple/dirname-tab.exp: Handle another error condition correctly.
	* gdb.apple/info-pid.exp: Expect the mi timings output.
	* gdb.apple/ostype.exp: Expect the mi timings output.
	* gdb.apple/single-def-classdef.cc: Add a new test function.
	* gdb.apple/single-def-classdef.h: Add a new test function.
	* gdb.apple/xcode/stack-list-frames-lite.exp: Expect has_debug field
	in s-l-f-l output.
	* gdb.apple/xcode/stack-list-frames-lite-sigtramp.exp: Expect the
	mi timings output.

2008-01-14  Caroline Tice  <ctice@apple.com>

	* gdb.apple/nested-inlines-console.x86.exp: More modifications to 
	work with either gcc 4.0.1 or gcc 4.2.
	* gdb.apple/nested-inlines-mi.x86.exp: Ditto.

2007-12-07  Caroline Tice  <ctice@apple.com>

	* gdb.apple/nested-inlines-console.exp: Modify to work with either
	gcc 4.0.1 or gcc 4.2.
	* gdb.apple/nested-inlines-console.x86.exp: Ditto.
	* gdb.apple/nested-inlines-mi.exp: Ditto.
	* gdb.apple/nested-inlines-mi.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-1.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-2.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-3.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-4.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-5.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-5.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-6.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-7.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-7.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-8.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-9.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-9.x86.exp: Ditto.
	* gdb.apple/var-path-expr.cpp: Ditto.
	* gdb.apple/gused/coalesced1.h: Ditto.
	* gdb.base/structs.exp: Ditto.

2007-12-05  Jim Ingham  <jingham@apple.com>

	* gdb.base/sizeof.exp: gcc-4.2 doesn't accept -Wno-long-double
	* gdb.base/store.exp: ditto
	* gdb.base/structs.exp: ditto
	* gdb.cp/gdb1355.exp: ditto
	* gdb.cp/templates.exp: ditto
	
2007-10-18  Caroline Tice  <ctice@apple.com>

	* gdb.cp/templates.exp: Update to cope properly with multiple
	breakpoint choices for breakpoint on destructor.

2007-09-19  Caroline Tice  <ctice@apple.com>

	* gdb.apple/r5414488.exp: Correct expected line number to match new
	gdb line-finding code.

2007-08-21  Caroline Tice  <ctice@apple.com>

	* gdb.apple/macscp-inlining.exp:  Don't look for 'stepping into/over
	inlined subroutine' messages.
	* gdb.apple/macscp-inlining.x86.exp:  Likewise.
	* gdb.apple/nested-inlines-console.exp:  Likewise.
	* gdb.apple/nested-inlines-console.x86.exp:  Likewise.

2007-08-21  Caroline Tice  <ctice@apple.com>

	* gdb.apple/r5414488.exp: Test that inlined subroutine data addresses 
	slide correctly along with the rest of the objfile.
	* gdb.apple/r5414488.m: File for new testcase.
	* gdb.apple/r5414488.h: File for new testcase.
	* gdb.apple/r5414488-libfile.m: File for new testcase.

2007-07-27  Jim Ingham (jingham@apple.com)

	* gdb.apple/unloading.exp: More tests.

2007-07-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/Makefile: Build the fix bundles
	into their own .o files so the debug info persists.
	* ../fix-and-continue/small-c/fix-small-c.exp: Updated to expect the
	new compiler output text.

2007-07-09  Caroline Tice  <ctice@apple.com>

        * gdb.apple/nested-inlines-console.x86.exp:  Fix test to
        match new order in which inlined breakpoints are returned.
        * gdb.apple/nested-inlines-mi.x86.exp:  Likewise.
        * gdb.apple/nested-inlines-console.exp: Likewise.
        * gdb.apple/nested-inlines-mi.exp: Likewise.

2007-06-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/corefile.exp: Don't try to change the timeout
	for this test case.

2007-06-26  Jim Ingham  <jingham@apple.com>

	* gdb.apple/debug-in-ofile(one-six.c, dbg-in-ofile.h,
	debug-in-ofile.exp): Change function names so they won't match
	symbols in libSystem.
	* gdb.objc/basicclass.exp: Fix a few failures due to Apple local
	mods.
	
2007-06-21  Jim Ingham  <jingham@apple.com>

	* gdb.apple/add-dsym.exp: Reset gdb_test_apple_dsym correctly.
	
2007-06-19  Jim Ingham  <jingham@apple.com>

	* gdb.apple/add-dsym.{c,exp}, gdb.apple/add-dylib-dsym.c:
	New files, tests for the "add-dsym" command.
	
2007-06-05  Jim Ingham  <jingham@apple.com>

	* gdb.apple/file-with-parens.exp: New file.  Tests
	breakpoint setting in files with parenthesis.
	* gdb.apple/{file ( my name ).c, file(myname).c}: Test
	files.
	
2007-05-17  Jim Ingham <jingham@apple.com>

	* gdb.apple/check-errno.{c, exp}:New files to check
	that we can read errno correctly.  Good sniff test
	for the shared cache code.

	* gdb.apple/arch-test.exp: Take the "-arch" option out
	of the cflags before building - we want to control what
	architecture is getting built.
	
2007-05-11  Jim Ingham <jingham@apple.com>

	* gdb.apple/dummy.c
	* gdb.apple/loaded.c
	* gdb.apple/loader.c
	* gdb.apple/real.c
	* gdb.apple/unloading.exp: New testcase.
	* lib/mi-support.exp (mi_execute_to_helper): Add new argument
	so you can specify a pattern to match WHILE running.
	(mi_execute_helper): Pass on the new pattern.
	(mi_continue_to): Pass on the new pattern.
	
2007-05-01  Jim Ingham <jingham@apple.com>

	* gdb.apple/po.exp: Somebody changed the print-object output
	for NSString.
	
2007-04-24  Jim Ingham <jingham@apple.com>

	* lib/gdb.exp (gdb_start, default_gdb_start): Accept an
	optional "extra_flags" argument so we can add "-arch" flag
	more cleanly.
	* gdb.apple/arch-test.exp: Use argument to gdb_start.
	
2007-04-18  Jim Ingham <jingham@apple.com>

	* gdb.apple/arch-test.exp: Unset the GDBFLAGS variable.
	
2007-04-18  Jim Ingham <jingham@apple.com>

	* gdb.apple/arch-test.{c,exp}: Test the "-arch" flag.
	
2007-04-16  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/info-shared-addr.exp: Don't require the presence of cfm
	support.

2007-04-12  Caroline Tice  <ctice@apple.com>

        * gdb.apple/nested-inlines-xcode-1.exp: Modify messages (for
        outout matching) to reflect new variable state message.
        * gdb.apple/nested-inlines-xcode-1.x86.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-2.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-2.x86.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-3.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-3.x86.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-4.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-4.x86.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-5.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-5.x86.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-6.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-6.x86.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-7.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-7.x86.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-8.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-8.x86.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-9.exp: Likewise.
        * gdb.apple/nested-inlines-xcode-9.x86.exp: Likewise.
 
2007-03-22  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Update to work
	correctly with DWARF/current gdb output.

2007-03-16  Jim Ingham  <jingham@apple.com>

	* gdb.apple/anon-struct.exp: Add a test for 
	-var-info-path-expression.
	
2007-03-15  Jim Ingham  <jingham@apple.com>

	* lib/mi-support.exp (mi_continue_to_watchpoint): New proc
	(mi_execute_to_helper):  Added extra_before & extra_after instead
	of just extra.
	(mi_execute_to, mi0_execute_to): pass the new argument.
	* gdb.apple/watch-location.{c,exp}: New tests.
	
2007-03-06  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/info-shared-addr.exp: Remove metrowerks command
	uses.

2007-03-01  Caroline Tice  <ctice@apple.com>

	* gdb.apple/macscp-inlining.exp: Remove check for file names.
	* gdb.apple/macscp-inlining.x86.exp: Likewise
	* gdb.apple/nested-inlines-console.exp: Fix line numbers for first line
	of stepping into inlined subroutine.
	* gdb.apple/nested-inlines-console.x86.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-mi.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-mi.x86.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-2.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-2.x86.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-3.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-3.x86.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-4.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-4.x86.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-5.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-5.x86.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-6.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-6.x86.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-7.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-7.x86.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-8.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-8.x86.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-9.exp: Likewise.
	* gdb/testsuite/gdb.apple/nested-inlines-xcode-9.x86.exp: Likewise.

2007-02-28  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gen-x86-prologues.rb: Update the .exp generator along
	the lines of Greg's last change so it doesn't get overwritten next
	time this is run.

2007-02-28  Greg Clayton (gclayton@apple.com)

	* gdb.apple/gen-x86-prologues.exp: Don't look for line information
	for the pattern_N cases since it is bogus for DWARF and correctly
	missing for the dSYM case.

2007-02-20  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/cfm.exp: Enable the inferior-auto-start-cfm which is now
	disabled by default.

2007-02-14  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/r3384998.exp: Handle 64-bit addresses correctly.

2007-02-05  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/checkpoint.exp: Disable these not-working test cases.
	* gdb.apple/gen-x86-prologues.rb: Don't run these tests for x86-64.
	* gdb.apple/gen-x86-prologues.exp: Regenerated.
	* gdb.apple/po.exp: Run these tests for x86-64.
	* gdb.apple/macsp-inlining.x86.exp: Don't run these tests for x86-64.
	* gdb.apple/nested-inlines-console.exp: Ditto.
	* gdb.apple/nested-inlines-mi.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-1.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-2.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-3.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-4.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-5.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-6.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-7.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-8.x86.exp: Ditto.
	* gdb.apple/nested-inlines-xcode-9.x86.exp: Ditto.
	* gdb.apple/prologue-x86.exp: Ditto.
	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Don't run these
	tests for 64 bit programs.
	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Ditto.
	* gdb.apple/fix-and-continue/small-objc/fix-small-objc.exp: Ditto.
	* gdb.arch/i386-prologue.exp: Ditto.

2007-02-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ld-r/ld-r.exp: Update to work in a non-Essential Symbols
	world.

2007-01-29  Jim Ingham  <jingham@apple.com>

	* gdb.apple/malloc-history.{c,exp}: New tests.
	
2007-01-26  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/prologue-x86.c: Fix assembly label so it doesn't conflict.

2007-01-22  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/shantonu.exp: Fix one more -gused use.
	* gdb.apple/gused/split-pi.exp: Ditto.
	* gdb.apple/gused/type-qualifications.exp: Ditto.

2007-01-22  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/coalesced1.exp: Used -feliminate-unused-debug-symbols
	instead of deprecated -gused.
	* gdb.apple/gused/coalesced2.exp: Ditto.
	* gdb.apple/ld-r/ld-r.exp: Ditto.

2006-12-13  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gen-x86-prologues-patterns.txt: Fix more prologues to
	align their stacks to 16 byte boundaries.
	* gdb.apple/gen-x86-prologues.c: Regenerated.

2006-12-13  Jason Molenda  (jmolenda@apple.com)

	* lib/gdb.exp (gdb_compile): For the non-dSYM case, rm -rf the dSYM
	bundle.  It may have been created silently by the compiler or may be
	left over from a previous test run.

2006-12-13  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gen-x86-prologues-patterns.txt:  Make assembler
	labels unique.  Add required 16-byte alignment to one prologue's stack.
	Set reg to valid addr before dereferencing it.
	* gdb.apple/gen-x86-prologues.c: Regenerated.

2006-11-02  Caroline Tice  <ctice@apple.com>

	* gdb.apple/nested-inlines-xcode-5.exp: Add ".*" to one test to catch 
	new stuff the latest version of Leopard occasionally throws in.
	* gdb.apple/nested-inlines-xcode-6.exp. Likewise.
	* gdb.apple/nested-inlines-xcode-7.exp. Likewise.
	* gdb.apple/nested-inlines-xcode-8.exp. Likewise.
	* gdb.apple/nested-inlines-xcode-9.exp. Likewise.

2006-10-27  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ostream-defined.exp: Remove the code to execute the test
	with multiple debug file formats.

2006-10-27  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ostream-defined.exp: Add dwarf-2 cases.
	This should really use the current debug format and not try
	to iterate over them itself.  It was probably added before we
	were commonly running the testsuite in multiple debug file formats.

2006-10-20  Jim Ingham  <jingham@apple.com>

	* gdb.apple/ld-r/ld-r.exp: Call ranlib after running ar.
	* gdb.apple/debug-in-ofile/debug-in-ofile.exp: Don't run with dSYM
	as the test results don't make sense then.
	
2006-10-20  Stan Shebs  <shebs@apple.com>

	* gdb.apple/checkpoint.c, gdb.apple/checkpoint.exp: New files, testing
	for checkpoint/undo.

2006-10-19  Jim Ingham  <jingham@apple.com>

	* lib/gdb.exp (gdb_breakpoint_2): New proc, returns the breakpoint
	number, whether the breakpoint was set by file or just address, and
	the line or address.
	* gdb.apple/debug-in-ofile/*: Add tests for missing .o files for DWARF.
	
2006-09-20  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/r4098981.exp, gdb.apple/r4098981.c: Remove these tests.  We
	get the first dylib load notification before the program gets to _start
	and that makes the test unuseful.

2006-08-29  Caroline Tice  <ctice@apple.com>

	* gdb.apple/nested-inlines-*.x86.exp: Modifed all x86 test-cases to be
	less sensitive to variations in the compiler.

2006-08-22  Caroline Tice  <ctice@apple.com>

	* gdb.apple/nested-inlines-*.exp: Modified all the nested-inlines*
	test cases (both ppc & x86) to use new line numbers resulting from
	modifications to the code for handling inlined subroutines.

2006-08-16  Caroline Tice  <ctice@apple.com>

	* gdb.apple/macscp-inlining.exp: Add check to prevent running
	this version on x86.
	* gdb.apple/nested-inlines-xcode-1.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-2.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-3.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-4.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-5.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-6.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-8.exp: Likewise.
	* gdb.apple/nested-inlines-console.exp:  Add check to prevent
	running this version on x86; modify slightly to work on both
	Tiger & Leopard.
	* gdb.apple/nested-inlines-mi.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-7.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-9.exp: Likewise.
	   
2006-08-16  Caroline Tice  <ctice@apple.com>

	* gdb.apple/macscp-inlining.x86.exp: New file, x86 version of the
	existing test.
	* gdb.apple/nested-inlines-console.x86.exp: Likewise.
	* gdb.apple/nested-inlines-mi.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-1.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-2.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-3.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-4.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-5.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-6.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-7.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-8.x86.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-9.x86.exp: Likewise.

2006-08-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/macsxp-inlining.exp: Only run for DWARF-ish variations.
	Don't hardcode -gdwarf-2.
	* gdb.apple/nested-inlines-*.exp: Ditto.

2006-08-04  Caroline Tice  <ctice@apple.com>

	* gdb.apple/nested-inlines.c: Make output go to stderr instead of
	stdout.
	* gdb.apple/nested-inlines-mi.exp:  Use mi_next_to, mi_next_to, and
	mi_finish_to instead of mi_gdb_test.
	* gdb.apple/nested-inlines-xcode-9.exp: New test to test issuing
	commands from gdb console within xcode for maneuvering through 
	inlined subroutines.

2006-08-03  Jim Ingham  <jingham@apple.com>

	* gdb.apple/xcode/stack-list-frames-lite.exp: Test the -names argument.
	
2006-07-27  Caroline Tice  <ctice@apple.com>

	* gdb.apple/macscp1.c, macscp2.h, macscp3.h, macscp4.h: Files copied
	over from gdb.base for testing maneuvering through inlined subroutines.
	* gdb.apple/macscp-inlining.exp: New file for testing maneuvering through
	inlined subroutines.
	* gdb.apple/nested-inlines-mi.exp: Fix expected line numbers when
	breakpoint is set (by name) on inlined subroutine.
	* gdb.apple/nested-inlines-xcode-1.exp: Remove bad tty command; fix 
	resulting problem with exec-run.
	* gdb.apple/nested-inlines-xcode-2.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-3.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-4.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-5.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-6.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-7.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-8.exp: Likewise.

2006-07-20  Caroline Tice  <ctice@apple.com>

	* gdb.apple/nested-inlines.c: New file for testing maneuvering through
	inlined subroutines.
	* gdb.apple/nested-inlines-console.exp: Likewise.
	* gdb.apple/nested-inlines-mi.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-1.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-2.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-3.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-4.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-5.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-6.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-7.exp: Likewise.
	* gdb.apple/nested-inlines-xcode-8.exp: Likewise.


2006-07-13  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/help.exp: Account for new attach help text.

2006-07-08  Stan Shebs  <shebs@apple.com>

	* gdb.base/help.exp: Account for checkpoint help.

2006-06-12  Jim Ingham  <jingham@apple.com>

	* gdb.base/charset.exp: Don't try to convert from UTF-8 to 
	anything else.
	* gdb.base/charset.c: Add utf_8_string.
	
2006-06-07  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/recurse-stepi.exp: Disassemble recurse to aid in
	the reading of the log file after the fact.

2006-06-07  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/recurse-stepi.exp: Include stack pointer display.
	Check that the last two functions on the stack are recurse (a=10)
	followed by main.

2006-06-07  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/recurse.c: Copied from gdb.base.
	* gdb.apple/recurse-stepi.exp: Single instruction step through
	the recursion functions, checking that we can backtrace back to
	main at every point.

2006-05-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/weak.exp: Update to work correctly with ld64.

2006-05-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/open.exp: Test that the "open" command exists.

2006-05-08  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/pc-verify.exp: Also recognize "rip" as the name of the PC.

2006-04-27  Jason Molenda  (jmolenda@apple.com)

	* gdb.stabs/weird.exp: site_xfail a failure due to the warning
	because there is a zero-length text segment in the test file.

2006-04-18  Jim Ingham	<jingham@apple.com>

	* gdb.apple/anon-struct{-c.c, .cc, .exp}: New files,
	test varobj handling of anonymous structures and unions.
	* gdb.apple/anon-bitfield.exp: Account for the new way
	the anonymous children are named.

2006-04-05  Stan Shebs (shebs@apple.com)

	* gdb.apple/kdp.exp: New file, test some KDP commands.

2006-03-30  Stan Shebs (shebs@apple.com)

	* gdb.apple/setreg.c: Use a test value that doesn't sign-extend
	differently when PPC registers really are 64-bit.
	* gdb.apple/setreg.exp: Update to match.
	
2006-03-28  Stan Shebs (shebs@apple.com)

        * gdb.apple/setreg.exp: New test file, for register-setting.
        * gdb.apple/setreg.c: Source code to go with it.

2006-03-28  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/xcode/inf-call-interrupt-notsleep.c: New source
	file which calls a signal handler but not via sleep().
	sleep() calls down into a mach_wait type call which is frameless;
	the backtracer has to do prologue analysis to correctly understand
	that so it's not a useful test for non-prologue-analyzing backtracers.
	* gdb.apple/xcode/stack-list-frames-lite-sigtramp.exp: New test file.
	Ripped off entirely from Stan Shebs' stack-list-frames-lite.exp.

2006-03-24  Stan Shebs (shebs@apple.com)

	* gdb.apple/xcode/stack-list-frames-lite.exp: Recode to avoid
	tcl language errors if a test fails.

2006-03-16  Jason Molenda  (jmolenda@apple.com)

	* configure.ac: Correct darwin patterns to avoid adding
	gdb.gdbtk to SUBDIRS.
	* configure: Regenerated.

2006-03-16  Stan Shebs (shebs@apple.com)

	* gdb.apple/xcode/stack-list-frames-lite.exp: Correct to reflect
	fixes to the command, check whole stack.

2006-03-15  Stan Shebs (shebs@apple.com)

	* gdb.apple/xcode/callfuncs.c: Call more funcs.
	* gdb.apple/xcode/stack-list-frames-lite.exp: Add a bunch of tests;
	compare gdb's output more carefully.

2006-03-06  Greg Clayton  (gclayton@apple.com)

	* gdb.base/attach.exp(gdb_compile_fake_fat): Modified the apple
	local function to not do an extra compile that is architecture
	specific for the current architecture since that compile was
	already being done. Now we just re-use the original binary as
	the current architecture, and also avoid dSYM issues where
	there would be a UUID mismatch. A fat file is still created,
	but it uses the initial compilation, and an empty hppa
	architecture.
	* gdb.exp : Made the dsymutil related commands use
	remote_exec instead of manually executing the commands so that
	the commands automatically get added to the gdb.log log file.

2006-03-03  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/single-def.h, gdb.apple/single-def.exp, 
	gdb.apple/single-def-main.cc, gdb.apple/single-def-classdef.cc: New
	test case to guard against regressions in the DWARF debug map 
	single definition rule detection.

2006-03-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/univ-archive.exp: Send output about commands
	to the log file, not stdout.

2006-03-02  Greg Clayton  (gclayton@apple.com)

	* gdb.apple/univ-archive-file.c, gdb.apple/univ-archive-main.c
	gdb.apple/univ-archive.exp: Added a testcase to cover fat
	ranlib .a libraries being used with single architecture .o
	files to make sure our dwarf with debug map debugging can
	handle such cases.

2006-02-24  Greg Clayton  (gclayton@apple.com)

        * anon-bitfield.exp : fixed the anonymous bitfield test to
        be able to pass for DWARF with only 2 members instead of
        four members for stabs (2 of which were artificial).

        * weak.exp : fixed the testcase to be able to watch for the
        loading of both the standard executable and the separate
        debug objfile (dSYM).

        * gdb.exp : added code to remove any prior dSYM files that
        may still be around from previous runs and also added code
        following the compile to run dsymutil on the resulting
        executable if "dsym" or "dsym_strip" target board configurations
        were selected when running macosx board variants.

2006-02-24  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/coalesced1.exp: Don't force -gused; let the selected 
        debug style be used.
	* gdb.apple/gused/coalesced2.exp: Ditto.

2006-02-23  Stan Shebs  <shebs@apple.com>

	* gdb.mi/mi-cli.exp: Fix a couple regexp details.

	* gdb.apple/xcode/stack-list-frames-lite.exp: Add a test that actually
	checks that -limit works.

2006-02-13  Stan Shebs  <shebs@apple.com>

	* gdb.apple/bp-cond-objc.exp, gdb.apple/info-shared-addr.exp,
	gdb.apple/ivars.exp, gdb.apple/mi1-varobj.exp,
	gdb.apple/objc-rbreak.exp, gdb.apple/po.exp, gdb.objc/basicclass.exp,
	gdb.objc/myclass.exp, gdb.objc/nondebug.exp, gdb.objc/objcdecode.exp:
	Better test for 64-bit ObjC.
	* gdb.apple/cfm.exp: Test for 64-bit Carbon.
	* gdb.apple/ostype.exp: Better test for 64-bit Carbon.
	* gdb.apple/slipnslide.exp: Better test for 64-bit Darwin.

2006-02-01  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ivars.exp: Shorten timeout to 30 sec instead of 120sec.

2006-01-29  Stan Shebs  <shebs@apple.com>

	* gdb.mi/mi-file.exp: Using braces for a list.
	* gdb.mi/mi-syn-frame.exp: Update to reflect local output differences.

2006-01-17  Stan Shebs  <shebs@apple.com>

	* gdb.threads/schedlock.exp: Re-disable, still having
	predictability problems.

2005-12-15  Greg Clayton (gclayton@apple.com)

	* gdb.apple/mi1-varobj.exp: Updated to test the new block specification for
	address and for file:line when creating a varobj.
	* gdb.apple/objc-prog.m: Added a new integer global "outer".
	
2005-12-13  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi2-stepi.exp: Update to new line numbers for current
	version of basics.c.

2005-12-12  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/pending.exp: site_xfail two tests
	that fail because our gdb knows about dylibs
	before execution begins.

2005-11-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.arch/i386-unwind.c: Same as i386-prologue.c.

2005-11-28  Jason Molenda  (jmolenda@apple.com)

	* gdb.arch/i386-prologue.c: Define SYMBOL_PREFIX on MacOS X.

2005-11-17  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/nick.exp: Remove /tmp/dyld symlink before
	creating a new one so a previous build's symlink doesn't
	point us to the wrong one (and cause a testsuite failure).

2005-11-14  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/help.exp: Update expected regexp to match current
	output.
	* gdb.base/interp.exp: Bail on this currently-uninteresting
	testsuite file instead of fixing it.
	* gdb.mi/mi-cli.exp: Fix "stopped" messages to match Apple
	local output style.

2005-11-14  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi2-syn-frame.exp: Add needed backquote before newline.

2005-11-14  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/slipnslide.exp: Initialize variables to 0
	to avoid undefined variable reference errors.

2005-11-14  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi-syn-frame.exp: Add needed backquote before newline.
	* gdb.mi/mi2-syn-frame.exp: Ditto.
	* gdb.mi/mi2-var-display.exp: Expect "times" field in breakpoint hit
	msg.

2005-11-14  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi-syn-frame.exp: Remove cvs conflict marker that
	was sticking around.

2005-11-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/callfuncs.c: Include stdio.h for printf prototype.

2005-11-10  Jason Molenda  (jmolenda@apple.com)

	* gdb.gdbtk/insight-support.exp: Don't run Insight tests on MacOS X.

2005-11-10  Chris Friesen (friesen@apple.com)

	* gdb.apple/xcode/xcode-mi-cmds-exist.exp: New test case.

2005-11-09  Jason Molenda  (jmolenda@apple.com)

	* configure.ac: Correct unconfiguration of
	gdb.gdbtk dir.
	* configure: Regenerated.
	* gdb.apple/long-long-call.cc: Add #include
	to get correct printf() prototype.

2005-11-01  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/slipnslide.exp: Don't bother disabling cached symfiles.

2005-11-01  Jason Molenda  (jmolenda@apple.com)

	* gdb.gdb/complaints.exp: Add "-nx" to gdb invocation.

2005-10-11  Jim Ingham  <jingham@apple.com>

        * gdb.base/psymtab.exp: "set breakpoint pending off" before
        running the test, since we don't actually want to be queried
        about the breakpoint.
        
2005-10-03  Jason Molenda  (jmolenda@apple.com)

        * gdb.mi/mi2-until.exp: Mised a "hit-count" -> "times" case.

2005-10-03  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/inf-call-interrupt.exp: Update to expect "times" instead of
        "hit-count".
        * gdb.mi/mi-syn-frame.exp: Ditto.
        * gdb.mi/mi2-syn-frame.exp: Ditto.
        * lib/mi-support.exp: (mi_get_bp_stopped, mi_finish_to, 
        mi0_continue_to): Ditto.

2005-09-30  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/inf-call-interrupt.exp: Expect a hit count for the
        breakpoint.
        * gdb.mi/mi-syn-frame.exp: Ditto.
        * gdb.mi/mi2-syn-frame.exp: Ditto.
        * lib/mi-support.exp: (mi_get_bp_stopped, mi_finish_to, 
        mi0_continue_to): Ditto.

2005-09-12  Klee Dienes  <kdienes@apple.com>
        
        * gdb.base/help.exp: Update expected help string output.

2005-09-12  Klee Dienes  <kdienes@apple.com>

        * gdb.mi/mi2-disassemble.exp: Update to new syntax / options
        for -data-disassemble.

2005-09-08  Jim Ingham  <jingham@apple.com>

        * gdb.apple/ld-r/{*-2.cc, *-2.h}: New files so we can make
        two ld-r .o files.
        * gdb.apple/ld-r/ld-r.exp: Build these.  Also add tests for the
        .o vrs. N_OSO timing checks.

2005-08-22  Jim Ingham  <jingham@apple.com>

        * gdb.apple/ostream-defined.{c,exp}: New testcase for 4172150 and
        4227075.

2005-08-15  Jim Ingham  <jingham@apple.com>

        * gdb.apple/objc-prog.m: Add a function that uses the 
        various NS types that we test for in po.exp.  This will
        reduce spurious differences between -gused & -gfull testing.

2005-07-27  Jason Molenda  (jmolenda@apple.com)

        * gdb.base/bigcore.exp: Disable.  This test is getting incredibly 
        tiresome.

2005-09-27  Jim Ingham  <jingham@apple.com>

	* gdb.apple/anon-bitfields.{cc,exp}: MI testcase for anonymous
	struct elements.
	
2005-09-13  Jim Ingham  <jingham@apple.com>

	* gdb.apple/r4183684.{cc,exp}: Testcase for r. r4183684.
	
2005-09-06  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/type-qualifications.{c,exp}: Testcase for r. 4239689.

2005-08-22  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/struct-in-struct.{c,exp}: New testcase for r. 4223302.

2005-08-18  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/psym-type-defn.{c,exp}: New testcase for r. 4223137.

2005-08-17  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ld-r/Makefile.in: New file.
	* configure.ac: Add gdb.apple/gused and gdb.apple/ld-r directories.
	configure should be regenerated but I'm not sure where that's supposed
	to be done from right now so I'll deal with it later.

2005-08-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/shantonu.{c,exp}: New test case for another -gused
	thing.

2005-08-09  Klee Dienes  <kdienes@apple.com>

	* gdb.base/store.exp (check_set): Fix typo in test message.

2005-08-09  Klee Dienes  <kdienes@apple.com>

	* gdb.mi/mi2-hack-cli.exp: Use "show print pretty" instead of
	"show architecture", since that actually has a starting value.
	Expect MI-style value output, not the CLI-style text.

2005-08-09  Klee Dienes  <kdienes@apple.com>

	* gdb.mi/mi2-var-display.exp: Add support for the "shlib"
	field in breakpoint output.

2005-08-09  Klee Dienes  <kdienes@apple.com>

	* gdb.threads/manythreads.exp: Match the Apple-style
	thread-switching messages.

2005-08-09  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/info-shared-addr.exp: Test new use of 
        parse_and_eval_address in "info shared" command.

2005-08-09  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/split-pi.{c,exp}: New test case from a radar.

2005-08-05  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/coalesced{1,2}.exp: Fix test case code.

2005-08-03  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused/coalesced{1,2}.exp: Make test case names unique.

2005-08-03  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/bigcore.exp: Stop running this test.

2005-08-03  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/coalesced2{a.cc,b.cc,.exp}: Fix copy-and-pasteo.

2005-08-03  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gused: New directory for tests explicitly designed to test
	-gused debug problems.
	* gdb.apple/coalesced1{a.cc,b.cc,.h,.exp}: New test case.
	* gdb.apple/coalesced2{a.cc,b.cc,.h,.exp}: New test case.

2005-08-03  Stan Shebs  <shebs@apple.com>

	* gdb.base/sigbpt.exp: Skip for all Darwin architectures.
	* gdb.base/signull.exp: Parametrize the signal name, skip
	testing of continuing through exceptions.
	* gdb.base/sigstep.exp: Skip testing of singlestep out
	of exception handler.

2005-08-03  Klee Dienes  <kdienes@apple.com>

	* gdb.mi/mi2-var-display: Update tests to match the Mac OS X
	behavior of not printing frame information on every stop.
	* gdb.stabs/execlfwd.exp: Mark the stabs tests as working on
	Mac OS X.

2005-08-03  Klee Dienes  <kdienes@apple.com>

	* configure.ac: Add stabs tests for *-apple-darwin*.
	* configure: Regenerate.

2005-08-02  Klee Dienes  <kdienes@apple.com>

	* lib/gdb.exp (gdb_compile_shlib): Add appropriate compile
	arguments for Mac OS X.

	* gdb.base/pending.exp: Remove host-specific conditionalization;
	just use gdb_compile_shlib.
	* gdb.base/shlib-call.exp: Ditto.

2005-07-26  Stan Shebs  <shebs@apple.com>

	* gdb.base/fileio.c: Whack a stray newline.
	* gdb.base/sigbpt.exp: Add local notes, skip unsupported tests
	entirely.
	* gdb.base/store.exp: Add local markers, whack a couple of bogus
	lines.
	* gdb.base/structs.exp (test_struct_returns): Fix one more merge
	bogosity.
	* gdb.cp/gdb1355.exp: Add a local marker.
	* gdb.cp/templates.exp: Ditto.

2005-07-18  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/bigenum.c, bigenum.exp: New test case for bug over
        in 4184583.

2005-07-15  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/scoped-typedefs.exp, scoped-typedefs.cc: New test case
        for code similar to MiG-generated stuff.
        * gdb.apple/incomplete-cplus-type.exp, incomplete-cplus-type.cc: New
        test case to check for a compiler stabs bug.

2005-07-14  Klee Dienes  <kdienes@apple.com>

	* structs.exp: Clean up some merge mess.

2005-07-14  Klee Dienes  <kdienes@apple.com>

	* altivec-abi.exp: Use -faltivec, not -maltivec.
	* altivec-regs.c: Remove the Apple-specific header.
	* altivec-regs.exp: Move the Apple-local check to the right
	location.
	* e500-prologue: Skip on Apple platforms.
	
2005-06-21  Klee Dienes  <kdienes@apple.com>

	* sigbpt.exp: Paramaterize the name of the expected signal
	(SIGSEGV) as the variable signame.  On Mac OS X systems, set
	signame to be "EXC_BAD_ACCESS."  Also suppress (with an error) the
	parts of the file where we try to continue over an EXC_BAD_ACCESS
	with a signal handler set on EXC_BAD_ACCESS (GDB will loop
	infinitely).
	(stepi_out): Update to use signame.  Update calls to stepi_out.
	(cont_out): Update to use signame.  Update calls to cont_out.
	
2005-06-07  Jason Molenda  (jmolenda@apple.com)
 
        * gdb.apple/gen-x86-prologues-patterns.txt: Add patterns for
        instructions in prologues on a Red Hat FedoraCore 2 system.
        * gdb.apple/gen-x86-prologues.rb: Add a word of writable memory
        for instruction tests.
        * gdb.apple/gen-x86-prologues.c, gen-x86-prologues.exp: Rengenerate.

2005-05-27  Klee Dienes  <kdienes@apple.com>
	
	* gdb.base/bigcore.exp: Modify it to run when cross-compiling from
	ppc to ppc64.  Then turn around and disable it for ppc64, due to
	<rdar://problem/4133581> gdb test-suite disables bigcore.exp.

2005-05-27  Klee Dienes  <kdienes@apple.com>

	* gdb.base/dump.c: Declare teststruct static, to work around
	<rdar://problem/4127694> ld on powerpc64 strips too much.

2005-05-26  Klee Dienes  <kdienes@apple.com>

	* gdb.base/signals.exp: Remove global XFAIL for a signal-handling
	test that we appear to have fixed.

2005-05-26  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/slipnslide.exp: Add workaround for 4126196 -
	start-with-shell breaks DYLD_INSERT_LIBRARIES on ppc64.

2005-05-26  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/bp-cond-objc.exp: Skip Carbon and Objective-C tests on ppc64.
	* gdb.apple/info-shared-addr.exp: Ditto.
	* gdb.apple/ivars.exp: Ditto.
	* gdb.apple/mi1-varobj.exp: Ditto.
	* gdb.apple/objc-rbreak.exp: Ditto.
	* gdb.apple/objc-rbreak.exp: Ditto.
	* gdb.apple/ostype.exp: Ditto.
	* gdb.apple/po.exp: Ditto.
	* gdb.apple/fix-and-continue/small-objc/fix-small-objc.exp: Ditto.
	* gdb.objc/basicclass.exp: Ditto.
	* gdb.objc/myclass.exp: Ditto.
	* gdb.objc/nondebug.exp: Ditto.
	* gdb.objc/objcdecode.exp: Ditto.

2005-05-25  Klee Dienes  <kdienes@apple.com>

	* gdb.base/callfuncs.exp: Remove kfails for gdb/1457 on ppc64 ---
	they work on Darwin/ppc64.

2005-05-25  Klee Dienes  <kdienes@apple.com>

	* gdb.base/float.exp: Recognize powerpc*-*-*, to handle ppc64.
	
2005-05-25  Klee Dienes  <kdienes@apple.com>

	* gdb.base/attach.exp (gdb_compile_fake_fat): Determine the
	architecture based on the files generated by gdb_compile, not by
	the output of 'arch' (because for powerpc64, we will be
	cross-compiling using -arch ppc64).

2005-05-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/po.exp: Call [NSNumber numberWithDouble].  One some
	architectures whose arguments are passed on the stack, there is a
	difference between a float arg and a double arg.  gdb doesn't have
	a prototype for this member function, so it passes a double.  But
	the member function is expecting a float.

2005-05-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/pc-verify.exp: Correct FP vs stack frame noise on x86.

2005-05-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gen-x86-prologues-patterns.txt: Add xorps.
	* gdb.apple/gen-x86-prologues.c, gen-x86-prologues.exp: Regenerated.

2005-05-18  Stan Shebs  <shebs@apple.com>

	Whack cached symfile testing.
	* gdb.apple/cachedsym-1.exp: Remove.
	* gdb.apple/cachedsym-proc.exp: Remove.
	* gdb.apple/cachedsym-lib/*: Remove.

2005-05-18  Klee Dienes  <kdienes@apple.com>

	* gdb.threads/pthreads.exp: Revert the "break common_routine"
	check to the FSF sources.  We were trying to use "thread apply 3
	break foo" as a substitute for "break foo thread 3", which doesn't
	actually work.  Plus we seem to have fixed the bug that was
	breaking "break foo thread 3".

2005-05-18  Klee Dienes  <kdienes@apple.com>

	* gdb.base/structs.exp: Comment out FSF kfails for bugs we have
	fixed.

2005-05-18  Klee Dienes  <kdienes@apple.com>

	* gdb.base/step-test.exp: When using stepi through a function
	prologue, handle the case where we step into i686.get_pc_thunk.

2005-05-18  Klee Dienes  <kdienes@apple.com>

	* gdb.base/float.exp: Fix bug in the "float" regex.

2005-05-18  Klee Dienes  <kdienes@apple.com>

	* gdb.base/bigcore.exp: Match the changes to corefile.exp, to
	prevent copying huge corefiles to networked volumes.

2005-05-18  Klee Dienes  <kdienes@apple.com>
	
	* gdb.apple/dynaload.exp: Add "-multiply_defined suppress," to
	prevent multiple-definition errors for our duplicate fputs.

2005-05-17  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/fix-and-continue/small-c/b-valid-4.c, b-valid-5.c: New      
        test files to help test for correct picbase reg setup.
        * gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: New tests
        specifically to look for correct picbase reg setup.
        * gdb.apple/fix-and-continue/small-c/Makefile: Build them.

2005-05-16  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/cachedsym-1.exp: Suppress warning message.
	* gdb.asm/asm-source.exp: Supporess warning message.
	* gdb.mi/*.exp: Supporess warning message.
	* gdb.threads/schedlock.exp: Re-enable tests; we can now use the
	  non-determinate xfail stuff to prevent spam.

2005-05-16  Klee Dienes  <kdienes@apple.com>

	* gdb.base/bigcore.c: Print PID, so bigcore.exp can find the corefile.
	* gdb.base/bigcore.exp: Update to find Mac OS X-style corefiles.

2005-05-16  Klee Dienes  <kdienes@apple.com>

	* gdb.base/corefile.exp: Update to not print error messages when
	unable to create core files.

2005-05-12  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/weak.exp: Adjust to accomodate some libraries
	being found and loaded earlier in the process.

2005-05-12  Jim Ingham  <jingham@apple.com>

	* gdb.apple/file-statics.exp: Dwarf lists the statics in the
	opposite order from stabs.  Adjust the tests to work for both.
	
2005-05-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/nick.c, nick.exp: New files to test the debugging
	setup used by dyld developers.

2005-05-06  Klee Dienes  <kdienes@apple.com>

	* gdb.base/corefile.exp: Remove the corefile after we are done
	with the test.

2005-05-06  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/slipnslide.exp: Use 'fputs' instead of 'printf',
	to avoid having to deal with the multiple versions of printf
	in libSystem.

2005-05-06  Klee Dienes  <kdienes@apple.com>

	* gdb.cp/templates.exp: Allow output of 'ptype quxint' to
	explicitly list the cast in the type information, to match
	gcc-4.0.

2005-05-04  Klee Dienes  <kdienes@apple.com>

	* gdb.base/annota1.exp: Modify to cope with 'break printf'
	actually setting more than one breakpoint, by using 'break
	sleep' in place of 'break printf'.
	* gdb.base/annota3.exp: For uniformity, make the same changes
	to annota3.exp.
	* gdb.base/annota1.c: Replace calls to printf() with sleep().
	Nothing is using the output from printf() ... the test-cases
	just want something in the system library on which they can
	set a breakpoint.
	* gdb.base/annota3.c: Ditto.

2005-05-04  Klee Dienes  <kdienes@apple.com>

	* gdb.base/annota3.exp: Modify to cope with 'break printf'
	actually setting more than one breakpoint.
	* gdb.base/annota3.c: Modify to replace 'printf' with 'myprintf'.

2005-05-03  Klee Dienes  <kdienes@apple.com>

        * gdb.base/structs.exp: When compiled without optimization,
        our compiler passes in scratch buffers to functions that
        return structures, then copies the results to the appropriate
        area.  So when we return from the function unexpectedly, the
        result can be filled with garbage data.  Update the tests to recognize
        this.

2005-05-03  Klee Dienes  <kdienes@apple.com>

	* gdb.base/float.exp: Add new "float" regex to match
	floating-point numbers.  Update the "info float" recognizer to
	use ${float}, as we shouldn't be assuming that all of the floating
	point registers are zero.

2005-04-29  Jim Ingham  <jingham@apple.com>

	* gdb.apple/r4098981.c, gdb.apple/rr4098981.exp:  New
	testsuites to make sure we actually insert breakpoints
	in functions run before the first gdb-dyld event.
	
2005-04-28  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/x86-frameless-crasher.c, gdb.apple/x86-frameless-crasher.exp:
	New testsuite to test gdb's ability to backtrace from a frameless leaf function
	that segfaults.

2005-04-26  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ostype.exp, gdb.apple/ostype.c: New files.  Written
	by Klee Dienes.

2005-04-21  Jim Ingham  <jingham@apple.com>

	* gdb.apple/file-statics-cpp.cpp: New file.
	* gdb.apple/file-statics.exp: Add some C++ tests to make sure we
	are handling variables in namespaces, C++ const's and demangling
	correctly.
	
2005-04-20  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/gen-x86-prologues.rb: Generate a test source file and
	test cases for x86 function prologues.
	* gdb.apple/gen-x86-prologues-patterns.txt: Input file, based on
	various optimized prologues that caused gdb problems.
	* gdb.apple/gen-x86-prologues.c, gdb.apple/gen-x86-prologues.exp:
	Generated.

2005-04-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/prologue-x86.exp: Move architecture test before compile.

2005-04-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/prologue-x86.exp: Add lots of new tests for the
	backtrace-through-sigtramp-and-mach_wait_until() as well as
	tests that stop execution in the actual functions with bad
	prologues so we can be sure the 
	default-behavior-when-we-don't-know-what's-up doesn't paper over
	any regressions.

2005-04-12  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/prologue-x86.c: Pacify the compiler.
	* gdb.apple/prologue-x86.exp: Make sure we can correctly backtrace
	to start() and stop backtracing right there.

2005-04-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/prologue-x86.c (objc_msgForward_pattern): Prologue
	mirroring the hand-written assembly found in _objc_msgForward.
	* prologue-x86.exp: New test case to test it.

2005-04-09  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/prologue-x86.c, prologue-x86.exp: Correct function 
        names a bit.
        * gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Don't disable
        these tests on x86 hosts.
        * .../small-c/mi-fix-small-c.exp: Ditto.
        * .../small-objc/fix-small-objc.exp: Ditto.
        * .../small-objc/Makefile: Update.

2005-04-04  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/prologue-x86.c: Sleep for two seconds while waiting for
	alarm(1).
	* gdb.apple/prologue-x86.exp: Fix nameo.

2005-04-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/prologue-x86.c, prologue-x86.exp:  Write a few testcases
	to catch regressions in the prologue analyzer.

2005-03-31  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/file-statics.exp: Gcc 4.0 outputs the statics in a 
	different order.
	* gdb.apple/info-shared-addr.exp: Correct testcase.

2005-03-23  Jason Molenda  (jmolenda@apple.com)

	* gdb.arch/i386-prologue.c: We use underscores in our assembly, eh.
	* gdb.arch/i386-unwind.c: Ditto.

2005-03-23  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/pc-verify.exp: Generalize the expected output a bit.

2005-02-23  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Only run on
	powerpc-apple-*.  
	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Only run on
	powerpc-apple-*.
	* gdb.apple/fix-and-continue/small-objc/fix-small-objc.exp: Only run
	on powerpc-apple-*.

2005-02-10  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Expect the
	first line with code on it when we set the pc to the start of a
	function (thread-set-pc will move the line over the function prologue).

2005-01-21  Jim Ingham  <jingham@apple.com>

	* gdb.base/maint.exp: We are now making breakpoints as -<n> 
	internal breakpoints, rather than 0.  Change testsuite to
	reflect that.
	
2005-01-13  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/weak.exp: Update breakpoint setting text to
	match current gdb behavior.
	* gdb.base/relocate.exp: Expect __TEXT, not __text as per the
	recent changes to symfile.c.

2004-12-06  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/weak.exp: Update pattern text to recognize the
	fix for r. 3586790.

2004-11-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/slipnslide.exp: Update expected output text to
	match what the new dyld interface puts out.

2004-10-28  Jim Ingham  <jingham@apple.com>

	* gdb.cp/cplus-local-vars.exp: We put out a "+" in the shared
	library progress when we reread a shlib.  
	* gdb.apple/file-statics.exp: Oops, I put in an actual hex
	from one run.
	* gdb.apple/inf-call-interrupt.exp: Add the shlib output
	to the break-insert result.
	* gdb.apple/mi1-varobj.exp: Ditto.
	* gdb.apple/stack-list-frames-lite.exp: Ditto.
	* gdb.apple/var-list-children.exp: Ditto.
	* gdb.mi/mi-break.exp: Ditto.
	* gdb.mi/mi-syn-frame.exp: Ditto.
	* gdb.mi/mi2-syn-frame.exp: Ditto.
	* gdb.mi/mi2-simplerun.exp: Ditto.
	* gdb.mi/mi2-syn-frame.exp: Ditto.
	* gdb.mi/mi2-until.exp: Ditto.
	* gdb.mi/mi2-var-command.exp: Ditto.
	* gdb.mi/mi2-var-display.exp: Ditto.
	* gdb.mi/mi2-watch.exp: Ditto.
	* lib/mi-support.exp: Ditto.
	
	* gdb.apple/slipnslide.exp: With the libSystem posix equivalent
	symbol, break printf may make more than one breakpoint.
	* gdb.base/annota1.exp: Ditto.
	* gdb.base/annota1.exp: Ditto.
	
2004-10-12  Jim Ingham  <jingham@apple.com>

	* gdb.apple/mi1-varobj.exp: gcc 4.0 calls "id" 
	struct objc_object * and Class struct objc_class *...
	
2004-10-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/cfm.c, dylib-loader.c, libmylib.c, libmysecondlib.c, 
	libweak.c, weak-prog.c: Include the necessary header files to get
	prototypes for these test programs.

2004-10-10  Klee Dienes  <kdienes@apple.com>

	* gdb.mi/gdb792.exp: Force to mi1.
	* gdb.mi/mi-syn-frame.exp: Force to mi1.
	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp:
	Use remote_exec to build the binaries, not 'shell make' from within GDB.

2004-10-08  Jim Ingham  <jingham@apple.com>

	* gdb.apple/file-statics.c: New file.
	* gdb-apple/more-statics.c: New file.
	* gdb.apple/file-statics.exp: New file.
	
2004-10-01  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/info-pid.exp: Don't use mi_gdb_test to test
	set-interpreter, because the double-prompt triggers a race
	condition.  Instead, use a special-cased test.

	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Use the
	correct line number for the start of slurry() (it's the start of
	the prologue, not the start of the first non-prologue
	instruction).
	
2004-09-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Fix
	expected output.

2004-09-27  Jim Ingham  <jingham@apple.com>

	* gdb.base/chng-syms.exp: Add a test expression to catch our
	gdb's behavior.  We don't delete a breakpoint if we can't
	evaluate it's condition.
	
2004-09-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-objc/Makefile: Use 
	-freplace-objc-classes instead of using the old assembly stub
	of our own creation to do the same.
	* .../small-objc/reload-stub.s:  Add comment.
	* .../fix-small-objc.exp: Update testsuite to expect new text.

2004-09-13  Jim Ingham  <jingham@apple.com>

	* gdb.base/maint.exp: Add a test for the longjmp breakpoints.
	
2004-09-10  Jim Ingham  <jingham@apple.com>

	* gdb.apple/bp-cond-objc.exp: We now print the condition of a
	breakpoint if we couldn't parse it, but we say we couldn't parse
	it.

	* gdb.apple/dynaload.exp: We are no longer complaining about
	not being able to find shared libraries on future-break with -shlib.

	* gdb.apple/po.exp: Adjust to changes in the NSLog "%@" printing
	for Tiger.
	
2004-09-08  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/ifnospace.exp: Two new tests to verify zero space chars
        after 'if' and 'while' commands in a user-defined command is correctly
        parsed.
	Submitted to the FSF as a part of gdb.base/define.exp.

2004-08-04  Klee Dienes  <kdienes@apple.com>

	* gdb.base/attach.exp: Recognize the "unable to locate
	process" response to attaching to arbitrary strings.  Revert the
	"don't specify filename" part of the patch on 2004-07-30.

2004-08-04  Klee Dienes  <kdienes@apple.com>

	* gdb.base/corefile.exp: Refer to the corefil as ${corefile}
	in all the various tests.

2004-07-30  Klee Dienes  <kdienes@apple.com>

	* gdb.base/attach.exp: Generate a fat binary, to make sure GDB
	is able to properly select the OSABI when attaching.  Don't specify
	the filename explicitly on OSX; force GDB to determine it from the
	process being attached to.

2004-07-29  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/slipnslide.exp: Use $mi_gdb_prompt, not $gdb_prompt.

2004-07-29  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/slipnslide.exp: Update to use new "description" field.

2004-07-21  Jim Ingham <jingham@apple.com>

	* gdb.base/break.exp: We were doing two send_gdb's in a
	row followed by a gdb_expect that didn't match at all against
	the first send_gdb.  That was causing a race that led to spurious
	failures.  So I deleted the first send_gdb.
	
2004-07-19  Jason Molenda  (jmolenda@apple.com)

	* configure.in: Emit a makefile in $objdir/gdb.apple/xcode/.

2004-06-21  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/corefile.exp: Don't try to copy the corefile to
	the dejagnu directory --- it takes forever and causes permissions
	issues.  Mention permissions of /cores in the "things to check
	if cores aren't being generated" message.

2004-06-15  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/cachedsym-1.exp: Disable file.
	* gdb.apple/dynaload.exp: Allow for negative slides.
	* gdb.apple/slipnslide.exp: Allow for negative slides.
	* gdb.apple/weak.exp: Convert to pending breakpoint output.
	* gdb.apple/xcode/exec-abort.exp: Create the build directory, if it does not exist.

2004-06-01  Jason Molenda  (jmolenda@apple.com)

	* gdb.objc/nondebug.exp: Add APPLE LOCAL pattern tweak.

2004-05-26  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/dirname-tab.exp: New test to make sure tab
	completion works the first time on a directory name.

2004-05-25  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/objc-rbreak.exp:  Try hitting one of our
	rbreak-set breakpoints and then stepping into an ObjC class.
	Regexp not tested right now because muon-gdb doesn't do the
	rbreak right and TOT doesn't do the stepping right, but I
	think it's correct.

2004-05-21  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/struct-ret-err.exp: New test to look for type
	name in error message when 'finish' in func that returns
	structure.  
	* gdb.apple/struct-ret-err.c: Test file.

2004-05-17  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/info-shared-addr.exp: Change info sharedlibrary address
	test to use address of printf(); recent change to not store
	__TEXT segment separately means that the test for 
	start-address-of-libSystem was failing.

2004-05-10  Jim Ingham  <jingham@apple.com>
	* gdb/weak.exp: Correct the "continue to weak library bp"
	test for the changed shared library breakpoint output.
	
2004-05-10  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/cfm.exp: Leave the CFM stubs in /tmp for easier
	by-hand follow-ups.  They're only a couple of MB.

2004-05-07  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/pending.exp: Add site_xfail's for cases where
	breakpoints on MacOS X won't be pending (because we know
	about shared libraries linked against an executable) as
	the testsuite expects.

2004-05-05  Jason Molenda  (jmolenda@apple.com)
 
        * gdb.apple/xcode/exec-abort.exp: New testsuite file for
        -exec-abort MI command.
        * gdb.apple/xcode/callfuncs.exp: Arbitrary support program.

2004-04-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/objc-rbreak.exp: New test.
	* gdb.apple/bp-cond-objc.exp: Correct comments.

2004-04-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/xcode/var-list-children.exp: Add an additional test
	to examine one of the children varobj's which have values.

2004-04-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/xcode/var-list-children.exp: New file, simple test
	of basic var-list-children behavior that Xcode expects.
	* gdb.apple/xcode/structs.c: Test prog.

2004-04-28  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/objc-prog.m: Add [MyClass init] function with
	class to [super init], and call to [super init] in 
	+[MyClass newWithArg:]
	* gdb.apple/bp-cond-objc.exp: Clean up explicit line number
	breakpoint.

2004-04-28  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/xcode/stack-list-frames-lite.exp: regexp tweaks.

2004-04-28  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/xcode/stack-list-frames-lite.exp: Simple test of
	this MI command that Xcode uses.
	* gdb.apple/xcode/callfuncs.exp: Simple program that calls a few
	functions.

2004-04-22  Jim Ingham <jingham@apple.com>

	* gdb.apple/dynaload.exp: Test the -shilb breakpoints.
	* gdb.apple/libmysecondlib.c: Change the calling of
	foo to make this easier.
	
2004-04-20  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Fix
	regexp.

2004-04-15  Jim Ingham  <jingham@apple.com>

	* gdb.apple/dynaloader.exp: Build a second library so we can test
	things like not resetting already set breakpoints...
	* gdb.apple/libmysecondlib.c: New file
	* gdb.apple/dylib-loader.c: Use functions from second library.
	
2004-04-13  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Loosen
	regexp as to where we expect to stop in bar() after stepping into
	it.

2004-04-02  Jim Ingham (jingham@apple.com)

	* gdb.cp/derivation.exp: Many more additions of void in front of
	constructors.
        * gdb.cp/inherit.exp: Ditto
        * gdb.cp/local.exp: Ditto
        * gdb.cp/method.exp: Ditto
        * gdb.cp/overload.exp: Ditto
        * gdb.cp/templates.exp: Ditto
        * gdb.cp/virtfunc.exp: Ditto
	
2004-04-01  Jason Molenda  (jmolenda@apple.com)

	* gdb.cp/gdb1355.exp: Pass -Wno-long-double to suppress warnings.
	* gdb.cp/templates.exp: Ditto.

2004-03-31  Jim Ingham  (jingham@apple.com)

	* gdb.cp/classes.exp: Add a test for void in front of constructors,
	since our gcc reports default constructors with return types.
	
2004-03-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.java/jv-print.exp: Drop APPLE LOCAL change; we don't need it
	any more.

2004-03-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.asm/asm-source.exp: Don't run these on MacOS X.
	* gdb.base/corefile.exp: Grab the current FSF version, add only
	those changes that are really necessary for our platform..

2004-03-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/dynaload.exp: Update pattern to new pending-breakpoint
	output style.
	* gdb.apple/weak.exp: Ditto.
	* gdb.apple/ivars.exp: Recognize incorrect pending-breakpoint behavior
	and continue running tests.
	* gdb.apple/slipnslide.exp: Recognize missing shlib-event support;
	fail and continue running tests.

2004-03-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/cplus-local-vars.exp: Update to work with new
	gcc/gdb.  Rename from cplusplus-local-vars.

2004-03-30  Klee Dienes  <kdienes@apple.com>

	* gdb.base/printcmds.exp: We now print the stock "no
	registers" message instead of "no stack" when printing a
	register with inferior not running.

2004-03-30  Klee Dienes  <kdienes@apple.com>

	* gdb.base/fileio.c: Include <unistd.h>.  Delete a blank line later to
	make the line numbers match up.

2004-03-29  Jim Ingham  <jingham@apple.com>

	* gdb.mi/mi-cli.exp: Fix various things in the tests
	to make them work for Apple gdb, including:
	 1) changelists aren't anonymous
	 2) variable creation has extra fields in the output
	 3) use the mi_runto, mi_continue_to, mi_execute_to
	    rather than coding this each time...
	And other little random tweaks.
	* gdb.mi/mi-syn-frame.exp: Ditto
	* gdb.mi/mi-var-block.exp: Ditto
	* gdb.mi/mi-var-cmd.exp: Ditto
	* gdb.mi/mi-var-display.exp: Ditto
	* gdb.mi/mi2-cli.exp: Ditto
	* gdb.mi/mi2-simplerun.exp: Ditto
	* gdb.mi/mi2-syn-frame.exp: Ditto
	* gdb.mi/mi2-var-block.exp: Ditto
	* gdb.mi/mi2-var-child.exp: Ditto
	* gdb.mi/mi2-var-cmd.exp: Ditto
	* gdb.mi/mi2-var-display.exp: Ditto
	* gdb.mi/mi2-watch.exp: Ditto
	
2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/watchpoint.exp: Stepping through watchpoint works
	on OSX; remove the xfail.

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/store.exp: OS X cc requires -Wno-long-double
	* gdb.base/structs.exp: OS X cc requires -Wno-long-double

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/shlib-call.exp: No longer need future-break here;
	the pending-break stuff handles this case.

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/relocate.exp: Allow for section names other than
	"text" in the output from add-symbol-file.

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/gdb1555.exp: Add support for Mac OS X style shared libraries.
	* gdb.base/pending.exp: Add support for Mac OS X style shared libraries.
	* gdb.base/shreloc.exp: Add support for Mac OS X style shared libraries.

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/1476.exp: Allow EXC_BAD_ACCESS, not just SIGSEGV,
	for a call to null pointer.

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/float.exp: Fix merge snarl on the dispatch for the
	'info float' output.

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/default.exp: Expect the new diagnostic output from 'add-symbol-file'.

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/charset.exp: Expect the additional information
	("allowed values are") from 'set' on a var with enumerated values.

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/break.exp: Re-add the calls to the inferior in "hit
	silent break bp_location1" that were lost in the merge.
	Re-paramterize the breakpoint line numbers for marker2 (to
	bp_location8/bp_location9) (the test was duplicated in the merge).

2004-03-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/attach.exp: Don't call non-existent cleanup script.

2004-03-26  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/bigcore.c: Need to include sys/time.h for this to compile.
	* gdb.base/bigcore.exp: Skip test on MacOS X for now.

2004-03-26  Jim Ingham (jingham@apple.com)

	* mi-stack.exp: Convert to mi_execute_to, and add fp & dir to 
	stack return patterns, and variable reporting with only the
	name field should still be a list...
	* mi-stepi.exp: Ditto
	* mi-syn-frame.exp: Ditto
	* mi2-disassemble.exp: Ditto
	* mi2-return.exp: Ditto
	* mi2-simplerun.exp: Ditto
	* mi2-stack.exp: Ditto
	* mi2-stepi.exp: Ditto
	* mi2-until.exp: Ditto
	
2004-03-25  Jim Ingham (jingham@apple.com)

	* lib/mi-support.exp (mi_runto): Return -1 from ALL the
	error branches.
	
2003-11-16  Klee Dienes  (kdienes@apple.com)

	* gdb.apple/sections.exp: New test, to ensure that section
	tables are properly updated by 'add-symbol-file'.

2003-11-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/info-shared-addr.exp: Test metrowerks-address-to-name
	while I'm at it.

2003-11-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/info-shared-addr.exp: New test case, to test
	the new "info sharedlibrary <ADDRESS>" command.

2003-10-28  Jim Ingham <jingham@apple.com>

	* gdb.apple/slipnslide.exp: I fixed gdb so that it won't move
	the puts breakpoint from libmylib.dylib before running to 
	libSystem after.  Fix the testsuite to account for this.

2003-10-23  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/bp_cond_objc.exp: Renamed to..
	* gdb.apple/bp-cond-objc.exp: This.

2003-10-22  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/info-pid.exp: Add a few more cases where the inferior
	has exited.

2003-10-22  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/info-pid.c: New file.
	* gdb.apple/info-pid.exp: New tests for "info pid" aka "-pid-info" cmds.

2003-10-21  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/b-valid-2.c, b-valid-3.c:
	New files that add a new global variable in the middle of a fixing
	session.
	* .../small-c/fix-small-c.exp: Set the new global variable to a value
	after b-valid-2.c is brought in; then see if the value persists when
	b-valid-3.c is fixed in.
	* .../small-c/Makefile: Add build targets for new files.

	* gdb.apple/fix-and-continue/set-up-objdir.sh: Fix tar invocation
	for Panther.

2003-10-20  Jim Ingham <jingham@apple.com>

	* gdb.mi/mi1-disassemble.exp: Change the "mixed arguments" to 
	align with the change to allow "-s -n".

2003-10-16  Jason Molenda  (jmolenda@apple.com)

	* gdb.objc/myclass.exp: Reorder selector test order so we don't
	get the same selector for WiwKeeOrqwKxqIFjeqwJ twice by accident.
	Verify that we get the same selector for WiwKeeOrqwKxqIFjeqwJ in
	the same run.

2003-10-16  Jason Molenda  (jmolenda@apple.com)

	* gdb.c++/templates.exp: Pull in current FSF TOT version of this
	file to get some testsuite fixes.  Keep APPLE LOCAL patch at top
	to compile correctly on MacOS X.
	* gdb.java/jv-print.exp: Add APPLE LOCAL patch to match our gdb's
	output.
	* gdb.mi/mi1-disassemble.exp: Add APPLE LOCAL patch to match our
	gdb's output change to [data-disassemble]'s help output.
	* gdb.mi/mi1-var-block.exp: Correct expected output.
	* gdb.threads/schedlock.exp: Don't run these tests on MacOS X; they
	are random and unreproducible.

2003-10-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.c++/local.exp: Correct regexp.  Should contribute this back
	to the FSF - they don't know it's broken because the FSF gdb isn't
	printing anything for this case.

2003-10-14  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/cplusplus-local-vars.exp: Correct tests pass/fail text.
	* gdb.base/until.exp: Update to FSF TOT version to pick up loosened
	regexp.
	* gdb.c++/inherit.exp: Update to FSF TOT version to pick up updated
	regexps.

2003-10-13  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/printcmds.exp: Recognize Apple local output style.
	* gdb.base/float.exp: Add case to recognize PowerPC info float
	output.
	* gdb.apple/weak.exp: Generalize regexp to accept
	current style of output.
	* gdb.apple/slipnslide.exp: Fix regexps to match current
	output style of info sharedlibrary.  NB: I'm guessing on
	the correct syntax for the "libmylib and libsystem will
	both try to load at same addr" test -- this may need to be
	tweaked after r. 3451959 is fixed.

2003-10-09  Igor Likhatchev <igor@apple.com>

	* gdb.apple/slipnslide.exp: inserted '-gdb-set use-cached-symfiles off' 
	to expect output close to the original, when the test was written.

2003-10-09  Igor Likhatchev <igor@apple.com>

        * renamed gdb.apple/gcc_stabs_problem_3415844* test files to gdb.apple/cplusplus-local-vars* .
	Removed Radar number from specific test descriptions.

2003-10-08  Igor Likhatchev <igor@apple.com>

	* added gdb.apple/gcc_stabs_problem_3415844 test files.

2003-09-29  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/slipnslide.exp: Update to match the new commapage
	MI output fields.

2003-09-29  Jason Molenda  (jmolenda@apple.com)

	* maint.exp (maint internal-error): Don't expect to see "Create a
	core file of GDB?" question on internal error.

2003-09-24  Jim Ingham  <jingham@apple.com>

      * completion.exp: Test that "complete file ./gdb.base/compl" agrees with the
      result from sending a tab.

2003-09-18  Jim Ingham   <jingham@apple.com>

        * annota1.exp: Actually require the presence of the signal handler
        frame in the backtrace for the test testing the presence of the
        signal handler frame.

2003-09-18  Igor Likhatchev (igor@apple.com)

	* gdb.apple/r3384998.exp: Corrected expected reg. expression to eliminate
	false failure

2003-09-09  Jason Molenda  (jmolenda@apple.com)

        * gdb.objc/myclass.exp: Revert last.  Works correctly with
        TOT FSF sources, but not our current sources.

2003-09-09  Jason Molenda  (jmolenda@apple.com)

	* gdb.objc/myclass.exp: Add a new test for r. 3366832.  I should
	put this over in gdb.apple but with luck I'll get this contributed
	upstream soon.

2003-09-02  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/slipnslide.exp: Update to match the new commapage
	MI output fields.

2003-08-22  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/r3376901.exp: New test for backtrace + list.
	* gdb.apple/r3376901.c: Test file.
	* gdb.apple/r3384998.exp: New test for backtrace from $pc == 0x0.
	* gdb.apple/r3384998.c: Test file.

2003-08-12  Igor Likhatchev (igor@apple.com)

        * gdb.apple/ivars.exp: Increased timeout.

2003-08-08  Igor Likhatchev (igor@apple.com)

	*gdb.base/constvars.c:  Make use of structures crass and crisp,
	so debug info wouldn't be stripped with gcc option -gused.

2003-08-06  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/cfm.exp: Tweak expect regexp to match
	current gdb output style.

2003-07-31  Klee Dienes <kdienes@apple.com>

	* gdb.objc/myclass.exp: Test the selector cache; make sure it
	gets properly cleared between runs.

2003-07-24  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/b-invalid-12.c: New file which
	adds a call to an undefined external function.
	* .../small-c/Makefile.in: Build it.
	* .../small-c/fix-small-c.exp: Add test case.

2003-07-02  Igor Likhatchev  (igor@apple.com)
	* gdb.base/help.exp    
	Modified expected text for command  "help breakpoints", since Apple gdb
	now provides help for set/show regexp against thrown/caught objects.

2003-06-16  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/b-invalid-4.c: Remove.
	This is now valid.
	.../small-c/Makefile: Remove refs.
	.../small-c/fix-small-c.exp: Remove test.

2003-06-01  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-objc/class-v3.m (sayHello):  Add
	a call to +[NSString stringWithCString], which is a previously
	unreferenced class and selector.

	* gdb.apple/fix-and-continue/small-c/invalid-10.c: Non-lazy
	external reference that dyld cannot resolve.
	* .../small-c/invalid-11.c: Lazy external reference that dyld cannot
	resolve.
	* .../Makefile:  Add compilation of invalid-10 and invalid-11.
	Don't add these to fix-small-c.exp yet because they crash the
	inferior process.

2003-05-21  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp: Update
	expected line numbers.

2003-05-14  Jim Ingham  (jingham@apple.com)

	* gdb.apple/mi1-varobj.exp: Added test for making a varobj that
	starts out pointing to an uninitalized variable, then gets 
	init'ed as one dynamic type, then re-inited as another.

2003-05-12  Jim Ingham  (jingham@apple.com)

	* gdb.apple/mi1-varobj.exp: Added tests for dynamic types in
	ObjC.
	* gdb.apple/objc-prog.m: Added a derived class to MyClass to
	test the dynamic types.

        * gdb.mi/mi1-var-block.exp: Add block_start_addr and block_end_addr
        to the var-create match strings.
        * gdb.mi/mi1-var-child.exp: ditto
        * gdb.mi/mi1-var-cmd.exp: ditto
        * gdb.mi/mi1-var-display.exp: ditto
	* gdb.mi/gdb701.exp: ditto
	* gdb.mi/gdb792.exp: ditto

	*gdb.mi/mi-cmd-var-block.exp: Added a comment, the current test
	"update foo2 should be out of scope" the second time is wrong,
	it depends on gdb failing the first time it should have noted the
	variable was out of scope.  If it gets that right, THIS test fails...

2003-05-08  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/b-generic.c (slurry): Change
	variable initialization to be testible.

2003-05-07  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/Makefile: Enable -findirect-data.
	.../small-objc/Makefile: Enable -findirect-data.
	small-c/*: Rename "static_var" to "global_var".
	small-c/b-generic.c: New variable, "static_var", which has static
	linkage.
	small-c/fix-small-c.exp: Updated to expect new variable names.

2003-05-07  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Fix test bug.

2003-05-07  Jim Ingham (jingham@apple.com)

	* gdb.apple/mi1-varobj.exp: Fix the stack-list-locals tests for the
	new block_start_addr & block_end_addr keys.
	* gdb.apple/slipnslide.exp: Set printf_address to "" so we don't get
	a Tcl error if we don't succeed in setting it.

2003-05-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/mi-fix-small-c.exp:  New test
	file for a few tests of the F&C MI interface.
	* .../a.c: Add an extra call to help mi-fix-small-c.exp.

2003-04-21  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-objc/main.m: Add an additional
	call for testing a breakpoint on an ObjC member func.
	.../small-objc/fix-small-objc.exp: Put a breakpoint on a fixed objc
	member func, call it.

2003-04-17  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/Makefile: Three new invalid tests
	for argument types and return type.
	* .../small-c/b-invalid-[7-9].c: The tests.
	* .../small-c/b-generic.c: Add some new things for the new tests.
	* .../small-c/fix-small-c.exp: Run the tests.

2003-04-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/Makefile: Two new invalid fixes.
	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Ditto.
	* gdb.apple/fix-and-continue/small-c/b-invalid-[56].c: Ditto.
	* gdb.apple/fix-and-continue/small-c/a.c: Typeo.

2003-04-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ivars.exp (test_run): Add default case for breakpoint
	hitting.

2003-04-10  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/b-invalid-4.c: New file.
	* gdb.apple/fix-and-continue/small-c/b-valid-1.c: New file.
	* gdb.apple/fix-and-continue/small-c/Makefile: Add two more stages.
	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Run two new
	tests.
	* gdb.apple/fix-and-continue/small-c/a.c: Add more bar() calls,
	fix static_var printing in fred().
	* gdb.apple/fix-and-continue/small-c/b-invalid-[1-3].c: Strip 
	unnecessary things from these files.

2003-04-08  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/b-v[1-4].c: Removed.
	* gdb.apple/fix-and-continue/small-c/b-generic.c: Added.
	* gdb.apple/fix-and-continue/small-c/b-invalid-[1-3].c: New file.
	* gdb.apple/fix-and-continue/small-c/a.c: Refer to global variable
	defined over in b.c.
	* gdb.apple/fix-and-continue/small-c/Makefile: Update.
	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Update.

2003-04-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-objc/Makefile: Add suffixes to
	the various rebuilt fixed bundles.
	* gdb.apple/fix-and-continue/small-objc/fix-small-objc.exp: Same.

2003-04-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-objc/Makefile: Set 
	DYLD_LIRARY_PATH to ZL framework to pick up modified ObjC runtime
	on Jaguar systems.  Add a (currently unused) stage4.  Clean up
	'make clean' targets.
	* gdb.apple/fix-and-continue/small-c/Makefile: Create each fixed 
	objfile with a unique name.  Clean up 'make clean' targets.
	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Expect that.
	* gdb.apple/fix-and-continue/small-objc/class-v4.m: Add a fourth
	version of this class (currently unused).

2003-04-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/b-v4.c: Add a third version of b.c.
	* gdb.apple/fix-and-continue/small-c/a.c: Typeo.
	* gdb.apple/fix-and-continue/small-c/Makefile: Add a stage4.
	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Call the 4th
	stage; check the address of the newly loaded module to ensure it is
	a different value each time.

2003-03-31  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/*/Makefile: Drop the -fzero-link
	compiler argument - it won't be necessary with the modified ObjC
	runtime.

2003-03-26  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/Makefile: Update to use
	-fzero-link.
	* gdb.apple/fix-and-continue/small-objc/Makefile: Update to use
	-fzero-link.

2003-03-25  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-objc/*: New set of tests
	where a small ObjC program is fix and continued.  Tests run as
	fix-small-objc.exp.  There are currently four failing tests, but
	three of those will be fixed by a new objc runtime and one I'll
	fix in gdb shortly.

2003-03-25  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/weak.exp: Correct the regexp.

2003-03-25  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/slipnslide.exp: Loosen regexp for mi1 start-up - the order
	that the result, prompt, and =shlib-updated messages are delivered
	can change easily..

2003-03-24  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/pc-verify.exp: A couple of quick tests to get the value
	of $pc through a couple different mechanisms and verify that they're
	consistent.  A lot more could be added to this to check pc and fp
	at different levels, and maybe even through different types of
	callers (sigtramps, dummy frames, whatever).
	* gdb.apple/pc-verify.c: New file, derived from gdb.base/break.c.
	* gdb.apple/fix-and-continue/small-c/Makefile: Fix gcc compiler opt.

2003-03-20  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/small-c/Makefile: Use special dyld,
	add -mfix-and-continue to CFLAGS.
	* gdb.apple/fix-and-continue/small-c/fix-small-c.exp: Minor reformat.

2003-03-20  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/fix-and-continue/set-up-objdir.sh: New script to set up
	a directory in $OBJDIR for fix and continue tests.
	* gdb.apple/fix-and-continue/small-c/*: First trivial fix and continue
	test.

2003-03-18  Jason Molenda  (jmolenda@apple.com)

	* lib/mi-support.exp (mi_gdb_start): Turn off MI timings.

2003-03-13  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/cfm.exp: Update to new 'info sharedlibrary' output format.
	* gdb.apple/dynaload.exp: Ditto.
	* gdb.apple/ivars.exp: Ditto.
	* gdb.apple/slipnslide.exp: Ditto.
	* gdb.apple/weak.exp: Ditto.

2003-02-17  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/inf-call-interrupt.exp, gdb.apple/ivars.exp: Remove
	old-style radar annotations from test case names.
	* gdb/base/{call-ar-st.exp,call-rt-st.exp,corefile.exp,default.exp,
	ending-run.exp,printcmds.exp,structs.exp}: Ditto.
	* gdb.mi/gdb792.exp: Add new APPLE LOCAL typecode note.

2003-02-16  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/maint.exp: Remove radar annotations; fix up regexps to
	match Apple segment names correctly; update maint print statistics
	expected text to match new output.

2002-12-17  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/weak.exp: Update to new dyld shared library description
	strings.

2002-12-17  Klee Dienes  <kdienes@apple.com>
	
	* configure.in: Configure gdb.apple on i386 as well as powerpc.
	* configure: Regenerate.

2002-12-17  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/weak.exp: Allow for memory errors hile re-inserting
	the breakpoints for libraries that are no longer loaded.

2002-12-16  Klee Dienes  <kdienes@apple.com>

	* gdb.base/signals.exp: Revert to FSF sources.

2002-12-12  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/dynaload.exp: Check for .*$binfile, not just $binfile.
	* gdb.apple/annota1.exp: Remove radar numbers from bug strings.
	Check for .*$binfile, not just $binfile.
	* gdb.base/call-rt-st.exp: Remove radar numbers from bug strings.
	* gdb.base/default.exp: Allow "no registers" return from info float.

2002-12-06  Klee Dienes  <kdienes@apple.com>

	* gdb.arch/altivec-abi.c (vrsavex): Remove explicit setting of
	VRSAVE.
	* gdb.arch/altivec-abi.exp: Remove (r. #######) entries.
	* gdb.arch/altivec-regs.c (vrsavex): Remove explicit setting of
	VRSAVE.
	* gdb.arch/altivec-regs.exp: Remove (r. #######) entries.

2002-11-23  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/weak.exp: Update to match the relocated objfile
	support.

2002-11-21  Klee Dienes  <kdienes@apple.com>

	* gdb.mi/mi1-hooks.exp: New file.

2002-11-20  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/po.exp: Add four tests to check a few ObjC class+method
	names and apostrophy combinations.

2002-11-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.arch/altivec-regs.exp: Remove radar #'s from two passing tests.
	* gdb.base/corefile.exp: Remove radar # from one passing test.
	* gdb.base/nodebug.exp: Revert to FSF sources; tests pass.
	* gdb.base/return.exp: Ditto.
	* gdb.base/return2.exp: Ditto.
	* gdb.base/signals.exp: Remove radar # from one passing test.
	* gdb.mi/mi1-var-cmd.exp: Remove radar # from three passing tests.

2002-11-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi1-var-cmd.exp: Re-add some Apple Local adjustments.

2002-11-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/default.exp: Annotate show convenience fails with radar #.

2002-11-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/dynaload.exp: Update test case to not expect "Switching
	to process" output at inferior start-time.
	* gdb.apple/ivars.exp: Allow either "Y" or "B" as the shared library
	"current" value, even though I think the "B" value is less than
	correct.
	* gdb.apple/weak.exp: Annotate with new radar #.  Update test case
	to not expect "Switching to process" output at inferior start-time.

2002-11-12  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/inf-call-interrupt.exp: Annotate fails with radar #'s.
	* gdb.apple/ivars.exp: Ditto.

2002-11-10  Klee Dienes  <kdienes@apple.com>

	* gdb.mi/gdb792.exp: Add Apple-local varobj fields to the
	expected output.

2002-11-10  Klee Dienes  <kdienes@apple.com>
	
	* lib/mi-support.exp: Don't insist on the mi prompt to be in a
	certain format; our mi1 seems to provide the "new-format"
	prompt, not the old format.  When we are able to re-enable
	this test, it should probably be a FAIL, not an error and
	remote_close.

2002-11-08  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/inf-call-interrupt.c: Add a couple new functions so
	I can also test a signal handler in the backtrace when I have the time.

2002-11-08  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/weak.exp: The output order of "reading shared libraries" 
	and "reading file" got switched yesterday.

	* gdb.apple/inf-call-interrupt.exp: New test file for getting
	interrupted while calling inferior functions.
	* gdb.apple/inf-call-interrupt.c: New file.

2002-11-07  Klee Dienes  <kdienes@apple.com>
	
	* gdb.base/selftest.exp: Check for gdb.c, not main.c, as the
	source file in the "backtrace through signal handler" test.

2002-11-07  Klee Dienes  <kdienes@apple.com>

	* configure.in: Use _AC_COMPILER_EXEEXT instead of AC_EXEEXT
	(I have zero clue what is actually going on here, but it works when I
	do this).
	* configure: Regenerate.

2002-11-07  Klee Dienes  <kdienes@apple.com>

	* gdb.base/annota1.exp: Update "run until main breakpoint" test to
	handle "Reading symbols for shared libraries." earlier in the
	startup process.


2002-11-06  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ivars.exp: Find libSystem's load addr at run time.
	* gdb.apple/dynaload.exp: Ditto.
	* gdb.apple/mi1-varobj.exp: Don't hardcode line numbers of objc-prog.m.

2002-11-05  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ivars.exp:  Rework to run cases with the shared library
	named at link time (static) and at run-time (dynamic), with gdb
	being forced to find addresses for both arrangements.
	* gdb.apple/ivars-static.m: New file, very much akin to the old ivars.m.
	* gdb.apple/ivars-dynamic.m: Dynamic version of above.
	* gdb.apple/libivars.m (get_an_object): A C function to return an
	object from the solib to make my dynamic case easier.
	* gdb.apple/ivars.m: Removed.

2002-11-05  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/slipnslide.c: Update foo() prototype.
	* gdb.apple/dylib-loader.c: Ditto.

	* gdb.apple/weak.exp: New tests for weak libraries.
	* gdb.apple/libweak.c: dylib for the above test.
	* gdb.apple/weak-prog.c: program for the above test.

2002-11-05  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/dynaload.exp: New set of test cases to test future-break
	on a shlib that is loaded dynamically at run-time (instead of linked
	in by the static link editor aka ld).
	* gdb.apple/dylib-loader.c: Sources for above.

2002-11-04  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/ivars.exp: Add function to compile the shared library.
	Check info sharedlibrary output to make sure it's recognized.
	Use future-break to set the breakpoint, even though it's equivalent
	to break here.  Check the lang setting too for fun.

2002-11-04  Klee Dienes  <kdienes@apple.com>

	* gdb.arch/altivec-regs.exp: Update architecture test to include
	powerpc-* instead of just powerpc-*altivec.  Update decimal_vector
	tests to allow \000 and not just \0 in the char string output.
	Update 'info reg' expected output to include the 'raw' fields.
	Update the output of 'info reg vrsave/vscr' to expect the integer
	value after the hex value.  Un-ifdef the 'info vector' test.
	Convert from 'info powerpc altivec' to 'info vector'.

2002-11-04  Klee Dienes  <kdienes@apple.com>

	* gdb.base/watchpoint.c: Add assignment to buf[7] in the "test
	basic watchpoints" section.
	* gdb.base/watchpoint.exp: Add test for detecting modification
	of an array element with 'watch buf', where 'buf' is the name of the
	array.

2002-11-01  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/objc-prog.m: Add a local class with some ivars
	for future test cases in po.exp.
	* gdb.apple/ivars.exp: A very quick hack to examine ivars in
	an object from a dylib.
	* gdb.apple/ivars.m, gdb.apple/libivars.h, gdb.apple/libivars.m: New
	files.

2002-11-01  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/libmylib.c: Add comment, make puts() call explicit.
	* gdb.apple/slipnslide.c: Use NSModule calls to get foo() addr if 
        present, call it.
	* gdb.apple/slipnslide.exp: See if symbol offsets remain constant during
	a slide; try to hit a breakpoint in an inserted, slid library.

2002-11-01  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/libmylib.c: Add comment, make puts() call explicit.
        * gdb.apple/slipnslide.c: Use NSModule calls to get foo() addr if
        present, call it.
        * gdb.apple/slipnslide.exp: See if symbol offsets remain constant during
        a slide; try to hit a breakpoint in an inserted, slid library.

2002-10-31  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/slipnslide.exp: Add timeout cases for the breakpoint
	read commands.  Set default values for _slid_address if the
	breakpoint reads fail.  Update the "did mylib slide" regex to not
	specify the load address of mylib.

2002-10-31  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/slipnslide.c, gdb.apple/slipnslide.exp,
	gdb.apple/libmylib.c:
	New files for testing dylib sliding.

2002-10-31  Jason Molenda  (jmolenda@apple.com)

        * gdb.arch/altivec-abi.exp: Annotate with radar #'s.
        * gdb.arch/altivec-regs.exp: Ditto.

2002-10-30  Jason Molenda  (jmolenda@apple.com)

        * gdb.mi/mi1-var-child.exp: Finish updates to support new 
        dynamic_type fields.
        * gdb.mi/mi1-var-cmd.exp: Ditto.
        * gdb.mi/mi1-var-display.exp: Ditto.

2002-10-30  Jason Molenda  (jmolenda@apple.com)

        * gdb.apple/cfm.sh: Rework srcdir handling to work correctly with
        relative path builds.

2002-10-29  Klee Dienes  <kdienes@apple.com>

	* gdb.base/break.exp: Add multiple calls to the inferior in
	the user-commands for 'break 79'.  Add a check for the calls
	to the inferior in the check for the result.  Add new test, to
	check that user-defined breakpoint commands are called for functions
	called by the user (currently fails).

2002-10-29  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/._template.cfm: Remove.

2002-10-28  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/cfm.sh: Use uuencoded template libraries in
	cfm-libs.  Strip the 'y' from the 'yes | cat -n' output.
	* gdb.apple/cfm-libs/*.uu: Provide uuencoded CFM and Mach-O
	template libraries.
	* gdb.apple/cfm.exp: No longer bother with the remote_download
	of the template files; the test won't work on a remote board anyway.

2002-10-28  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/cfm.exp: Set timeout to 180.  Call 'cfm.sh' to set
	up the CFM libraries for debugging, rather than iterate within
	TCL ... the 'remote_exec build' code is rather slow.
	* gdb.apple/cfm.sh: New file.  Sets up shared libraries for
	CFM testing in /tmp/cfm, using files from $1.
	
2002-10-26  Klee Dienes  <kdienes@apple.com>

	* configure, configure.in: Revert change of 10-26.
	* lib/insight-support.exp (gdbtk_initialize_display): Explicitly
	return 0 if we are running on Mac OS X.  The problem is that the
	this function uses the presence of GDB_DISPLAY, or the existence
	of Xvfb, to decide if it should run the gdbtk tests.  On Mac OS X
	systems, we can have Xvfb, but we don't support the gdbtk tests.
	Unfortunately, the tests for the presence of Insight in
	gdbtk_start come *after* we try to build the binaries (which is a
	bit of a waste), and worse, bomb out the entire test suite with an
	'exit 1' if they can't find gdbtk.  A better fix would be to
	re-organize the insight-support.exp code a bit to have a decent
	check for insight support, and use that.

2002-10-26  Klee Dienes  <kdienes@apple.com>

	* configure, configure.in: Turn off gdbtk by default for
	Mac OS X.

2002-10-25  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/mi1-varobj.exp: Updates for tuple vs list cleanups.
	* gdb.mi/mi1-stack.exp: Updates for tuple vs list cleanups.
	* gdb.mi/mi1-var-block.exp: Updates for tuple vs list cleanups.
	Remove setup_xfail's for several tests that fail with the FSF's
	MI, but work with ours because of our IN_SCOPE field.
	* gdb.mi/mi1-var-child.exp: Updates for tuple vs list cleanups. 
	* gdb.mi/mi1-var-cmd.exp: Ditto.
	* gdb.mi/mi1-var-display.exp: Ditto.

2002-10-25  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi1-pthreads.exp: Fix to testsuite - generic GDB probably
	has the same problems on Linux.

2002-10-24  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi1-stack.exp: Update to handle Apple localized output.

2002-10-23  Klee Dienes  <kdienes@apple.com>

	* gdb.mi/mi1-var-cmd.exp: Remove extra space from the "create
	global variable" test name.

2002-10-23  Klee Dienes  <kdienes@apple.com>

	* gdb.c++/misc.cc (main): Disable return of foo.*pmi on i386;
	it was crashing the compiler (filed as #3082048).

2002-10-23  Klee Dienes  <kdienes@apple.com>

	* gdb.apple/cfm.exp: Disable tests on i386.

2002-10-23  Klee Dienes  <kdienes@apple.com>

	* gdb.base/printcmds.exp: Use a1_0 instead of a1[0] in the
	test-name to avoid having to argue constantly with TCL about the
	brackets.

2002-10-22  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/cfm.exp: Adjust for new output style.  Tighten up timeout.

2002-10-21  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/mi1-varobj.exp: New file for testing some of our
	local varobj additions.
	* gdb.apple/objc-prog.m (blocky): New function for the
	mi1-varobj tests.

2002-10-21  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi1-var-cmd.exp: Fix expected text so it doesn't assume
	current buggy behavior.

2002-10-21  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi1-var-cmd.exp: Update to handle Apple localized output.
        * gdb.mi/mi1-var-display.exp: Update to handle Apple localized output.

2002-10-21  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/gdb701.exp: Update to look for dynamic_type.  Standardize
	APPLE LOCAL marker.
	* gdb.mi/mi1-return.exp: Standardize APPLE LOCAL marker.
	* gdb.mi/mi1-stack.exp: Standardize APPLE LOCAL marker.
	* gdb.mi/mi1-watch.exp: Standardize APPLE LOCAL marker.

2002-10-18  Klee Dienes  <kdienes@apple.com>

	* gdb.base/attach.exp: Set verbose to 'on' when checking for tests
	that involve "Reading symbols from ..." output.  Match 'lib.*' and
	not just 'libc.*' when checking for system library loads (Mac OS
	X) doesn't use libc, but does use libsystem). 
	* gdb.base/default.exp: Also allow "The program has no registers
	now." as output from "info float".
	* gdb.base/selftest.exp: Add recognizer init_mmalloc_default_pool
	to the "step through main" tests.  When checking "step into
	xmalloc call", allow xmalloc to be in either of utils.c or
	xmalloc.c.
	
2002-10-18  Jason Molenda  (jmolenda@apple.com)

        * gdb.mi/mi1-var-block.exp: Update to handle Apple localized output.
        * gdb.mi/mi1-var-child.exp: Update to handle Apple localized output.

2002-10-17  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/po.exp: Seven new test cases, as seen in r. 3053944.

2002-10-17  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/objc-prog.m: Add a couple functions that return objects.

2002-10-16  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/objc-prog.m:  New file.  The start of a program that
	various tests can use.
	* gdb.apple/po.exp: New file.  print-object tests.

2002-10-16  Klee Dienes  <kdienes@apple.com>

	* gdb.base/opaque.exp: Remove patch to "ptype on opaque struct
	pointer (statically)" (read-type-psyms is now set to '1' by default).

2002-10-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple/cfm.exp: Only generate the 64 CFM needed files.
	Add comment.  Clean up /tmp/cfm when finished.

2002-10-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.apple: New directory.
	* gdb.apple/configure, gdb.apple/configure.in, gdb.apple/Makefile.in:
	New files.
	* gdb.apple/cfm.exp: New test - taken from Klee's 
	DebuggerTests/CFMTester.
	* gdb.apple/cfm.c, gdb.apple/._template.cfm, gdb.apple/template.cfm:
	Support files for cfm.exp.

	* configure.in: Add gdb.apple.
	* configure: Regenerated.

2002-10-11  Jason Molenda  (jmolenda@apple.com)

	* gdb.mi/mi-var-display.exp: Fix Darwin exit.
	* gdb.mi/mi1-stack.exp: Fix up stack-list-frames regexps for Apple 
	local changes.
	* lib/mi-support.exp (mi_check_current_frame): Fix regexp to
	correctly allow either mi1 or mi0 brackets.

2002-10-10  Jason Molenda  (jmolenda@apple.com)

	* lib/gdb.exp (gdb_suppress_entire_file): Don't append \n on warning.
	* lib/mi-support.exp (mi_check_current_frame): Allow for either
	mi1 or mi0 brackets.

	* gdb.mi/mi-basics.exp, gdb.mi/mi-break.exp, gdb.mi/mi-console.exp,
	gdb.mi/mi-disassemble.exp, gdb.mi/mi-eval.exp, gdb.mi/mi-hack-cli.exp,
        gdb.mi/mi-pthreads.exp, gdb.mi/mi-read-memory.exp, gdb.mi/mi-regs.exp,
	gdb.mi/mi-return.exp, gdb.mi/mi-simplerun.exp, gdb.mi/mi-stack.exp,
	gdb.mi/mi-stepi.exp, gdb.mi/mi-until.exp, gdb.mi/mi-var-block.exp,
	gdb.mi/mi-var-child.exp, gdb.mi/mi-var-cmd.exp, 
	gdb.mi/mi-var-display.exp, gdb.mi/mi-watch.exp:
	Don't run these on MacOS X for now.  We'll leave them the pristine
	FSF versions so merges aren't headache-inducing, but they won't match
	our MI output so we'll just suppress them for now.

2002-10-10  Jason Molenda  (jmolenda@apple.com)

	* lib/mi-support.exp (mi_check_current_frame): New function to verify
	that we're stopped where we're supposed to be.
	(mi_get_stopped): New function to wait for a *stopped message and
	verify that we stopped where we should have.
	(mi_get_bp_stopped): Specialization of mi_get_stopped for breakpoints.
	(mi_execute_to_helper): Customize to Apple's *stopped output.
	(mi_finish_to): Ditto.
	(mi_continue_to): Ditto.
	(mi0_continue_to): Ditto.  (All mi0* funcs should probably be removed)

	gdb.mi/mi1-console.exp: Use mi_get_bp_stopped.
	gdb.mi/mi1-disassemble: Ditto.
	gdb.mi/mi1-eval.exp: Use mi_get_bp_stopped and mi_get_stoped.
	gdb.mi/mi1-read-memory.exp: Use mi_get_stopped.
	gdb.mi/mi1-return.exp: Use mi_get_bp_stopped.  Adjust -exec-return
	^done message to not expect FRAME.
	gdb.mi/mi1-simplerun.exp: Use mi_get_bp_stopped.
	gdb.mi/mi1-stack.exp: Use mi_get_bp_stopped and mi_get_stopped.
	gdb.mi/mi1-stepi.exp: Ditto.
	gdb.mi/mi1-until.exp: Ditto.
	gdb.mi/mi1-var-block.exp: Ditto.
	gdb.mi/mi1-var-cmd.exp: Use mi_get_bp_stopped.
	gdb.mi/mi1-var-display.exp: Use mi_get_bp_stopped, mi_continue_to.
	gdb.mi/mi1-watch.exp: Use mi_get_bp_stopped.  Change *stopped messages
	for watchpoint hits to not include FRAME. Should add mi_get_wp_stopped?

2002-10-07  Jason Molenda  (jmolenda@apple.com)

	* lib/mi-support.exp (mi_runto): Expect COMMANDS field in
	breakpoint 'stopped' message.  Don't expect FRAME field.
	(mi_execute_to_helper): Don't expect FRAME field.
	* gdb.mi/gdb701.exp: -var-create includes TYPECODE and IN_SCOPE fields.

2002-10-06  Klee Dienes <kdienes@apple.com>

	* gdb.arch/altivec-abi.c: Switch to VDECL4/8/16, rather than
	complicated varargs magic, for the vector declaration routines.

2002-10-06  Klee Dienes <kdienes@apple.com>

	* gdb.arch/altivec-abi.c: Conditionalize inclusion of altivec.h.
	New macro, VDECL, to handle differences in the OS X
	initialization syntax (Mac OS X should support the {}-style
	syntax, but doesn't in all cases due to a compiler issue).
	Explicitly specify signed vs. unsiged for int, short, and
	char, to placate the OS X compiler.  Explicitly set vrsave to
	0xfffffff on OS X.

	* gdb.arch/altivec-regs.c: Conditionalize inclusion of altivec.h.
	Explicitly setvrsave to 0xfffffff on Mac OS X.	
	
	* gdb.arch/altivec-abi.exp: Add test for powerpc-apple-* when
	detecting Altivec support.  Paramterize the compile flags
	needed for Altivec support.

	* gdb.arch/altivec-regs.exp: Add test for powerpc-apple-* when
	detecting Altivec support.  Paramterize the compile flags
	needed for Altivec support.  Paramterize the base of the
	vector register names (Apple uses v<n>, not vr<n>).  Rename
	vector_register to hex_register.  Expect results from 'info
	reg' in decimal format; also add a test for 'print /x' to get the
	registers in hex format.  Comment out the test for "info powerpc
	altivec" (the function was removed recently).

2002-10-03  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/annota1.exp: Mark fails due to two radars; edit expected
	text slightly for Apple local output.

2002-10-02  Jason Molenda  (jmolenda@apple.com)

	* gdb.threads/pthreads.exp: Don't expect 'b main thread 2' to work
	on MOSX.

2002-10-01  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/constvars.exp: Don't xfail these tests on Mac OS X systems.

2002-09-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/attach.exp: s#/tmp#/private/tmp# 'cause that's the actual
	location and some tests want the named directory to match the actual
	directory.  xfail one test that is invalid with our attach cmd;
	tweak a pattern or two to match local output.

2002-09-30  Jason Molenda  (jmolenda@apple.com)

	* gdb.threads/gcore-thread.exp: Use gdb_compile_pthreads to build
	test executable.
	* gdb.threads/print-threads.exp: Same.
	* gdb.threads/schedlock.exp: Same.

	* gdb.threads/pthreads.exp: Change expected text messages to
	match Apple GDB output.

2002-09-26  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/corefile.exp: Mark fails with radar #'s.
	* gdb.base/default.exp: Add test to detect proper setting/clearing
	of $input_radix, $output_radix Apple local convenience variables.
	* gdb.base/nodebug.exp: Mark fails as xfails with explanations about
	why they're expected.
	* gdb.base/return.exp: Mark fail with radar #.
	* gdb.base/signals.exp: Mark fails with radar #'s.  One of these
	("continue to func1") may be a generic gdb problem that I'll
	have to xfail and close the radar - will investigate later.

2002-09-26  Klee Dienes  <kdienes@apple.com>

	* lib/gdb.exp (default_gdb_start): Separate the lower-level starter
	functionality into another function to help work around probable
	kernel/libc problem exposed by corefile.exp.
	* gdb.base/corefile.exp: Detect Apple corefiles in /cores.
	Call new default_gdb_run() function instead of spawn/close.
	* gdb.base/coremaker.c: Print pid before dumping core.

2002-09-26  Klee Dienes  <kdienes@apple.com>

	* gdb.mi/mi-stack.exp,mi-stepi.exp,mi-until.exp,mi-var-block.exp
	mi-var-child.exp,mi-var-display.exp,mi0-stack.exp,mi0-stepi.exp
	mi0-until.exp,mi0-var-block.exp,mi0-var-child.exp,mi0-var-display.exp:
	Add -re ".*$mi_gdb_prompt$" {fail ""} to tests using gdb_expect
	which fail on the Apple GDB, to prevent test-suite timeouts.
	* gdb.mi/mi-stepi.exp, gdb.mi/mi0-stepi.exp: Fix the test result
	messages from "next-instruction" to "exec-next-instruction".
	* gdb.mi/mi-var-display.exp, gdb.mi/mi0-var-display.exp: Fail the
	"create variable (7.81)" tests if 'fp' wasn't properly set by the
	"record fp" part of the file.  We'll probably want to fix this
	test another way, but in the meantime, the test file shouldn't be
	crashing just because an earlier part of the file failed.
	
2002-09-26  Klee Dienes  <kdienes@apple.com>

	* gdb.base/default.exp: Remove the '\n's from the "Timeout now
	..." messages: the 'verbose' command already appends a '\n'.

2002-09-25  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/call-rt-st.exp: Annotate another failure; fix up radar
	reporting method so it's correct.  Shoudl really modify 
	print_struct_call to take an optional third argument of a test name 
	string.
	* gdb.base/opaque.exp: Note Apple local type psym behavior.  Should
	probably XFAIL this or something.
	* gdb.base/ptype.exp: Ditto.
	* gdb.base/return2.exp: Mark failing testcase with radar #.

2002-09-24  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/structs.exp (p L[3-11]): Annotate with existing radar about
	inf func call w/ structs of chars.

2002-09-24  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/default.exp (set, show): Extend timeout to allow for busy OS X 
	systems, remove hardcoded failure results.

2002-09-24  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/call-rt-st.exp: Patch for breakpoint misplacement fixed,
	remove radar 3049666 annotations.
	* gdb.base/funcargs.exp: Ditto.
	* gdb.base/long_long.exp: Ditto.

2002-09-24  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/relocate.exp (add-symbol-file): Adjust test case to use
	Apple supported syntax.
	* gdb.base/return2.exp (return values): Mark with radar #.
	* gdb.base/shlib-call.exp (set bp in shared lib): Change to 
	future-break to work with Apple's shlib behavior.
	* gdb.base/signals.exp (backtrace in signals_tests_1): Note radar #.

2002-09-19  Klee Dienes (kdienes@apple.com)

	* gdb.base/default.exp (info set): Disable test for Darwin for
	now; replace with a hard-coded FAIL.
	* gdb.base/default.exp (show): Ditto.

	* gdb.mi/mi-stack.exp (nexts in callee4): Add a fallback case
	to avoid timeout.

2002-09-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/printcmds.exp (p a1, p a2): Annotate with new radar #.
	* gdb.base/nodebug.exp (p/c array_index): Annotate with new radar #.

2002-09-19  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/nodebug.exp: Fix up function call to specify return
	type as per Apple gdb style.

2002-09-18  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/list.exp (nonexistant function): Adjust to accept Apple 
          syntax.
	* gdb.base/long_long.exp (get to known place): Adjust to Apple gdb's 
          behavior.
	* gdb.base/maint.exp (maint info sections .text): MachO wording.
	(maint info sections {CODE,DATA}): Annotate with radar #.
	(help maint): Match Apple gdb help msg.
	(help maint demangle): Ditto.
	(help maint): Ditto.

2002-09-16  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/funcargs.exp: Declare scope of $r3049666 to pass it
	around correctly.

2002-09-16  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/default.exp (add-symbol-file): Fix test case to match
	Apple gdb output.
	* gdb.base/ending-run.exp: Annotate two failures with radar #'s.
	XFAIL three others as expected behavior on our platform.
	* gdb.base/funcargs.exp: Annotate three test fails with radar #'s.
	* gdb.base/help.exp: Fix expected messages to match actual Apple
	gdb help output for a dozen tests.

2002-09-15  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/dump.exp: Annotate fails with radar #.

2002-09-12  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/call-ar-st.exp: Annotate failures with radar numbers
	tracking the problems.
	* gdb.base/call-rt-st.exp: Ditto.

2002-09-09  Jason Molenda  (jmolenda@apple.com)

	* gdb.objc: New directory, tests from Adam Fedor's patch,
	http://sources.redhat.com/ml/gdb/2002-09/msg00059.html
	* configure.in: Configure gdb.objc.
	* configure: Regenerated.

2002-09-05  Jason Molenda  (jmolenda@apple.com)

	* gdb.base/completion.exp: Recognize additional commands starting
	with 't' in Apple gdb.

2002-08-30  Klee Dienes  <kdienes@apple.com>

	* gdb.asm/asm-source.exp: Change test for Mac OS X to work for
	Intel as well.

2002-08-27  Klee Dienes  <kdienes@apple.com>

	* gdb.asm/asm-source.exp: Add test for Mac OS X; reset
	asm-arch to "" if true.  Exit test entirely if asm-arch is ""
	(rather	than generating 20 FAILs).

	* gdb.base/call-rt-st.exp: Allow the breakpoint on loop_count to
	be set on either line 106 or 107.

	* gdb.base/callfuncs.exp: Don't return a value when checking to
	see that register contents are restored after returning a call
	dummy (the value might be returned in a register on some systems).

	* gdb.base/maint.exp: Add fallback case when checking for "maint
	info sections .text/CODE/DATA"; without it, the testsuite will
	time out on systems that don't use the names .text and .data for
	text and data sections.

2001-09-04  Syd Polk  <spolk@apple.com>

	* gdb.base/page.exp: Changed tests to call gdb_expect directly;
	otherwise, they would hang.

	* gdb.base/shlib.exp sizeof.exp: Fixed tests to compile for Darwin.
	* gdb.c++/templates.exp userdef.exp: Ditto.

2000-10-02  James Ingham  <jingham@inghji.apple.com>

	* gdb.threads/pthreads.exp: Add the System framework to the
	libraries searched for pthread.  

	* gdb.base/default.exp: Adjust test for inclusion of ObjC in help
	string.

	* gdb.base/assign.exp: cut & paste typo in test label.

