2008-03-20  Andrew Cagney  <cagney@redhat.com>

	* BreakpointManager.java: Use ProcTasksAction and
	ProcTasksObserver.

2008-03-03  Andrew Cagney  <cagney@redhat.com>

	* TestDisplayValue.java: Use frysk.config.
	* TestUpdatingDisplayValue.java: Ditto.

2008-02-29  Andrew Cagney  <cagney@redhat.com>

	* RtLogger.java: Delete.

2008-02-28  Andrew Cagney  <cagney@redhat.com>

	* Breakpoint.java: Use frysk.rsl.
	* BreakpointManager.java: Ditto.
	* LineBreakpoint.java: Ditto.

2008-02-21  Rick Moseley  <rmoseley@redhat.com>

	* ProcTaskIDManager.java(removeProc): Change to set
	a proc ID to null instead of removing it.

2008-02-11  Rick Moseley  <rmoseley@redhat.com>

	* ProcTaskIDManager.java: Remove duplicate method.

2008-02-04  Tim Moore  <timoore@redhat.com>

	* BreakpointManager.java (enableBreakpoint, disableBreakpoint): Pass breakpoint in
	question to observers. 

2008-01-24  swagiaal  <swagiaal@toner.yyz.redhat.com>

	* LineXXX.java: Fix for NullPointerException
	 at frysk.gui.srcwin.SourceWindow.updateSourceLabel
	 patch provided by Andrew Cagney  <cagney@redhat.com>.

2008-01-24  Andrew Cagney  <cagney@redhat.com>

	* ProcTaskIDManager.java: Update to match
	TaskObserver.Terminated.updateTerminated(Task,Signal,int).
	* TestUpdatingDisplayValue.java: Ditto.
	* UpdatingDisplayValue.java: Ditto.

2008-01-16  Andrew Cagney  <cagney@redhat.com>

	* UpdatingDisplayValue.java: Task.getBlockers() make private; use
	work-around.
	* TestUpdatingDisplayValue.java: Ditto.

2008-01-11  Tim Moore  <timoore@redhat.com>

    	* FunctionBreakpoint.java (getBreakpointRawAddresses): Filter out
    	any naughty null addresses.

2008-01-07  Andrew Cagney  <cagney@redhat.com>

	* Breakpoint.java: Update; use Task.getPC().

2007-12-13  Sami Wagiaalla  <swagiaal@redhat.com>

	* LineXXX.java: New.

2007-12-11  Rick Moseley  <rmoseley@redhat.com>

	* ProcTaskIDManager.java (clearProcIDs): New for "kill" command;
	check for empty procList.

2007-12-11  Andrew Cagney  <cagney@redhat.com>

	* Line.java (UNKNOWN): New.

	* Line.java: Re-indent.

2007-11-27  Tim Moore  <timoore@redhat.com>

	* BreakpointManager.java (manageProcess): Wrap await call inside
	loop in order to disregard InterruptedException.

2007-11-16  Rick Moseley  <rmoseley@redhat.com>

	* ProcTaskIDManager.java(removeProcID,manageProcSelect): New.

2007-11-06  Tim Moore  <timoore@redhat.com>
    
    	* BreakpointManager.java (refreshBreakpoints): Enable breakpoint
    	even if it has no state.

2007-10-26  Andrew Cagney  <cagney@redhat.com>

	* DisplayValue.java: No need to catch catch ParseException.

2007-10-18  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestDisplayValue.java (testVarOutOfScope): Marked
	as unresolved.

2007-10-12  Andrew Cagney  <cagney@redhat.com>

	* DisplayValue.java: Update; catch RuntimeException instead of
	NameNotFoundException.

2007-09-28  Tim Moore  <timoore@redhat.com>

	* Breakpoint.java (PersistentBreakpoint constructor): Take a
	targetTask argument, to which this breakpoint applies.
	(PersistentBreakpoint.updateHit): Continue if this is not the
	target task.
	(PersistentBreakpoint.getTargetTask): New method.
	* SourceBreakpoint.java (enableBreakpoint): Pass task to
	PersistentBreakpoint constructor.

	* Breakpoint.java: Java indentation.

2007-09-21  Zhao Shujing <pearly.zhao@oracle.com>
	
	* FunctionBreakpoint.java: Use method SymbolFactory.getSymbol instead
	of the one defined by itself.
	* SymbolFactory.getSymbol: Use SymbolFactory.getSymbol.

2007-09-03  Tim Moore  <timoore@redhat.com>

	* BreakpointManager.java (manageProcess): Block until the shared
	library breakpoint is established.

2007-08-29  Tim Moore  <timoore@redhat.com>

	* ProcTaskIDManager.java: (getProc): Return the proc from the
	ProcEntry, not the entire ProcEntry.

2007-08-27  Tim Moore  <timoore@redhat.com>

	* ProcTaskIDManager.java (addTaskObservers): New method.
	(ProcEntry constructor): Use it.
	(updateForkedParent): Request the task to be unblocked and return
	BLOCK.
	(updateClonedParent): Add all necessary observers; request the
	task to be unblocked and return BLOCK.

2007-08-24  Andrew Cagney  <cagney@redhat.com>

	* TestDisplayValue.java: Replace Value.getInt, with Value.asLong.
	* TestUpdatingDisplayValue.java: Ditto.

2007-08-23  Andrew Cagney  <cagney@redhat.com>

	* UpdatingDisplayValue.java: Use Location.toByteArray().

2007-08-22  Andrew Cagney  <cagney@redhat.com>

	* TestUpdatingDisplayValue.java (testTaskDead): Mark as
	unresolved, bug 4952.

2007-08-08  Tim Moore  <timoore@redhat.com>

	* ProcTaskIDManager.java: New file.

2007-07-31  Sami Wagiaalla  <swagiaal@redhat.com>

	* DisplayValue.java: Replaced Frame with DebugInfoFrame.

2007-07-28  Andrew Cagney  <cagney@redhat.com>

	* TestDisplayValue.java: Use Config.getPkgLibFile and
	DaemonBlockedAtEntry(File).
	* TestUpdatingDisplayValue.java: Ditto.

2006-07-27  Mike Cvet  <mcvet@redhat.com>

	* states/InstructionStepState.java: Moved from here to frysk.stepping.
	* states/LineStepState.java: Ditto.
	* states/NextInstructionStepState.java: Ditto.
	* states/NextInstructionStepTestState.java: Ditto.
	* states/RunningState.java: Ditto.
	* states/State.java: Ditto.
	* states/StepAdvanceState.java: Ditto.
	* states/StepOutState.java: Ditto.
	* states/StepOverState.java: Ditto.
	* states/StoppedState.java: Ditto.
	* SteppingEngine.java: Moved from here to frysk.stepping.
	* TaskStepEngine.java: Ditto.
	* TestSteppingEngine.java: Ditto.
	* TestStepping.java: Deleted, new file in frysk.stepping. Fixes #4853.
	* TestUpdatingDisplayValue.java: Update references to frysk.stepping.
	* TestDisplayValue.java: Ditto.
	* Breakpoint.java: Ditto.
	* SourceBreakpoint.java: Ditto.
	* BreakpointManager.java: Ditto.
	* UpdatingDisplayValue.java: Ditto.
	* DisplayManager.java: Ditto.

2007-07-26  Sami Wagiaalla  <swagiaal@redhat.com>

	* Variable.java:  Moved to frysk.debuginfo.
	* TestFrameDebugInfo.java: Ditto.
	* Subroutine.java: Ditto.
	* Subprogram.java: Ditto.
	* Scope.java: Ditto.
	* LexicalBlock.java: Ditto.
	* InlinedSubroutine.java: Ditto.

2007-07-26  Sami Wagiaalla  <swagiaal@redhat.com>

	* Variable.java (getValue): added handling for NameNotFoundException 
	(toPrint): New function.
	* Scope.java (toPrint): Added variable printing.
	* Subprogram.java (toPrint): Ditto.

2007-07-25  Andrew Cagney  <cagney@redhat.com>

	* TestDisplayValue.java: Update;
	frysk.testbed.TestLib.AttachedDaemonProc moved to
	frysk.testbed.DaemonBlockedAtEntry.
	* TestUpdatingDisplayValue.java: Ditto.
	* TestFrameDebugInfo.java: Ditto.

2007-07-24  Andrew Cagney  <cagney@redhat.com>

	* TestDisplayValue.java: Update; frysk.proc.TestLib moved to
	frysk.testbed.TestLib.
	* TestFrameDebugInfo.java: Ditto.
	* TestSteppingEngine.java: Ditto.
	* TestStepping.java: Ditto.
	* TestUpdatingDisplayValue.java: Ditto.

	* Symbol.java: Moved to frysk.symtab.Symbol.

2007-07-24  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java: Reverted previous change due to break.

	* TestStepping.java: Updated to use funit-stepping-asm instead of
	funit-frameinfo-looper.
	
2007-07-24  Andrew Cagney  <cagney@redhat.com>

	* TestSymbol.java: Moved to frysk.stack.TestFrameSymbol.java.

2007-07-23  Nurdin Premji  <npremji@redhat.com>

	* TestSymbol.java (symbolTest): Enabled symbol size tests.
	
	* Symbol.java (Symbol): Made public.

2007-07-23  Andrew Cagney  <cagney@redhat.com>

	* TestSymbol.java: Use funit-symbols as the test program.
	(testGlobalInGlobal, testLocalInGlobal, testGlobalInLocal)
	(testLocalInLocal, testGlobalAfterNested, testLocalAfterNested)
	(testNoSymbolAfterGlobal, testNoSymbolAfterLocal)
	(testGlobalSize0InGlobal, testLocalSize0InGlobal)
	(testGlobalSize0InLocal, testLocalSize0InLocal)
	(testGlobalAfterNestedSize0, testLocalAfterNestedSize0): New tests.

2007-07-23  Sami Wagiaalla  <swagiaal@redhat.com>

	* Scope.java: Replaced printing to Strings with printing to
	PrintWriters.
	* Subprogram.java: Ditto.
	* TestFrameDebugInfo.java: Ditto.

2007-07-19  Mike Cvet  <mcvet@redhat.com>

	* states/StepOverTestState.java (handleUpdate): Aesthetic update.

2007-07-17  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java: More fixups, enabled tests broken by #4711.

2007-07-16  Andrew Cagney  <cagney@redhat.com>

	* FunctionBreakpoint.java: Update, lib.dw and lib.elf merged into
	lib.dwfl.
	* LexicalBlock.java: Ditto.
	* LineBreakpoint.java: Ditto.
	* Scope.java: Ditto.
	* SteppingEngine.java: Ditto.
	* Subprogram.java: Ditto.
	* Subroutine.java: Ditto.
	* TaskStepEngine.java: Ditto.
	* TestFrameDebugInfo.java: Ditto.
	* Variable.java: Ditto.
	* states/LineStepState.java: Ditto.
	* states/StepOverTestState.java: Ditto.

2007-07-16  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java: Several line-number fixes, rectifying some testcase
	breakages.

2007-07-16  Adam Jocksch  <ajocksch@redhat.com>

	* DisplayManager.java (DisplayMap): Added toString method for debugging
	purposes.

2007-07-13  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestFrameDebugInfo.java (testValues): Added test for values of variables
	from upper non leaf frames.

2007-07-11  Adam Jockchch  <ajocksch@redhat.com>

	* UpdatingDisplayValue.java (enabled): Is now a no-op if already enabled.
	(disabled): Is now a no-op if already disabled.

	* DisplayManager.java (deleteDisplay): Fixed bug where display was
	not being removed from one of the maps.

	* DisplayManager.java: Reformatted.
	(getDisplay): Added.
	* UpdatingDisplayValue.java: Reformatted.
	(disable): No longer tells the SteppingEngine to continue.

2007-07-09  Andrew Cagney  <cagney@redhat.com>

	* TestStepping.java (testASMSingleStep): Remove unresolved 4751.

	* LineBreakpoint.java (getBreakpointRawAddresses): Replace
	getRawAddressesForProc, take Task instead of Proc parameter.
	* SourceBreakpoint.java (getBreakpointRawAddresses): Replace
	getRawAddressesForProc, take Task instead of Proc parameter.
	* FunctionBreakpoint.java (getBreakpointRawAddresses): Replace
	getRawAddressesForProc, take Task instead of Proc parameter.
	(addressForSymbol): Replace Proc with Task parameter.
	* BreakpointManager.java (manageProcess): Pass proc's main task to
	addressForSymbol.

2007-07-09  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestFrameDebugInfo.java (testValues): Added test for variable
	evaluation.

2007-07-09  Adam Jocksch  <ajocksch@redhat.com>

	* DisplayManager.java (getDisplayIterator): Added.
	(DisplayMap::get): Fixed bug that would cause a NPE.
	* DisplayValue.java (DisplayValue): Fixed bug where the id was
	not getting assigned properly.
	* UpdatingDisplayValue.java (notifyObserversDisabled): Added.

2007-07-09  Andrew Cagney  <cagney@redhat.com>

	* BreakpointManager.java: Delete call to DwflCache
	.removeDwfl(Proc).

	* TaskStepEngine.java (dwfl): Delete.
	(getDwflLine): Always call DwflCache.getDwfl.

	* LineBreakpoint.java: Update; replace DwflFactory with DwflCache.
	* BreakpointManager.java: Ditto.
	* FunctionBreakpoint.java: Ditto.
	* TaskStepEngine.java: Ditto.
	* TestFrameDebugInfo.java: Ditto.

2007-07-09  Tim Moore  <timoore@redhat.com>

	* SteppingEngine.java (blockerMap): New variable.
	(addBlocker, getBlockers, getAndClearBlockers): New methods for
	registering blockers with the stepping engine, accessing and
	removing them.
	* Breakpoint.java (updateHit): Register observer with the stepping
	engine.

2007-07-09  Mark Wielaard  <mwielaard@redhat.com>

	* TestStepping.java (testASMSingleStep): Add unresolved for bug #4751.

2007-07-05  Adam Jocksch  <ajocksch@redhat.com>

	* DisplayManager.java (displaysByNum): Added, keeps track of
	displays by using their unique ID as a key.
	(createDisplay): Now adds the display to displaysByNum.
	(disableDisplay): Added.
	(enableDisplay): Added.
	(deleteDisplay): Added a second version that takes an integer
	identifier.
	* DisplayValue.java (getId): Added.

	* DisplayValueObserver.java (updateDisabled): Added.
	* TestUpdatingDisplayValue.java: All tests whose daemons don't
	terminate during the test now allow them to finish executing.
	(testDisabled): Added checks for enabling when no change has
	occured, and enabling when a change has occured.
	(testEnabledExprUnavailable): Added.
	(DisplayObserver): Refactored to reflect interface.
	* UpdatingDisplayValue.java (disable): Now sets a flag.
	(enable): Added.
	(isEnabled): Added.

2007-07-05  Tim Moore  <timoore@redhat.com>

	* SteppingEngine.java (continueForStepping): Remove debugging cruft.

	* SteppingEngine.java (continueForStepping): New method that
	unblocks the stepping observer and any breakpoint blockers.
	(stepInstruction, stepLine, setUp, stepNextInstruction, stepOver,
	continueExecution): Use it.
	* states/LineStepState.java (handleUpdate): Use it.
	* states/StepOverTestState.java (handleUpdate): Use it too.

2007-07-04  Andrew Cagney  <cagney@redhat.com>

	* TestUpdatingDisplayValue.java: Replace brokenXXX with
	unresolved.
	* TestSteppingEngine.java: Replace brokenIfPpcXXX with
	unresolvedOnPPC.
	* TestStepping.java: Ditto.
	* TestFrameDebugInfo.java: Delete call to brokenX86XXX.

	* TestStepping.java (testStepSigLongJmp): Delete redundant
	brokenIfKernel when FC-5 for bug 4289.

2007-07-04  Adam Jocksch  <ajocksch@redhat.com>

	* CountManager.java: New file.
	* BreakpointManager.java (breakpointID): Removed, use
	CountManager instead.
	(addLineBreakpoint): Now uses CountManager.
	(addFunctionBreakpoint): Ditto.
	* DisplayValue.java: Changed visibility of class to package only,
	UpdatingDisplayValue should be used via DisplayManager.
	(DisplayValue): Now takes an integer id.
	* UpdatingDisplayValue.java (UpdatingDisplayValue): Ditto.
	* DisplayManager.java (createDisplay): Now uses CountManager.
	* DisplayValueObserver.java: Methods now provide an UpdatingDisplayValue.
	* TestDisplayValue.java: Added default id's to DisplayValue constructors.
	* TestUpdatingDisplayValue.java (DisplayObserver): Refactored
	to reflect changes in interface.

	* DisplayManager.java: New file, implementation not yet complete.
	* DisplayValue.java (num): New field, looking ahead to when displays
	will have unique numerical identifiers.
	* TestUpdatingDisplayValue.java: Updated tests to use DisplayManager.
	(testDisabled): New test.
	* UpdatingDisplayValue.java (disabled): New method.

2007-07-03  Sami Wagiaalla  <swagiaal@redhat.com>

	* Subroutine.java: Added copyright.
	* InlinedSubroutine.java: Ditto.

2007-06-29  Adam Jocksch  <ajocksch@redhat.com>

	* UpdatingDisplayVAlue.java (TermObserver): Switched to
	TaskObserver.Terminated from TaskObserver.Terminating.
	* TestUpdatingDisplayValue.java (testTaskDead): Ditto.

	* TestUpdatingDisplayValue.java: Simiplified test names.
	(testTaskDead): Now passes, enabled.
	* UpdatingDisplayValue.java (TermObserver): Added so we can
	notify whoever is observing us of when the display is no longer
	available due to task death.
	(UpdatingDisplayValue): Adds a TermObserver to the task.

2007-06-29  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java (testASMFunctionEntry): Marked broken, #4711.
	(testASMFunctionReturn): Ditto.
	(testASMFunctionStepOver): Ditto.
	(testASMFunctionStepOut): Ditto.

2007-06-28  Stan Cox  <scox@redhat.com>

	* TestFrameDebugInfo.java (testValue): Handle NameNotFoundException.
	* Variable (getValue): Handle NameNotFoundException.
	
2007-06-28  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java (AttachedObserver.updateAttached): Dynamically
	assign expected line numbers based on architecture.

2007-06-28  Tim Moore  <timoore@redhat.com>

	* LineBreakpoint.java (getRawAddress, getRawAddressesForProc):
	Simplify by putting only addresses in the raw address list.
	* FunctionBreakpoint.java (getRawAddress, getRawAddressesForProc):
	Simplify by putting only addresses in the raw address list.

2007-06-27  Sami Wagiaalla  <swagiaal@redhat.com>

	* Scope.java (toPrint): Added line number to the unhandled type
	message.

2007-06-26  Sami Wagiaalla  <swagiaal@redhat.com>

	* Variable.java: enabled getValue.
	* TestFrameDebugInfo.java: Added testValues().

2007-06-26  Tim Moore  <timoore@redhat.com>

	* BreakpointManager.java: Indentation and documentation fixes.

2007-06-25  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java (testASMFunctionReturn): New test. Temporarily
	marked broken on x86.
	(testASMFunctionStepOver): Ditto.
	(testASMFunctionStepOut): Ditto.

2007-06-25  Tim Moore  <timoore@redhat.com>

	* FunctionBreakpoint.java (addressesForSymbol): New static
	function for getting addresses from raw symbols.
	(getRawAddressesForProc): Use it.
	* SourceBreakpoint.java (DEFERRED): New state.
	(taskStateMap, getState, setState): Map breakpoint state to tasks.
	(userState, getUserState, setUserState): Breakpoint state as set
	by user.
	(SourceBreakpoint): Set userState with state argument.
	(enableBreakpoint, disableBreakpoint): Set userState and task
	state.
	* BreakpointManager.java (enableBreakpoint): Catch error from
	breakpoint's enableBreakpoint method and defer the breakpoint.
	(refreshBreakpoints): New method.
	(manageProcess): Add code observer for shared library breakpoint.
	
2007-06-25  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java (testASMFunctionEntry): New test.

2007-06-25  Adam Jocksch  <ajocksch@redhat.com>

	* TestUpdatingDisplayValue.java (createDaemon): Now takes the name
	of the program to start.
	(testUpdateTaskStopped): Refactored for above change.
	(testUpdateValueChanged): Ditto.
	(testUpdateUnavailableFuncReturn): Ditto.
	(testUpdateUnavailableLongjump): Implemented, addresses part of
	bz#4639.

2007-06-22  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestFrameDebugInfo.java (testParameters): Changed test to expect
	Variable instead of Value objects.
	* Subprogram.java (Subprogram): Parameters are now represented using
	the Variable object instead of the Value object.
	(printParameters): Changed print method to follow the above.

2007-06-22  Adam Jocksch  <ajocksch@redhat.com>

	* DisplayValue.java (refresh): Disabled stack backtraces when
	DebugInfo.print throws exceptions.
	* DisplayValueObserver.java (updateUnavailableOutOfScope): Added.
	* TestUpdatingDisplayValue.java
	(testUpdateUnavailableFuncReturn): Added code, enabled test.
	(DisplayObserver): Refactored to reflect changes to the interface.
	* UpdatingDisplayValue.java (refresh): If the value retrieved is
	null, notify the observers.
	(notifyObserversUnavailableOutOfScope): New method.

2007-06-22  Sami Wagiaalla  <swagiaal@redhat.com>

	* Variable.java: Added constructor.
	* Scope.java: Replaced variable information arrays with a 
	LinkedList of Variable Objects.
	(setVariables): Removed.
	(getVariableDies): Removed.
	(setVariableDies): Removed.
	(getTypeDies): Removed.
	(setTypeDies): Removed.
	* TestFrameScopes.java: Deleted test (this is already
	tested in TestFrameDebugInfo).

2007-06-21  Sami Wagiaalla  <swagiaal@redhat.com>

	* Variable.java: New class.

2007-06-20  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestFrameDebugInfo.java (testFrameScopes): New test.

2007-06-20  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestFrameDebugInfo.java (testFrameAdjustedAddress): New test.

2007-06-20  Adam Jocksch  <ajocksch@redhat.com>

	* UpdatingDisplayValue.java: Ran through formatter.
	(refresh): Simplified method for checking whether to notify the
	observers.
	(equals): Added.
	(notifyObserversAvailable): Checks to see if observers are present.
	(notifyObserversUnavailableTaskResumed): Ditto.
	(notifyObserversValueChanged): Ditto.
	(arrayChanged): Now deals with the case where the old value was null.
	(LockObserver): Now expects a TaskSteppingEngine rather than a Task.

2007-06-19  Mike Cvet  <mcvet@redhat.com>
	
	* SteppingEngine.java (SteppingEngine): Initialize ThreadLifeObservable
	object here in constructor, rather than later.

2007-06-19  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestFrameScopes.java: New.

2007-06-19  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java (SteppingObserver.updateExecuted): Instead of 
	notifying Observers with Task argument, use TaskStepEngine instead.
	(SteppingEngine.notifyNotBlocked): Now takes TaskStepEngine parameter.
	(SteppingEngine.notifyStopped): Removed.
	(SteppingEngine.notifyTask): Removed.
	(stepInstruction): Update logic for calling 
	SteppingEngine.notifyNotBlocked with TaskStepEngine parameter.
	(stepLine): Ditto.
	(setUp): Ditto.
	(stepAdvance): Ditto.
	(stepNextInstruction): Ditto.
	(stepOver): Ditto.
	(stepOut): Ditto.
	(continueExecution): Ditto.
	(executeTasks): Ditto.
	* TestStepping.java (LockObserver.update): Updated logic to expect
	TaskStepEngine parameter from Observable, rather than Task or null
	Objects.
	* TestSteppingEngine.java (testLineStepping): Added some cleanup code.
	(setUpTest): Update breakpoint test with new TaskStepEngine.
	(LockObserver.update): Updated logic to expect TaskStepEngine parameter
	instead of null or Task objects.

2007-06-18  Adam Jocksch <ajocksch@redhat.com>

	* DisplayValueObserver.java (updateValueChanged): Added.
	* TestDisplayValue.java: Added comments to individual tests.
	* TestUpdatingDisplayValue.java (testUpdateTaskStopped): Changed
	lines at which breakpoints were being added.
	(testUpdateValueChanged): Added, confirms bz# 4644 as fixed.
	(DisplayObserver): Changed to reflect above change to 
	DisplayValueObserver.
	* UpdatingDisplayValue.java (oldValue): Added, tracks previous value
	of the expression.
	(refresh): Now compares the current byte array to the previous one
	and signals the observers if the value has changed.
	(notifyObserversValueChanged): Added.
	(arrayChanged): Added.
	(LockObserver): Now correctly recognizes stopping/continuing events
	from the SteppingEngine.

2007-06-15  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java (stepNextInstruction): Added Javadoc.
	(stepNextInstruction): Removed Frame parameter from Task list method.
	Added some logic for next-instruction stepping multiple Tasks.
	(stepOver): Added Javadoc. Removed Frame parameter. Added some logic 
	for stepping multiple Tasks.
	(stepOut): Ditto.

2007-06-14  Adam Jocksch <ajocksch@redhat.com>

	* DisplayValueObserver.java 
	(updateUnavailableResumedExecution): Added.

	* DisplayValueObserver.java (updateDisplayValueChanged): Renamed
	to updateAvailableTaskStopped.
	* TestUpdatingDisplayValue.java (testUpdateDetected): Renamed to 
	testUpdateTaskStopped.
	(testUpdateUnavailable): Renamed to testUpdateUnavailableFuncReturn.
	* UpdatingDisplayValue.java (notifyObservers): Renamed to
	notifyObserversAvailable.
	(notifyObserversUnavailableTaskResumed): Added.

2007-06-14  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestFrameDebugInfo.java: Added check for "fourth" frame.
	Replaced Exiting observer with Signaled observer to listen
	for the sigsegv sent by the test program.

2007-06-14  Tim Moore  <timoore@redhat.com>

	* BreakpointManager.java (ProcWatcher): New class to react to
	interesting changes in a process
	(enableBreakpoint): Create a ProcWatcher if necessary.
	(manageProcess): New method to alert BreakpointManger to a process.
	* SourceBreakpoint.java: (appliesTo): New method (stub).

2007-06-13  Adam Jocksch  <ajocksch@redhat.com>

	* TestUpdatingDisplayValue.java
	(testUpdateUnavailable): Added, addresses bz#4639 (currently unresolved).
	(testUpdateUnavailableExceptionThrown): Ditto.
	(testUpdateUnavailableLongJump): Ditto.
	(testUpdateUnavailableTaskDead): Ditto.

	* DisplayValue.java: Made fields protected.
	(getFrameIdentifier): Added.
	(getName): Added.
	(getTask): Added.
	* UpdatingDisplayValue.java: New file, addresses bz#4637.
	* TestUpdatingDisplayValue.java: New file.
	* DisplayValueObserver.java: New interface.

	* DisplayValue.java (refresh): Now calls DebugInfo.refresh(Frame).
	* TestDisplayValue.java (testVarMasked): Enabled, fixes
	bz#4576.

	* DisplayValue.java (update): Renamed to refresh.
	(isInScope): Renamed to isAvailable.
	* TestDisplayValue.java (testVarValueChanged): Removed superfluous
	call to SteppingEngine constructor, fixes regression.
	(testVarValueNotChanged): Ditto.

2007-06-13  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java: Cleaned up.
	(stepLine): Renamed from setUpLineStep().
	(stepAdvance): Renamed from setUpStepAdvance().
	(stepNextInstruction): Deleted, redundant method.
	(stepNextInstruction): Renamed from setUpStepNextInstruction(). 
	Updates the context map with an additional Task. Properly sets 
	FrameIdentifier for the Frame.
	(stepOver): Deleted, redundant method.
	(stepOver): Renamed from setUpStepOver(). Sets TaskStepEngine's
	FrameIdentifier properly.
	(stepOut): Deleted, redundant method.
	(stepOut): Renamed from setUpStepOut(). Renamed parameter.
	(stepAdvance): Commented.
	* TestStepping.java: Updated method calls to SteppingEngine.
	* TestSteppingEngine.java: Ditto.
	* StepOverTestState.java (handleUpdate): Fixed some stepping logic.
	* NextInstructionStepTestState.java (handleUpdate): Ditto.

2007-06-12  Sami Wagiaalla  <swagiaal@redhat.com>

	* Subprogram.java: Removed outer pointer.
	Removed LexicalBlock object, getter and setter; Subprogram owns 
	variables by extending Scope.
	Removed Scope variable construction as it is done in Scope constructor.
	* Scope.java: Changed type of outer pointer to Scope from LexicalBlock.

2007-06-12  Sami Wagiaalla  <swagiaal@redhat.com>

	* Subroutine.java: New.
	* InlinedSubroutine.java: New.
	* Subprogram.java: Now extends Subroutine.

2007-06-11  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java (setUpStepAdvance): Fixed some minor bugs.
	* TestSteppingEngine.java (testStepAdvance): Added.
	(complexStepAssertions): Added code for step-advance.
	(LockObserver.update): Ditto.

2007-06-11  Nurdin Premji  <npremji@redhat.com>

	* Frame.java: Moved to frysk.stack.
	* FrameIdentifier.java: Ditto.
	* RemoteFrame.java: Ditto.
	* StackAccessors.java: Ditto.
	* StackCallbacks.java: Ditto.
	* StackFactory.java: Ditto.
	* StackFrame.java: Ditto.
	* TestFrame.java: Ditto.
	* TestFrameIdentifer.java: Ditto.
	* TestStackBacktrace.java: Ditto.
	* states/NextInstructionStepTestState.java: Reflect frysk.stack package movement.
	* states/StepOverTestState.java: Ditto.
	* DisplayValue.java: Ditto.
	* SteppingEngine.java: Ditto.
	* TestSymbol.java: Ditto.
	* Line.java: Ditto.
	* TestFrameDebugInfo.java: Ditto.
	* TestStepping.java: Ditto.
	* Symbol.java: Ditto.
	* TestDisplayValue.java: Ditto.
	* TaskStepEngine.java: Ditto.
	* TestSymbol.java: Ditto.
	* Line.java (Line): Made public.
	* Symbol.java (Symbol): Ditto.
	
2007-06-11  Mike Cvet  <mcvet@redhat.com>

	* TestSteppingEngine.java (testInstructionNext): Enabled test.
	(stepOverAssertions): Renamed to complexStepAssertions().
	(complexStepAssertions): Minor fixes.

2007-06-09  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java: Turned into dynamic class. Fixes #4605.
	(SteppingEngine): Added. Empty constructor to inialize class data
	structures, Proc array constructor to initialize class Procs, Proc 
	array and Observer constructor to add class Observer before 
	initialization.
	(init): Added. Initializes ThreadLifeObservable and adds
	SteppingObserver to Procs.
	* Breakpoint.java (Breakpoint): Now takes a SteppingEngine for
	initialization.
	(steppingEngine): New field.
	(PersistentBreakpoint): Takes SteppingEngine for initialization.
	(getTaskPersistentBreakpoint): Temporarily removed.
	* BreakpointManager.java: General fixups for dynamic SteppingEngine.
	(BreakpointManager): Takes a SteppingEngine Object for initialization.
	(steppingEngine): New field.
	* SourceBreakpoint.java (enableBreakpoint): Takes a SteppingEngine.
	(disableBreakpoint): Ditto.
	* TaskStepEngine.java (steppingEngine): New field. Represents parent
	SteppingEngine object.
	(getSteppingEngine): Added.
	* TestDisplayValue.java: Fixups for new dynamic SteppingEngine.
	* TestStackBacktrace.java: Ditto.
	* TestStepping.java: Ditto.
	* TestSteppingEngine.java: Ditto.
	* states/LineStepState.java: Ditto.
	* states/NextInstructionStepState.java: Ditto.
	* states/NextInstructionStepTestState.java: Ditto.
	* states/StepAdvanceState.java: Ditto.
	* states/StepOutState.java: Ditto.
	* states/StepOverState.java: Ditto.
	* states/StepOverTestState.java: Ditto.

	* TestSteppingEngine (testStepOver): Enabled test.
	(testStepOut): Enabled test.
	(stepOverAssertions): Fixed minor bugs.

2007-06-08  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestFrameDebugInfo.java: Now uses StackFactory.printRichStackTrace.
	* StackFactory.java (printRichStackTrace): New function.
	* Scope.java: Fixed reinitialzing of the LexicalBlock scope.
	(printParameters): New function.
	(printScopes): New function.

2007-06-08  Stan Cox  <scox@redhat.com>

	* Subprogram.java (functionType): New.
	(Subprogram): Setup block.

2007-06-08  Adam Jocksch  <ajocksch@redhat.com>

	* TestDisplayValue.java (testVarOutOfScope): Now continues until
	the variable re-enters the scope.
	(testVarMasked): More descriptive message for assert statements.

2007-06-08  Sami Wagiaalla  <swagiaal@redhat.com>

	* Subprogram.java: Now extends Scope.
	* Scope.java: Constructor now finds owned variables and 
	constructs inner Scopes.
	Added a LinkedList of possible inner Scopes.
	(toPrint) : New method.
	(isScopeDie) : New method.
	* LexicalBlock.java: Added no argument constructor.
	Added constructor that requires DebugInfo, and DwarfDie. 

2007-06-07  Sami Wagiaalla  <swagiaal@redhat.com>

	* Frame.java: Removed printing of dwarf info from the default
	toPrint function.

2007-06-05  swagiaal  <swagiaal@redhat.com>

	* Subprogram.java (toString): Added check for falior to initialized
	parameters of the underlying function.

2007-06-05  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java (removeObserver): Added boolean parameter 
	for unblocking the given process.

2007-06-04  Sami Wagiaalla  <swagiaal@redhat.com>

	* Subprogram.java: Enabled parameter printing.

2007-06-04  Adam Jocksch  <ajocksch@redhat.com>

	* TestDisplayValue.java (testVarMasked): Code added, still labelled as
	brokenXXX.
	(testVarNotInCurrentScope): Implemented, confirms bz#4577 as fixed.
	(createDaemon): Refactored out of the testcases for simplicity.

2007-06-04  Sami Wagiaalla  <swagiaal@redhat.com>

	* TestFrameDebugInfo.java (getStoppedTask): Fixed the name of the 
	assertRunUntilStop.
	* LexicalBlock.java: Moved all variable handling from here...
	* Scope.java: ...to here.

2007-06-01  Adam Jocksch  <ajocksch@redhat.com>

	* DisplayValue.java (DisplayValue): Now takes the name of the variable
	as a string, the task from which it should be fetched, and the
	FrameIdentifier indicating the scope it is in.
	* TestDisplayValue.java (testVarOutOfScope): Enabled, confirms bz#4575
	as fixed.

2007-05-31  Nurdin Premji  <npremji@redhat.com>

	* LineBreakpoint.java (getRawAddressesForProc): Use DwflFactory.
	
	* FunctionBreakpoint.java (getRawAddressesForProc): Use DwflFactory.
	* StackFrame.java (getLines): Ditto.
	* Frame.java (getSubprogram): Ditto.
	* RemoteFrame.java (getLines): Ditto.
	* TaskStepEngine.java (getDwflLine): Ditto.	

2007-05-31  Adam Jocksch  <ajocksch@redhat.com>

	* DisplayValue.java (DisplayValue): Now takes a task object.
	(isInScope): Now correctly returns whether the varliable is in scope.
	(update): Added.
	* TestDisplayValue.java (testVariableValueChanged): Enabled, testcase
	now passes.
	(testVariableValueNotChanged): Ditto.

2007-05-30  Nurdin Premji  <npremji@redhat.com>

	* StackAccessors.java: Reflect movement of DwflFactory.

2007-05-29  sami wagiaalla  <swagiaal@redhat.com>

	* Subprogram.java: Changed type of parameters from Value[] to
	LinkedList.
	* TestFrameDebugInfo.java: Changed use of Subprogram.getParamers as
	a Value[] to used it as LinkedList.

2007-05-29  Adam Jocksch  <ajockshc@redhat.com>

	* DisplayValue.java: Renamed from Display.java.
	* TestDisplayValue: New test, tests not yet working are flagged as 
	brokenXXX.

2007-05-29  sami wagiaalla  <swagiaal@redhat.com>

	* TestFrameDebugInfo.java: New test.
	Disabled parts of test not yet implemented.
	* Subprogram.java: Added initialization for parameter values using
	dwarf info.
	addd toString method.
	Diabled printing of parameters.
	* StackFrame.java: Removed duplicate toPrint method.
	* RemoteFrame.java (toPrint): Moved toPrint from here...
	* Frame.java (toPrint):...to here.
	Added Dwarf info handling to getSubprogram.
	Changed print method to match format expected by TestFcatch


2007-05-28  Nurdin Premji  <npremji@redhat.com>

	* StackAccessors.java (getElfImage): Use DwflFactory to check vdso.
	(getModuleFromAddress): Use DwflFactory to get the Dwfl.

2007-05-23  Andrew Cagney  <cagney@redhat.com>

	* TestSteppingEngine.java: Delete all sequences of
	Host.requestRefreshXXX + EventLoop.runPending.

2007-05-17  Nurdin Premji  <npremji@redhat.com>

	* StackAccessors.java (getElfImage): Use frysk.proc.Proc.getMap() to find elf image.

2007-05-16  Tim Moore  <timoore@redhat.com>

	* BreakpointManager.java: New file.
	* SourceBreakpointObserver.java: New file.
	* SteppingEngine.java (getBreakpointManager): New method.
	* SourceBreakpoint.java (State): Class stolen from cli.hpd.Actionpoint.
	(getState): New method.
	(addBreakpoint): Renamed to:
	(enableBreakpoint): see above.
	(deleteBreakpoint): Renamed to:
	(disableBreakpoint): see above.
	(containsPersistantBreakpoint): Rename to:
	(containsPersistentBreakpoint): see above.
	(getObserverDelegate, setObserverDelegate): remove.
	(addObserver, deleteObserver, numberOfObservers, removeAllObservers):
	New methods.
	(getId, compareTo): new methods.
	(getRawAddressesForProc, output): new abstract methods.
	* LineBreakpoint.java (LineBreakpoint(Proc ...)): Remove.
	(addLineBreakpoint): Remove.
	(getRawAddressesForProc): New method.
	(output): New method.
	* FunctionBreakpoint.java (FunctionBreakpoint(Proc ...)): Remove.
	(getRawAddressesForProc): New method.
	(output): New method.

2007-05-15  Nurdin Premji <npremji@redhat.com>

	* TestFrame.java (backtrace): Use symbol.getName() instead of getProcName().
	* Frame.java (getProcName): Removed.
	* StackFrame.java (getProcName): Ditto.
	* RemoteFrame.java (getProcName): Ditto.

2007-05-14  Mike Cvet  <mcvet@redhat.com>

	* RemoteFrame.java (getFrameIdentifier): Build new FrameIdentifier on
	demand, only when current field is null.
	
	* RemoteFrame.java: Commented.

2007-05-14  Andrew Cagney  <cagney@redhat.com>

	* SteppingEngine.java: Remove use of frysk.proc.Task.isDesctroyed.

2007-05-11  Nurdin Premji  <npremji@redhat.com>

	* StackFactory.java: Switch to using RemoteFrame

2007-05-10  Andrew Cagney  <cagney@redhat.com>

	* TestFrame.java (backtrace): Revert Sami Wagiaalla's accidental
	commit.

2007-05-10  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java (breakpoint): Changed from SteppingBreakpoint
	to Breakpoint.
	(removeBreakpoint): Delete from the breakpoint's address, rather than
	address field.
	(addBreakpoint): Set breakpoint field.

2007-05-10  Nurdin Premji  <npremji@redhat.com>

	* RemoteFrame.java (getOuter): Removed stepping check, is now done in Cursor.

2007-05-10  Adam Jocksch  <ajocksch@redhat.com>

	* Display.java: New File.

2007-05-10  Nurdin Premji  <npremji@redhat.com>
	
	* RemoteFrame.java (getOuter): Stop looking for outer frames when stepping is
	finished.

2007-05-08  Nurdin Premji  <npremji@redhat.com>

	* RemoteFrame.java (getOuter): Check if outer frame is not null just return it.

2007-05-08  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java (requestAdd): Removed method from eventLoop.

2007-05-07  Nurdin Premji  <npremji@redhat.com>

	* StackAccessors.java: Removed ptraceAccessors references.
	(getDynInfoListAddr): Return no info, don't use ptraceAccessors.
	(resume): Don't use ptraceAccessors.
	(getProcName): Use Manager.eventLoop instead of Server.

2007-05-07  Mike Cvet  <mcvet@redhat.com>

	* TestStackBacktrace.java: Changed SIGPOLLs to SIGUSR1s.
	(testBacktrace): Removed brokenXXX(4311), marked broken #4468.
	(testThreadedBacktrace): Ditto.

2007-05-04  Nurdin Premji  <npremji@redhat.com>

	* RemoteFrame.java: Remove local, private task. Remove debug statements.

	* StackFrame.java: Remove local, private task, use protected Frame task.

	* TestFrame.java (backtrace): Use StackFactory.createFrame().
	* StackFactory.java: Change newUnwind boolean to remoteUnwind.
	(setRemoteUnwind): Renamed, was (setNewUnwind).
	(createFrame): Use RemoteFrame depending on value of remoteUnwind.
	(generateTaskStackTrace): Simplify.
	(createStackTrace): Removed, code is now in createFrame.

	* RemoteFrame.java: Extend frame.
	(getInner): Return abstract Frame.
	(getOuter): Ditto.
	* StackFactory.java: Update RemoteFrame abstract Frame changes.
	* TestFrame.java: Ditto.

	* StackFactory.java (createFrame): Renamed from createStackFrame.
	(generateTaskStackTrace): Updated for createFrame name change.
	* states/NextInstructionStepTestState.java (handleUpdate): Ditto.
	* states/StepOverTestState.java (handleUpdate): Ditto.
	* TestStackBacktrace.java (handleTask): Ditto.
	(firstTestBacktraceAssertions): Ditto.
	(setUpTest): Ditto.
	(pushPopAssertions): Ditto.
	* TestStepping.java (setUpTest): Ditto.
	(assertions): Ditto.
	* TestSymbol.java (frameTest): Ditto.
	* StackFrame.java (getProcName): Ditto.
	* TestSteppingEngine.java (stepOverAssertions): Ditto.
	(setUpTest): Ditto.
	(stepAssertions): Ditto.
	(stepOut): Ditto.
	(stepOver): Ditto.
	(stepNextInstruction): Ditto.

	* states/NextInstructionStepTestState.java (handleUpdate): Abstract StackFrame to Frame.
	* states/StepOverTestState.java (handleUpdate): Ditto.
	* TestStackBacktrace.java (handleTask): Ditto.
	(firstTestBacktraceAssertions): Ditto.
	(setUpTest): Ditto.
	(pushPopAssertions): Ditto.
	* StackFrame.java (getOuter): Ditto.
	(getInner): Ditto.
	(StackFrame): Ditto.
	* TestStepping.java (setUpTest): Ditto.
	(assertions): Ditto.
	* TestSymbol.java (frameTest): Ditto.
	* TestSteppingEngine.java (stepOverAssertions): Ditto.
	(setUpTest): Ditto.
	(stepAssertions): Ditto.
	(stepOut): Ditto.
	(setUpStepAdvance): Ditto.
	(stepOver): Ditto.
	(setUpStepNextInstruction): Ditto.
	(setUpStepOut): Ditto.
	(stepNextInstruction): Ditto.
	(setUpStepOver): Ditto.
	* Frame.java (getInner): Ditto.
	(getOuter): Ditto.
	* StackFactory.java (createStackFrame): Ditto.
	(generateTaskStackTrace): Ditto.
	(printStackTrace): Ditto.
	
	* RemoteFrame.java: Renamed was ...
	* Frame.java: Moved code to RemoteFrame, use as abstract class for StackFrame.
	* TestFrame.java (backtrace): Updated RemoteFrame name change.
	* StackFactory.java (createStackTrace): Ditto.
	(generateTaskStackTrace): Ditto.

2007-05-03  Tim Moore  <timoore@redhat.com>

	* Breakpoint.java (PersistentBreakpoint): Make class static. Use
	proc.Observable object.
	(PersistentBreakpoint addObserver, deleteObserver, observersIterator,
	numberOfObservers, removeAllObservers): Delegating methods to
	observable.
	(PersistentBreakpoint.updateHit): Remove task from SteppingEngine
	running tasks; hit all observers.
	* BreakpointObserver.java (BreakpointObserver):Implement
	proc.Observer interface.
	* SourceBreakpoint.java (SourceBreakpoint): Implement
	BreakpointObserver.
	(SourceBreakpoint constructor) Take a delegate argument.
	(addBreakpoint): Use Breakpoint.PersistentBreakpoint.
	(containsPersistantBreakpoint): Ditto.
	(updateHit): Update delegate.
	(getObserverDelegate, setObserverDelegate, addedTo, addFailed,
	deletedFrom): New methods.
	* SteppingEngine.java (runningTasks): Expose to package.
	(continueExecution): Remove any persistent breakpoints from task
	blockers.

2007-05-02  Andrew Cagney  <cagney@redhat.com>

	* Revert 2007-05-01 Nurdin Premji <npremji@redhat.com> change.

2007-05-01  Nurdin Premji  <npremji@redhat.com>

	* states/NextInstructionStepTestState.java (handleUpdate): Switch from 
	StackFrame to Frame.
	* states/StepOverTestState.java (handleUpdate): Ditto.
	* TestStackBacktrace.java (handleTask): Ditto.
	(firstTestBacktraceAssertions): Ditto.
	(setUpTest): Ditto.
	(pushPopAssertions): Ditto.
	* TestFrame.java (backtrace): Ditto.
	* TestStepping.java (setUpTest): Ditto.
	(assertions): Ditto.
	* TestSymbol.java (frameTest): Ditto.
	* TestSteppingEngine.java (stepOverAssertions): Ditto.
	(setUpTest): Ditto.
	(stepAssertions): Ditto.
	(stepOut): Ditto.
	(setUpStepAdvance): Ditto.
	(stepOver): Ditto.
	(setUpStepNextInstruction): Ditto.
	(setUpStepOut): Ditto.
	(stepNextInstruction): Ditto. 
	(setUpStepOver): Ditto.

	* Frame.java (getInner): Added.
	(getAddress): Removed debug lines.
	(toPrint): Ditto.
	* StackFactory.java: Removed newUnwindFlag.
	(createFrame): Renamed from createStackTrace.
	(generateTaskStackTrace): Use new Frame class.
	(printStackTrace): New, takes a Frame.

2007-05-01  Mike Cvet  <mcvet@redhat.com>

	* TestSteppingEngine.java (testContinue): Added. Tests SteppingEngine 
	state stopping and starting mechanisms.
	(setUpContinue): Added.
	(continueAssertions): Added.
	(LockObserver.update): Updated to work with testContinue.
	
	* TestSteppingEngine.java (setUpContinue): Added additional assertions.
	
	* SteppingEngine.java (SteppingBreakpoint.addedTo): Set task State to 
	running before steppingObserver deletion.
	(setBreakpoint): Record new Breakpoint in breakpointMap.
	(removeBreakpoint): Remove from breakpointMap.
	* TestSteppingEngine.java (testBreakpointing):Added. Tests 
	SteppingEngine breakpoint adding mechanism.
	(setUpTest): Cleaned up. Added code for testBreakpointing.
	(breakpointAssertions): Added.
	
	* TestSteppingEngine.java (testInstructionSteppingList): Added. Tests 
	instruction stepping through SteppingEngine with a List of Tasks.
	(testLineSteppingList): Added. Tests line stepping through SteppingEngine
	with a list of Tasks.
	(setUpTest): Added code for above two tests.

2007-04-30  Nurdin Premji  <npremji@redhat.com>

	* Frame.java (getSubprogram): Added.
	(setSubprogram): Added.
	(getCFA): Added.
	(setRegister): Added.
	(byteArrayToLong): Added.
	(getFrameIdentifier): Added.
	(getTask): Added.	
	(getRegister): Return long.
	(getRegister): API compatible with StackFrame.
	(setRegister): Ditto.

2007-04-30  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java (testLineStepFunctionCall): Use Sig.USR1
	instead of Sig.POLL. Fixes #4431.
	(testLineStepIfStatementPass): Ditto.
	(testLineStepIfStatementFail): Ditto.
	(testLineStepFunctionReturn): Ditto.
	(testStepSigLongJmp): Ditto.
	(testStepGoto): Ditto.
	(testStepSigRaise): Ditto.
	* TestSteppingEngine.java (testInstructionStepping): Ditto.
	(testLineStepping): Ditto.
	(testStepOver): Ditto.
	(testInstructionNext): Ditto.
	(testStepOut): Ditto.

2007-04-30  Nurdin Premji  <npremji@redhat.com>

	* Frame.java: Copied over StackFrame methods.
	(getRegister): Returns a byte[] rather than a long.
	* StackFactory.java: Updated Frame.java constructor and toPrint() method 
	signatures changed.

	* Frame.java (getProcName): Updated, ProcName fields less visible.
	(getAddress): Ditto.
	(toPrint): Ditto.

2007-04-26  Mike Cvet  <mcvet@redhat.com>
	
	* TestStackBacktrace.java: Fixed up to use SteppingEngine. Removed
	old and unnecessary code. Properly implemented new RT objects.
	Addressed #3815, #3743, #3744.
	(firstTestBacktraceAssertions): Added.
	(TaskCreatedObserver): Removed.
	(testBacktrace): Marked broken for #4431.
	(testThreadedBacktrace): Ditto.
	* TestStepping.java (testLineStepFunctionCall): Marked broken for #4431.
	(testLineStepIfStatementPass): Ditto.
	(testLineStepIfStatementFail): Ditto.
	(testLineStepFunctionReturn): Ditto.

	* TestStackBacktrace.java (frameAssertions): Disabled broken assertion.
	* TaskStepEngine.java (handleUpdate): Now sends in 'this' as an argument
	to State.handleUpdate().
	* SteppingEngine.java (stepInstruction): Removed TaskStepEngine
	parameter to new State instantiation.
	(stepInstruction): Ditto.
	(setUpLineStep): Ditto.
	(setUp): Ditto.
	(setUpStepAdvance): Implemented again, for new SteppingEngine.
	(setUpStepOver): Increment the number of operating threads for the Proc
	and notify the SteppingObserver of an inconsistent state.
	(setUpStepOut): Ditto.
	* states/State.java (tse): Removed global TaskStepEngine variable.
	(handleUpdate): Takes a TaskStepEngine.
	* states/InstructionStepState.java (InstructionStepState): Removed 
	TaskStepEngine parameter.
	(handleUpdate): Commented. Now takes TaskStepEngine parameter.
	* states/LineStepState.java: Ditto.
	* states/NextInstructionStepState.java: Ditto.
	* states/NextInstructionStepTestState.java: Ditto.
	* states/RunningState.java: Ditto.
	* states/StepAdvanceState.java: Ditto.
	* states/StepOutState.java: Ditto.
	* states/StepOverState.java: Ditto.
	* states/StepOverTestState.java: Ditto.
	* states/StoppedState.java: Ditto.

2007-04-25  Nurdin Premji  <npremji@redhat.com>

	* Frame.java (getAddress): Added.
	(toPrint): Added.
	* StackAccessors.java (getProcName): Added logging message.
	* StackFactory.java (generateTaskStackTrace): Added boolean switch between
	old and new bindings.

2007-04-25  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java (detachProc): Removes all observers and
	breakpoints from all Tasks of a Proc, removes information from
	SteppingEngine data structures, and releases the task. Fixes #4421.

	* SteppingEngine.java (detachProc): Now takes a boolean parameter. If
	true, then ensures the Proc will be sent a kill signal after all
	detaching has finished.
	(ThreadLifeObservable.exitingTasks): Added. List of tasks to check
	against when removing a process.
	(setExitingTasks): Added.
	(deletedFrom): If the incoming Task is contained in the list of exiting
	tasks, decrement the context value for its Proc, and kill the Proc if
	no more Tasks exist to detach from. Fixes #4421.

2007-04-25  Nurdin Premji <npremji@redhat.com>

	* Frame.java (getProcInfo): Added.
	* StackAccessors.java: Added logging.
	(findProcInfo): Implemented without PtraceAccessors.
	(putUnwindInfo): Ditto.
	(getElfImage): Added.
	(getModuleFromAddress): Added.
	(accessMem): Simplified, added logging code.
	* TestFrame.java (test32): Removed, should use TestRunner -arch 32 instead.	

2007-04-24  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java (cleanTask): Clean from threads list and
	breakpoint map. 
	(clear): Clear threads list.
	(ThreadLifeObservable.updateTerminating): No longer explicitly cleans
	any Tasks from data structures; uses cleanTask() instead.

2007-04-23  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java (contextMap): Changed to synchronized HashMap.
	(tasks, stateProc, taskStepCount, current): Removed.
	(threadsList): Added. List of Tasks to be blocked.
	(setProc): Heavily cleaned up, fixed to use threadsList.
	(setProcs): Ditto.
	(addProc): Dito.
	(stepInstruction): Ditto. Uses contextMap to keep track of number of
	stepping threads.
	(setUpLineStep): Removed reference to taskStepCount.
	(setUpStepNextInstruction): Ditto.
	(setUpStepOver): Ditto.
	(setUpStepOut): Ditto.
	(continueExecution): Removed reference to old Tasks array.
	(stop): Ditto. Ensure that Tasks don't get added to threadsList
	more than once. Synchronized on threadsList.
	(blockTask): Removed.
	(executeTasks): Made use of threadsList.
	(isProcRunning): Assume if Task no longer exists in SteppingEngine
	data structures, it has exited and thus not running. Fixes #4401.
	(isTaskRunning): Ditto.
	(updateExecuted): Check number of remaining Tasks to be blocked before
	notifying any Observers. Update the number of remaining Tasks in the
	contextMap. If there are Tasks to be blocked, block them and return.
	Fixes #4399.
	(requestAdd): Rewritten. Faster, empties Tasks out of threadsList and
	blocks each as individual Tasks rather than threads of a process.
	(ThreadLifeObservable): Initialize threadsList.
	(ThreadLifeObservable.updateClonedOffspring): Don't explicitly block
	new Tasks with the steppingObserver. Update contextMap with new Task
	and put new Task in threadsList. Fixes #4399.

	* SteppingEngine.java (cleanTask): Don't remove the parent Proc from 
	contextMap.
	(requestAdd): Make sure Task isn't Destroyed before adding observation.
	(ThreadLifeObservable.updateTerminating): Removes the dying Task from
	the appropriate data structures. Updates Observers of either one of
	many active Tasks exiting, or last Task being observed exiting.


2007-04-20  Mike Cvet  <mcvet@redhat.com>

	* SteppingEngine.java: Added JavaDoc and extensive commenting. Minor 
	code improvements.
	* states/State.java: Ditto.
	* TaskStepEngine.java: Ditto.

2007-04-19  Mike Cvet  <mcvet@redhat.com>

	* RunState.java: Removed, via #4395. Most of logic moved to
	SteppingEngine.java.
	(SteppingObserver.updateExecuted): Made synchronized.
	* SteppingEngine.java: Added. Fixes #4395.
	(SteppingBreakpoint): Added.
	(ThreadLifeObserver): Moved over from RunState.java.
	(SteppingObserver): Added.
	* TaskStepEngine.java: Added.
	* TestSteppingEngine.java: Added. Logic moved over from
	TestRunState.java.
	* TestStepping.java: Fixups for RunState -> SteppingEngine move.
	* TestRunState.java: Removed.
	* TestStackBacktrace.java: Fixups for the RunState -> SteppingEngine
	move. 
	* BreakpointObserver.java: Ditto.
	* LineBreakpoint.java: Ditto.
	* Breakpoint.java: Added. 
	(PersistentBreakpoint): Added.
	* SourceBreakpoint.java: Fixups for RunState -> SteppingEngine move,
	and PersistantBreakpoint move to Breakpoint.java.
	* states/InstructionStepState.java: Added.
	* states/LineStepState.java: Added.
	* states/NextInstructionStepState.java: Added.
	* states/NextInstructionStepTestState.java: Added.
	* states/RunningState.java: Added.
	* states/State.java: Added.
	* states/StepAdvanceState.java: Added.
	* states/StepOutState.java: Added.
	* states/StepOverState.java: Added.
	* states/StepOverTestState.java: Added.
	* states/StoppedState.java: Added.

2007-04-18  Tim Moore  <timoore@redhat.com>

	* FunctionBreakpoint.java (FunctionBreakpoint): Take proc as
	argument. New constructor with string argument.
	* LineBreakpoint.java (LineBreakpoint, addLineBreakpoint): New
	proc arg for constructor.
	* SourceBreakpoint.java (procMap, ProcEntry): New member and class
	for tracking processes with this breakpoint.
	(SourceBreakpoint): remove addrs argument.
	(getAddrs, setAddrs, containsPersistantBreakpoint): Add proc argument.
	(addBreakpoint, deleteBreakpoint): Deal with processes.
	* StackAcessors.java(getProcName): Add arguments to SymbolBuilder
	symbol method.

2007-04-13  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (ThreadLifeObservable.updateClonedOffspring): Make sure to
	add new state entry for cloned thread.

2007-04-11  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (setUpLineStep): Make sure to set instruction stepping
	state if no debuginfo is present.

2007-04-10  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (ThreadLifeObservable): New class. Watches for thread
	creation and exits. 
	(threadLifeObservable): Added. Global variable for above class.
	(stop): Combined two if statements.
	(cleanTask): Added. Cleans out exited Task information from RunState
	data structures.
	(clear): Added. Clears out all information from RunState data
	structures.
	(setThreadObserver): Added.
	(getTaskState): Check for nulls.
	(setProc): Initialized threadLifeObservable, added to any threads of
	incoming Proc.
	(setProcs): Ditto.
	(addProc): Add threadLifeObservable to any incoming threads.
	(addFailed): Properly get Proc from Object parameter.

2007-04-08  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (contextMap): Added.
	(numRunningTasks): Removed.
	(state): Removed.
	(stateMap): Added. Allows finer-grained Task control.
	(RunState): Initialize contextMap and new synchronized stateMap.
	(setUp): Takes an int state parameter. Records the state of each 
	Task passing through this method as defined by int parameter.
	(setUpLineStep): Check state of requested Task before proceeding.
	Set Task-specific states.
	(stepInstruction): Ditto.
	(setUpLineStep): Check to see if any Tasks belonging to the List
	parameter are not stopped.
	(stepInstruction): Ditto. Set Task-specific states.
	(setUpNextInstruction): Set Task-specific states.
	(stepNextInstruction): Ditto.
	(setUpStepOver): Ditto.
	(stepOver): Ditto.
	(setUpStepOut): Ditto.
	(stepOut): Ditto.
	(stepUpStepAdvance): Ditto.
	(stepCompleted): Removed.
	(runCompleted): Ditto.
	(decNumRunningTasks): Ditto.
	(getNumRunningTasks): Ditto.
	(setNumRunningTasks): Ditto.
	(setState): Ditto.
	(continueExecution): Insert into context map the number of threads
	designated as running by process. Mark state of each thread 
	individually as running.
	(stop): Renamed first parameter. Resets current process index.
	(executeTasks): Removed references to global state int. Mark individual
	Task states and number of running Tasks to their Proc in context map.
	(setRunning): Takes List of Tasks as parameter, sets states to running.
	(getState): Takes Task parameter, returns state of that Task.
	(isProcRunning): Added. Returns true if any of the given Tasks are
	running, as defined by RunState.
	(setProc): Mark individual Tasks as running, insert number of running
	Tasks for process into context map.
	(setProcs): Ditto.
	(addProc): Insert number of running Tasks for new process into context
	map.
	(updateExecuted): Grab state of incoming Task out of stateMap. Update
	stored state of Task. Update number of running Tasks for its Proc.
	(PersistentBreakpoint.updateHit): Check state of incoming Task.	Update
	number of running Tasks for its process.
	* TestRunState.java (stepAssertions): Removed calls to
	RunState.stepCompleted().
	* TestStepping.java (testStepSigLongJmp): Marked broken for #4289.
	(assertions): Removed call to RunState.stepCompleted().

2007-04-03  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (addProc): Added. Appends a new process to the current
	RunState. Addresses #4312.
	(removeObserver): Unblock process if the number of observations is
	equal to the number of its Tasks.

2007-04-02  Tim Moore  <timoore@redhat.com>

	* FunctionBreakpoint.java (constructor): Look for inline instances
	if necessary.
	(getRawAddress): Decode DIEs from inlined instances
	(containsInlineInstances): New method.

2007-03-30  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (tasks): Turned into an array, representing threads
	for multiple processes. Addresses #4214.
	(continueExecution): Set the current process index.
	(stop): Added extra parameter, Tasks to be blocked. Call 
	requestAdd() with explicit Task list parameter. Sets current 
	process index.
	(setProc): Set number of running tasks. Properly use new global
	Task array. Sets current process index to 0.
	(setProcs): Added. Installs the RunState on an Array of Procs.
	(getNumTasks): Return the number of tasks for selected Proc.
	(removeObserver): Added Proc paramter; use it to check its own
	blockers list, before continuing Tasks.
	(addFailed): Cast Object parameter to Proc to unblock, instead of
	global stateProc. Removed System.exit() call.
	(requestAdd): Removed, no longer overloads requestAdd(LinkedList).
	(requestAdd): Don't set the number of running tasks or current Tasks
	list. Removed System.exit() call. Explicitly add RunState to each Task.
	(requestAddObservers): Removed.
	(blockTasks): Block Tasks belonging to currently-used Proc.

2007-03-28  Nurdin Premji  <npremji@redhat.com>

	* StackAccessors.java (getProcName): Implemented using dwarf bindings.

2007-03-28  Mark Wielaard  <mark@klomp.org>

	* StackCallbacks.java (logger): Use frysk.rt for getLogger().

2007-03-27  Andrew Cagney  <cagney@redhat.com>

	* StackAccessors.java: Replace frysk.sys.Ptrace.requestExecute
	with frysk.sys.Server.request.

	* TestStepping.java (testStepSigLongJmp): Note broken on
	2.6.20-1.2307.fc5.

2007-03-23  Nurdin Premji  <npremji@redhat.com>

	* StackAccessors.java (accessReg): Check that register sizes are the same.
	* StackFactory.java (createStackTrace): Use task's ISA to determine which
	Unwinder to create.

2007-03-22  Tim Moore  <timoore@redhat.com>

	* BreakpointCollection.java: Remove, rename to:
	* SourceBreakpoint.java: which describes its function more accurately.
	* LineBreakpoint.java: Change name of superclass.
	* FunctionBreakpoint.java: Change name of superclass.

2007-03-22  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (lineCountMap): Removed. Fixes #3700.
	(RunState): Removed above HashMap. Line stepping a one-line
	looper will now continue to loop until a user-requested stop.
	(setUp): Removed above HashMap.
	(setUpLineStep): Ditto.
	(stepIn): Removed code assuming lines have a finite number of
	instructions to step.
	* TestRunState.java (setUpTest): Step only the main Task.
	(stepAssertions): Removed references to signal-thread looping.

2007-03-21  Nurdin Premji  <npremji@redhat.com>

	* TestFrame.java (test32): New test.
	(backtrace): Refactored backtrace testing code to here.
	(testAttached): Updated.
	
2007-03-20  Nurdin Premji  <npremji@redhat.com>

	* StackAccessors.java: Add a reference to addressSpace so garbage collector
	doesn't destroy it.
	* StackFactory.java (createStackTrace): Updated.

2007-03-21  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java (testStepSigLongJmp): Added, re: #4016.
	(testStepGoto): Ditto.
	(setUpTest): Added code for above two new tests.
	(assertions): Ditto.
	
	* TestStepping.java (testStepSigRaise): Added. Marked broken pending #4237.
	(setUpTest): Added code for signal raise test.
	(assertions): Ditto.

2007-03-21  Tim Moore  <timoore@redhat.com>

	* BreakpointCollection.java: New superclass for breakpoints.
	* LineBreakpoint.java (LineBreakpoint): Use it.
	(addBreakpoint, deleteBreakpoint): Remove.
	* FunctionBreakpoint.java: New class.

2007-03-20  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (getLines): Prepend the compilation directory to the
	source file location if the given path is relative, rather than absolute. 
	Fixes #4220.

2007-03-19  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java (assertions): Fixed up a couple assertions.

2007-03-16  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (setRunning): Added.

2007-03-15  Sami Wagiaalla  <swagiaal@redhat.com>

	* StackFactory.java (printStackTrace): new function.

2007-03-15  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java: Deleted old constants, added new ones.
	(test): Determines which test is running.
	(CFile): Source file path for test program.
	(testRecursiveLineStepping): Removed.
	(testASMStepping): Removed.
	(testLineStepFunctionCall): Added.
	(testLineStepIfStatementPass): Added.
	(testLineStepIfStatementFail): Added.
	(testLineStepFunctionReturn): Added.
	(testASMSingleStep): Added.
	(testASMMultiStep): Added.
	(testASMJump): Added.
	(setUpTest): Re-written.
	(assertions): Added. Cleaner method for making assertions on
	stepping results.
	(AttachedObserver.updateAttached): Delete AttachedObserver from task.
	(AttachedObserver.deletedFrom): Add RunState from here.
	(LockObserver.update): Cleaned up.

2007-03-15  Stan Cox  <scox@redhat.com>

	* StackFrame.java (subprogram): New.
	(getSubprogram): New.
	(setSubprogram): New.
	* LexicalBlock.java:  Moved from frysk.value.
	* Subprogram.java:  Moved from frysk.value.

2007-03-12  Mike Cvet  <mcvet@redhat.com>

	* Line.java (getDOMSource): Check that the DOMFrysk coming out of the
	factory isn't null.

2007-03-09  Mike Cvet  <mcvet@redhat.com>

	* RunState.java: General clean-up. 
	(STEP_OVER_LINE_STEP): Renamed to STEP_OVER_TEST.
	(STEP_INSTRUCTION_NEXT_OVER): Renamed to STEP_INSTRUCTION_NEXT_TEST.
	(STEP_ADVANCE): Added.
	(setUpLineStep): Added - takes just a Task instead of a List.
	(setUpStepNextInstruction): Removed initialization of secondary
	FrameIdentifier.
	(stepNextInstruction): Removed redundant code.
	(stepOver): Ditto.
	(stepOut): Ditto.
	(outerFrameIdentifier): Removed.
	(setUpStepOver): Removed initialization of secondary FrameIdentifier.
	(setUpStepOut): Ditto.
	(setUpStepAdvance): Added. Will step the task until it returns to the 
	current frame.
	(decTaskStepCount): Removed.
	(updateExecuted): Added code for step-advance. Removed redundant code
	for step over.

2007-03-07  Tim Moore  <timoore@redhat.com>

	* LineBreakpoint.java (addBreakpoint, deleteBreakpoint): Process
	all the addresses associated with a source line.

2007-03-06  Nurdin Premji  <npremji@redhat.com>

	* StackAccessors.java: Have a PtraceAccessor component instead of extending
	PtraceAccessors.
	Made all methods public.
	Added unimplemented Accessors methods.
	* Testframe.java: Remove unused commented code.

	* TestFrame.java: New. 
	* Frame.java: New.
	* StackAccessors.java: New.
	* StackFactory.java (createStackTrace): New.	

2007-03-02  Mike Cvet  <mcvet@redhat.com>

	* Line.java (proc, source, function): New fields.
	(Line): Takes an additional Proc.
	(getDOMFunction): Added. Creates and returns the DOMFunction
	representing this Line on demand. Fixes #4118.
	(getDOMSource): Added. Creates and returns the DOMSource 
	representing this Line on demand. Fixes #4118.
	* StackFrame.java (setDOMFunction): Removed via #4118.
	(setDOMSource): Ditto.
	(getDOMFunction): Ditto.
	(getDOMSource): Ditto.
	(getLines): Pass in this StackFrame's Proc to the new Line.

2007-02-27  Andrew Cagney  <cagney@redhat.com>

	* StackFrame.java: Go back to using FrameCursor .getProcOffset.
	* Symbol.java (Symbol): When size is unknown, set it to -1.
	(getAddress): Rename getStartAddress.
	* TestSymbol.java: Check that the Symbol address is non-zero when
	expected.

	* TestStepping.java (testRecursiveLineStepping): Note problem with
	4103.

	* StackFrame.java (sourceFile, getSourceFile): Delete.
	
2007-02-27  Mike Cvet  <mcvet@redhat.com>

	* TestRunState.java: Removed references to Dwfl objects. Fixes #4103.
	* TestStepping.java: Ditto.
	* TestStackBacktrace.java: Ditto.

2007-02-27  Andrew Cagney  <cagney@redhat.com>

	* StackFrame.java (dwflLine, getDwflLine): Delete - were NULL.
	* TestStackBacktrace.java: Remove checks on line information for
	frames outside of "main".

2007-02-26  Andrew Cagney  <cagney@redhat.com>

	* StackFrame.java (toPrint): Use Line.
	(lineNum, getLineNumber, column, getColumn): Delete.
	* TestRunState.java: Update, use StackFrame .getLine.
	* TestStackBacktrace.java: Ditto.

	* StackFrame.java (setStartLine, setEndLine): Delete.
	(startLine, getStartLine, endLine, getEndLine): Delete.
	
	* StackFrame.java (endOffset, getEndOffset): Delete, always -1.
	(startOffset, getStartOffset): Delete, always 0.

	* StackFactory.java: Delete call to setIsSignalFrame.
	* StackFrame.java (setIsSignalFrame, getIsSignalFrame): Delete.
	(inner, cursor): Make private.
	(outer): Make package private.

	* StackFrame.java (getLines): New.
	* Line.java: New.

	* StackFrame.java: Rename myCursor to cursor.  Rename myTask to
	task.
	(hasDebugInfo): Delete.

	* StackFrame.java (getSymbolName): Delete.

2007-02-26  Mike Cvet  <mcvet@redhat.com>

	* TestFrameIdentifier.java (testEquals): Added test for
	non-FrameIdentifier objects.

2007-02-26  Andrew Cagney  <cagney@redhat.com>

	* StackFrame.java (getMethodName): Delete.
	(toPrint): Update, use getSymbol.
	* TestRunState.java: Update, use getSymbol.

2007-02-26  Mike Cvet  <mcvet@redhat.com>

	* FrameIdentifier.java: Added Javadoc.
	(equals): Returns false if the parameter is not an instanceof
	FrameIdentifier.

2007-02-26  Tim Moore  <timoore@redhat.com>

	* BreakpointObserver:New file.
	* LineBreakpoint: New file.
	* RunState.java (SourceBreakpoint): Change name of class to
	PersistentBreakpoint.
	(PersistentBreakpoint.getObserver,
	PersistentBreakpoint.setObserver):new methods.
	(PersistentBreakpoint.updateHit): Call breakpoint observer.
	(addPersistentBreakpoint, deletePersistentBreakpoint): New methods.

2007-02-23  Andrew Cagney  <cagney@redhat.com>

	* TestSymbol.java: Rename TestStackFrame.java.
	* Symbol.java: New file.
	* StackFrame.java (getSymbol): New method.

	* TestStackFrame.java (testFrameIdentifer): Delete.
	* TestFrameIdentifier.java: New file.
	* StackFrame.java: Create the FrameIdentifier on-demand.

2007-02-22  Mike Cvet  <mcvet@redhat.com>

	* TestStackFrame.java (testFrameIdentifier): Added. Tests the 
	relationships between FrameIdentifiers belonging to different frames in
	the same stack. Fixes #4091.
	(StackFrameTest): Added. Dummy StackFrame class for testing
	FrameIdentifiers.
	* StackFrame.java (hasDebugInfo): Added. Returns true if the StackFrame
	has debuginfo.
	* RunState.java (setUpLineStep): Made more threading-aware. Returns a
	boolean if RunState is in the proper state for step work.
	(stepInstruction): Ditto.

2007-02-20  Mike Cvet  <mcvet@redhat.com>

	* StackFactory.java (createStackFrame): Added check for number of
	StackFrames being iterated over.
	* TestRunState.java (testStepOver): Added brokenXXX for #4083.
	(testInstructionNext): Ditto.
	(testStepOut): Added, test for step-out. Marked brokenXXX for #4083.
	* RunState.java (updateExecuted): Added cases for step-out.
	(setUpStepOut): Implemented.
	(stepOut): Implemented; commented out pending #4083.
	(stepOver): Ditto.
	(stepNextInstruction): Ditto.
	* StackFrame.java (StackFrame): Update initialization of FrameIdentifier
	with address instead of name.
	* FrameIdentifier.java (FrameIdentifier): Removed frame name field, and
	instead use StackFrame current address.
	(innerTo): Added. Returns true if the StackFrame represented by this
	FrameIdentifier is inner to the incoming FrameIdentifier's StackFrame.
	(outerTo): Ditto, for being an outer frame.
	(equals): Returns true if the CFA and current address of both
	FrameIdentifiers match.
	(compareTo): Removed.
	(hashCode): Added. Returns CFA XOR'd with address.
	(toString): Added.

2007-02-19  Mike Cvet  <mcvet@redhat.com>

	* TestRunState.java (testStepOver): Added.
	(testInstructionNext): Added.
	(stepOverAssertions): Added. Assertions for above step-over tests.
	* RunState.java: Added some more state macros.
	(setUpNextInstruction): Assign both the current frame's
	FrameIdentifier, as well as the outer frame's for use later.
	(stepNextInstruction): Use FrameIdentifier to compare StackFrames.
	Due to #4060, check for a missing frame and re-step an instruction.
	(stepIn): Removed step-over double-step hack.
	(frameIdentifier, outerFrameIdentifier): New. FrameIdentifiers for
	the outer, and double-outer StackFrames upon return from a step-over
	or step-out call.
	(setUpStepOver): Set taskStepCount properly. Set FrameIdentifiers.
	(setUpStepOut): Ditto.
	(stepOver): Compare frames using FrameIdentifier instead of CFA.
	Check for missing frames via #4060.
	(continueExecution): Refactored from run(). Removes ambiguity from
	functionality. 
	(run): Added. Will restart the process from scratch.
	(updateExecuted): Improved stepping cases. Added code to deal with
	instruction level step-over.

2007-02-19  Mark Wielaard  <mark@klomp.org>

	* RunState.java (swContinue): Removed.

2007-02-19  Mark Wielaard  <mark@klomp.org>

	* RunState.java (run): Don't unblock after delete request.

2007-02-16  Mike Cvet  <mcvet@redhat.com>

	* FrameIdentifier.java: Added. Uses a StackFrame name and CFA to
	identify a StackFrame. Fixes #4062.
	* StackFrame.java (toPrint): Changed back to 
	FrameCursor.getMethodName() since getSymbolName is broken, via
	#4063.
	(frameIdentifier): Added.
	(StackFrame): Initialize above member.
	(getFrameIdentifier): Added.

2007-02-16  npremji  <npremji@redhat.com>

	* StackFrame.java (getSymbolName): Fixed to return "" instead of null
	if symbol name is null.
	(toPrint): Changed to just use getSymbolName.

2007-02-16  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (swContinue): Added. Temporary workaround for 
	#4057.

2007-02-15  Mike Cvet  <mcvet@redhat.com>

	* TestStackBacktrace.java (testFramePopping): Marked broken for
	#4059.
	(testFramePushing): Ditto.
	* StackFrame.java (getDOMSource): Refactored from getData().
	Changed to match getDOMFunction().
	* RunState.java (STEP_INSTRUCTION): Refactored from
	INSTRUCTION_STEP to match other macros.
	(STEP_INSTRUCTION_NEXT, STEP_INSTRUCTION_NEXT_OVER): Added for
	instruction-level 'step over.'
	(stepInstruction): Added - new overloaded method for instruction
	stepping; takes a Task.
	(setUpStepNextInstruction): Added - new method for instruction
	step-over. 
	(setUpStepNextInstruction): Added - overloaded above.
	(stepNextInstruction): Added. Performs instruction-level step-over.
	(stepOver): Removed debugging statements.
	(cleanUpBreakPoint): Nullify breakpoint.
	(updateExecuted): Added new cases for instruction step-over.
	(blockTask): Removed redundant call for adding observer.

2007-02-15  Tim Moore  <timoore@redhat.com>

	* RunState.java (RunState): Add logger member.
	(STOPPED, RUNNING, INSTRUCTION_STEP, STEP_IN, STEP_OVER, STEP_OUT,
	STEP_OVER_LINE_STEP): Make public.
	(run): call requestUnblock on the instruction observer.
	(Breakpoint.address, Breakpoint.triggered, Breakpoint.added,
	Breakpoint.removed): Make protected.
	(Breakpoint): Print out address in hex.
	(logHit): New method.
	(Breakpoint.updateHit): Change uses of System.out.println to
	logging calls.
	(SourceBreakpoint.updateHit): More logging, call setChanged, call
	super.updateHit.
	(SourceBreakpoint.addedTo): Override method; don't delete the
	RunState as instruction observer.

2007-02-14  Mike Cvet  <mcvet@redhat.com>

	* TestStackBacktrace.java (testFramePushing): Added. New test case for
	instruction stepping through pushing a new frame on the stack.
	(testFramePopping): Added. New test case for instruction stepping
	though popping a frame off of the stack.
	(setUpTest): Added. Sets up data structures for above two tests.
	(pushPopAssertions): Added. Sets up testing process for assertions and
	begins asserting when appropriate.
	(LockObserver): Added. Link to RunState.

2007-02-09  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (setUp): Refactored from setUpStep().
	(setUpLineStep): Used to specifically set up line stepping; 
	meat of initialization now done in setUp().
	(stepIn): Added a special case for when step-over requires
	a line step.
	(setUpStepOver): Finalized workflow - correctly sets up states
	for stepping over, for single-threaded process. 
	(stepOver): Finalized workflow - correctly sets breakpoint 
	for single-threaded stepping-over. Not visible from
	SourceWindow until libunwind bugs are resolved.
	(finishStepOver): Removed.
	(setUpStepOut): Finalized workflow - correctly sets up
	breakpoint and info for stepping-out. Not visible until
	libunwind bugs are resolved.
	(stepOut): Properly removes breakpoint and cleans up after
	a step-out.
	(updateExecuted): Cleaned up; correctly behaves for stepping
	over and out.
	(Breakpoint.updateHit): Re-adds the RunState InstructionObserver
	after hitting the breakpoint. Returns blocking state.
	(Breakpoint.addedTo): Removes the RunState InstructionObserver.
	* TestRunState.java (testLineStepping): Changed to use refactored
	RunState.setUpLineStep().
	(stepAssertions): Ditto.
	* TestStepping.java (setUpTest): Ditto.
	(stepAssertions): Ditto.

2007-02-08  Tim Moore  <timoore@redhat.com>

	* RunState.java (Breakpoint): Make address field protected.
	(SourceBreakpoint.updateHit): Print out debugging message like
	Breakpoint.

2007-02-07  Nurdin Premji <npremji@redhat.com>

	* StackCallbacks.java (accesReg): Added regNum to logging output.

2007-02-07  Tim Moore  <timoore@redhat.com>

	* RunState.java (SourceBreakpoint.lineBreakpoint): Make private.
	(SourceBreakpoint.getLineBreakpoint): New getter.
	(SourceBreakpoint.updateHit): Add a call to notifyObservers().
	(getTaskSourceBreakpoint): New method.
	(LineBreakpoint.getFileName, LineBreakpoint.getLineNumber, 
	LineBreakpoint.getColumn): New getters.

2007-02-06  Nurdin Premji <npremji@redhat.com>

	* TestStackFrame.java (frameTest): Removed brokenX8664XXX.

2007-02-06  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (getSymbolName): Check for null DwflModules. Fixes
	#3981.
	(getMethodName): Return empty strings rather than null when the name
	cannot be resolved. Fixes #3983.
	(toPrint): Changed back to checking for empty strings rather than nulls
	for unresolvable symbol names.

2007-02-06  Nurdin Premji  <npremji@redhat.com>

	* TestStepping.java (testASMStepping): Fixed, was because of added brackets
	in frysk-asm.h.COMPARE_IMMED.

2007-02-06  Andrew Cagney  <cagney@redhat.com>

	* TestRunState.java: Use TestLib.getExecPath.
	* TestStackBacktrace.java: Ditto.
	* TestStackFrame.java: Ditto.
	* TestStepping.java: Ditto.

2007-02-06  Nurdin Premji  <npremji@redhat.com>

	* TestStepping.java (testASMStepping): Marked as broken.

2007-02-05  Nurdin Premji  <npremji@redhat.com>

	* TestStackFrame.java: Changed testcases to reflect movement to single test
	file. Marked test cases as broken on x86_64.

2007-02-05  Andrew Cagney  <cagney@redhat.com>

	* TestRunState.java: Replace frysk.junit.Paths.getExecPrefix with
	getExecPrefix.
	* TestStackBacktrace.java: Ditto.
	* TestStepping.java: Ditto.

2007-02-05  Mark Wielaard  <mark@klomp.org>

	* TestStackFrame.java (testDebug): Mark as broken #3968.
	(testNoDebug): Likewise.
	(testStripped): Likewise.
	(testStaticDebug): Likewise.
	(testStaticNoDebug): Likewise.
	(testStaticStripped): Likewise.

2007-02-02  Nurdin Premji  <npremji@redhat.com>

	* TestStackFrame.java (frameTest.Terminator.updateSignaled): Optimized to call
	toPrint only once.
	Changed line numbers to be regex's.
	* StackFrame.java (toPrint): Merged frameToString method into here.
	(frameToString): Removed.
	(getSymbolName): Added.
	(getMethodName): Changed to return null rather than empty string. 

2007-02-02  Andrew Cagney  <cagney@redhat.com>

	* TestStackFrame.java (testStaticAsmNoSize): Fix line number to
	match assembler.

2007-02-02  Nurdin Premji  <npremji@redhat.com>

	* TestStackFrame.java (testAsmNoSize): Update from change of funit-stackframe-asm.S.
	(testStaticAsmNoSize): Ditto funit-stackframe-static-asm.S.

2007-02-02  Andrew Cagney  <cagney@redhat.com>

	* TestStackBacktrace.java: Update to match
	frysk.sys.proc.MapsBuilder change, permPrivate removed.

2007-02-01  Nurdin Premji  <npremji@redhat.com>

	* TestStackFrame.java: Cleaned up common strings.
	(testAsmNoSize): Added.
	(testAsmNoDebugNoSize): Ditto.
	(testAsmStrippedNoSize): Ditto.
	(testStaticAsmNoSize): Ditto.
	(testStaticAsmNoDebugNoSize): Ditto.
	(testStaticAsmStrippedNoSize): Ditto.

2007-01-26  Nurdin Premji  <npremji@redhat.com>

	* TestStackFrame.java (testStaticDebug): Added.
	(testStaticNoDebug): Added.
	(testStaticStripped): Added.

2007-01-25  Nurdin Premji  <npremji@redhat.com>

	* StackFactory.java (generateTaskStackTrace): Moved here from:
	frysk.util.StacktraceAction.
	* TestStackFrame: Added.

2007-01-23  Andrew Cagney  <cagney@redhat.com>

	* StackFrame.java: Do not import gnu.gcj.RawDataManaged.
	(unwind_data): Delete field.
	(getUnwindData): Delete method.

	* StackFrame.java: Remove TaskExceptoin code.

	* TestStackBacktrace.java: Remove TaskException code.
	* TestRunState.java: Ditto.
	* RunState.java: Ditto.
	* StackCallbacks.java: Ditto.
	* TestStepping.java: Ditto.
	* StackFactory.java: Ditto.

2007-01-23  npremji  <npremji@tow.toronto.redhat.com>

	* StackFrame.java (frameToString): Changed catch Exception _ to catch Exception ignored.

2007-01-22  Mike Cvet  <mcvet@redhat.com>
	
	* StackFrame.java (getAdjustedAddress): Added. Gets an adjusted address
	for innermost and signal frames. Fixes #3903.
	* TestStepping.java (setUpTest): Removed debug statements.
	* RunState.java (setUpStep): Removed redundant try statement.
	(stepIn): Ditto.
	(getDwfl): Added Javadoc.
	(LineBreakpoint): Changed Vector members to LinkedList, via #3904.
	(LineBreakpoint.addBreakpoint): Some changes addressing above.
	(LineBreakpoint.deleteBreakpoint): Ditto.

2007-01-22  Andrew Cagney  <cagney@redhat.com>

	* TestStackBacktrace.java: Do not catch and print TaskException.
	* TestRunState.java: Ditto.
	* TestStepping.java: Ditto.

2007-01-19  Tim Moore  <timoore@redhat.com>

	* RunState.java (getDwfl): new method.
	(setUpStep, stepIn): Use it.
	(continueTasks,getAddress, SourceBreakpoint, LineBreakpoint,
	addBreakpoint, deleteBreakpoint): new methods for source breakpoints.

2007-01-16  Mike Cvet  <mcvet@redhat.com>

	* TestStepping.java (stepAssertions): Added assertions for assembly 
	stepping. Fixed #3767.
	(testASMStepping): Creates an attached observer rather than a syscall
	observer for the inferior asm program.
	(AttachedObserver): Added.
	(LockObserver..execute): Delete attached observer from Proc when
	the RunState is in place.

2007-01-15  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (Breakpoint.updateHit): Deletes the breakpoint once it
	has been hit.
	(setUpStepOver): Apply the breakpoint Observer to each task.
	* StackFrame.java (toPrint): Re-arranged some code to prevent possible
	NullPointerExceptions.

2007-01-11  Nurdin Premji  <npremji@redhat.com>

	* StackCallbacks.java (accessReg): Use logger formatting mechanism, bug #3216
	(accessFpreg): Ditto.
	(getPid): Ditto.
	(writeFpreg): Ditto.
	(writeMem): Ditto.
	(accessMem): Ditto. Cleaned up some excessive logging junk. 
	(writeReg): Ditto.

2007-01-10  Mike Cvet  <mcvet@redhat.com>

	* TestStackBacktrace.java (testBacktrace): Expect "" instead of null
	for vdso frame filenames.
	(testThreadedBacktrace): Ditto.

2007-01-08  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (setDOMSource): Refactored from setData
	(setDOMFunction): No longer set the DOMSource for this class, set
	independently.

2007-01-04  Nurdin Premji  <npremji@redhat.com>

	* StackCallbacks.java (accessMem): Added logging messages.

2007-01-04  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (toPrint): Catch null method names from non-null
	FrameCursors and print [unknown] instead.

2006-12-30  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (toPrint): Switched the order of file and function
	name in output.

2006-12-28  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (getSourceFile): Ensure filename is never returned
	as null.

2006-12-27  Mike Cvet  <mcvet@redhat.com>

	* TestStackBacktrace.java (frameAssertions): Now determines the
	identity of stack frames by innermost frame function name, rather than
	relative TID. Fixes #3530.
	Catch the case where sometimes kill() is still in the stack trace. Fixes
	#3743.
	(handleTask): Set the global task to the incoming one.
	(testMultiThreadedBacktrace): Added brokenXXX(3815).

2006-12-21  Mike Cvet  <mcvet@redhat.com>

	* TestStackBacktrace.java: Moved into frysk.rt from frysk.rt.tests.
	* TestRunState.java: Ditto.
	* TestStepping.java: Ditto.

2006-12-19  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStepping.java (testAsmStepping): Added. Marked as broken
	re #3767.

2006-12-15  Andrew Cagney  <cagney@redhat.com>

	* tests/TestRunState.java (testInstructionStepping)
	(testLineStepping): Use brokenPpcXXX.
	* tests/TestStepping.java (testRecursiveLineStepping): Ditto.
	* tests/TestStackBacktrace.java (testBacktrace): Note broken due
	to 3744.  Use brokenPpcXXX.
	(testThreadedBacktrace): Note broken due to 3743.  Use
	brokenPpcXXX.

2006-12-15  Mike Cvet  <mcvet@redhat.com>
	
	* StackFrame.java (getMethodName): Return empty string if either the
	FrameCursor's name is null, or the cursor itself.
	(toPrint): Catch broken FrameCursors.
	* RunState.java (setUpStep): Fixed #3735. If none of the Tasks
	belonging to the process have debuginfo, perform an instruction 
	step instead of a line step; clear out line-stepping data structures.

2006-12-14  Mike Cvet  <mcvet@redhat.com>

	* StackFactory.java (createStackFrame): Catch Exceptions coming out of
	StackTraceCreator, and return an empty StackFrame instead of null. Fixes
	#3723.
	* StackFrame.java (StackFrame): New constructor, taking a Task. Used to 
	create an empty StackFrame.
	(getMethodName): If the method name is null, return an empty String 
	instead.

2006-12-14  Adam Jocksch  <ajocksch@redhat.com>

	* StackFrame.java (myCursor): Added, replaces address, methodName, cfa,
	and isSignalFrame fields as well as get/set_reg functionality (bz #
	3687).
	(StackFrame): No longer uses native initialization, funcitonality moved
	into FrameCursor.java.
	(initialize): Removed.
	(getMethodName): Now calls FrameCursor.
	(getAddress): Ditto.
	(toPrint): Ditto.
	(setIsSignalFrame): Ditto.
	(getIsSignalFrame): Ditto.
	(getReg): Ditto.
	(setReg): Ditto.
	(getCFA): Ditto.
	(get_reg): Removed.
	(set_reg): Removed.
	* cni/StackFrame.cxx: Removed.
	
2006-12-13  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (toPrint): Takes a parameter, true if called from the
	SourceWindow (truncating path), false otherwise.

2006-12-13  Nurdin Premji  <npremji@redhat.com>

	* StackFrame.java (toPrint): Changed format of sourceFile#lineNumber.

2006-12-12  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (StackFrame): Demangle names by default.
	(toPrint): Remove call to demangler.
	* tests/TestRunState.java (setUpTest): Assign task with null DwflLine
	a line number of zero.
	(stepAssertions): Handle null DwflLines better; treat as temporary 
	zero rather than breakage. Fixes #3701.

2006-12-11  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStepping.java (testRecursiveLineStepping): Re-enabled.
	(stepAssertions): Catch steps into non-debuginfo areas; including
	linker thunk. Fixes #3685. Fixed up more assertions. Fixes #3685
	and #3686.

2006-12-11  Nurdin Premji  <npremji@redhat.com>

	* StackFrame.java (toPrint): Demangle method names.

2006-12-10  Andrew Cagney  <cagney@redhat.com>

	* tests/TestStackBacktrace.java: Replace pkglibexecdir with
	pkglibdir.

2006-12-09  Andrew Cagney  <cagney@redhat.com>

	* tests/TestRunState.java: Use frysk.sys.Pid.get.
	* tests/TestStepping.java: Ditto.
	* tests/TestStackBacktrace.java: Ditto.
	* tests/TestLib.java: Delete.
	* tests/cni/TestLib.cxx: Delete.

2006-12-08  Andrew Cagney  <cagney@redhat.com>

	* tests/TestStepping.java (testRecursiveLineStepping): Disable,
	3686.

2006-12-08  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (setUpStep): Instead of trying to re-step the task,
	define its line number as zero if we can't get a DwflLine. Fixes #3646.
	(stepIn): Treat null DwflLines as lineNum == 0. Fixes #3680.
	* TestStepping.java (setUpTest): Treate null DwflLines as lineNum == 0.
	Fixes #3680.
	(stepAssertions): Ditto. More carefully handle null DwflLines.

2006-12-07  Phil Muldoon  <pmuldoon@redhat.com>

	* tests/TestStackBacktrace.java: Add permShared flag.

2006-12-06  Andrew Cagney  <cagney@redhat.com>

	* RunState.java: Remove @author.

2006-12-06  Nurdin Premji  <npremji@redhat.com>

	* tests/TestStackBacktrace.java (StackTasksObserver):  Removed unneccesary TODO: Autogenerated method stub.
	* StackCallbacks.java (resume): Ditto.
	(accessFpreg): 	Ditto.
	(writeReg): Ditto.

2006-12-06  Mike Cvet  <mcvet@redhat.com>

	* TestRunState.java (stepAssertions): Bail out and re-step if a proper
	DwflLine can't be generated.

2006-12-05  Nurdin Premji  <npremji@redhat.com>

	* StackFrame.java (toPrint): Added source file to print output.

2006-12-04  Andrew Cagney  <cagney@redhat.com>

	* tests/TestStepping.java (testRecursiveLineStepping): Disabled,
	see bug 3646.

2006-12-03  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (lineLoopCount): Removed.
	(numSteppingTasks): Removed.
	(lineCountMap): Added. Need to keep track of iterations on a Task-specific
	level.
	(setUpStep): Update lineCountMap.
	(stepIn): Updated to use lineCountMap, removed redundant lineMap putting.
	(stepCompleted): Clear out lineCountMap.
	(updateExecuted): No longer let state == STOPPED get through.
	(requestAdd): Update numRunningTasks here.
	* TestRunState.java (stepAssertions): Fixed up a couple assertions.
	* TestStepping.java: Removed debugging prints.
	(stepAssertions): Fixed assertions.
	(LockObserver.update): Cleaned up.
	

2006-12-01  Mike Cvet  <mcvet@redhat.com>

	* TestRunState.java: Cleaned up. Fixed strange compiler optimization bugs.
	(LockObserver.update): Scheduled work on the event loop.
	* TestStepping.java: Added. More complex stepping tests, with recursive
	functions.

2006-11-29  Mike Cvet  <mcvet@redhat.com>

	* RunState.java: Removed ProcBlockObserver import and constructor.
	(setUpStep): Set numSteppingTasks here.
	(stepInstruction): Ditto.
	* TestRunState.java: (testLineStepping): Re-arranged some code.
	(setUpTest): Remove call to set number of stepping Tasks.
	(stepAssertions): If DwflLine returns null, attempt to create a 
	new one. Edited some cases.

2006-11-28  Mike Cvet  <mcvet@redhat.com>

	* TestRunState.java: Removed lots of unneeded imports and variables.
	Uses new RunState interface.
	(testInstructionStepping): Cleaned up. Initialize new LockObserver.
	Enabled re: #3529.
	(testLineStepping): Ditto.
	(setUpTest): Set the task step count in the RunState.
	(stepAssertions): Fixed up some expected line numbers. Made sure to
	clean up after each step and properly re-initialize for each new step.
	(LockObserver): Added.
	(StepObserver): Removed.

2006-11-28  Nurdin Premji  <npremji@redhat.com>

	* tests/TestStackBacktrace.java (testThreadedBacktrace): Changed to use 
	simplified requestFindProc.

2006-11-23  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (setUpStep): If the DwflLine returned is null, perform
	an instruction step. Handles line stepping within frames without debug
	info. Temporary fix for #3575.
	* StackFrame.java (frameToString): Renamed from toString().

2006-11-22  Mike Cvet  <mcvet@redhat.com>

	* RunState.java (state): Added. State representation of this RunState.
	(updateExecuted): Added Javadoc. Handle all state transitions here, 
	instead of in inferior windows. Only notifyObservers when all Tasks
	have been blocked.
	(getProc): Added.
	(notifyStopped): Ditto.
	(runCompleted): Ditto.
	(setState): Ditto.
	(getState): Ditto.
	(executeTasks): Update state and removed returning ints.
	(stepOver): Update state.
	(stepCompleted): Ditto.
	(setUpStepOut): Ditto.
	(stop): Ditto.
	(setUpStep): Ditto.
	(stepInstruction): Ditto.
	(run): Ditto.
	(requestAdd): Added Javadoc.
	(addedTo): Ditto.
	(setTaskStepCount): Ditto.
	(notifyNotBlocked): Ditto.
	(blockTask): Ditto.
	(deletedFrom): Ditto.
	(getNumTasks): Ditto.
	(decNumRunningTasks): Ditto.
	(setProc): Ditto.
	(requestAddObservers): Ditto.
	(getNumObservers): Ditto.
	(removeObserver): Ditto.
	(getNumRunningTasks): Ditto.
	(addFailed): Ditto.
	(setNumRunningTasks): Ditto.

	(breakpoint): Added. TaskObserver.Code object used as a breakpoint on
	StackFrame return addresses for stepping.
	(lastFrame): Added. Last StackFrame on the top of the stack before the
	last step-out or step-over.
	(setUpStepOver): Added. Sets up breakpoint and lastFrame, then
	performs an instruction step on the Task.
	(stepOver): Build a new, shortened, stacktrace and use the frames to
	compare the innermost StackFrame to the previous one represented by 
	lastFrame. Singlestep if they are the same, otherwise run the task.
	(finishStepOver): Added.
	(cleanUpBreakPoint): Added.
	(setUpStepOut): Set up breakpoint on outer frame, set lastFrame and 
	instruction step the Task.
	(updateExecuted): Added functionality to switch for a new state.
	(Breakpoint): Added. New class to implement TaskObserver.Code.

2006-11-21  Nurdin Premji  <npremji@redhat.com>

	* tests/TestStackBacktrace.java: Changed to use new FindProc interface.	

2006-11-20  Mike Cvet  <mcvet@redhat.com>

	* StateModel.java: Refactored to RunState.java.
	* RunState.java: Refactored from StateModel.java.
	(pbo): Removed. ProcBlockObserver is no longer used.
	(stateProc): Added. The Proc this RunState is responsible for.
	(tasks): Added. LinkedList of Tasks belonging to stateProc.
	(numRunningTasks): Number of Tasks belonging to stateProc in the
	unblocked state.
	(RunState): Removed reference to ProcBlockObserver. This class 
	now extends Observable and implements TaskObserver.Instruction 
	directly. Fixes #3538.
	(getNumRunningTasks): Added.
	(setNumRunningTasks): Added.
	(getNumObservers): Added. Returns the number of Observers in this
	Observable's Observer list.
	(removeObserver): Added. Calls deleteObserver() with the additional 
	stipulation of releasing all Tasks if there are no more Observers
	watching them.
	(setProc): Added. Sets stateProc and tasks, and blocks all tasks from
	the incoming Proc.
	(updateExecuted): Added. Callback for TaskObserver.Instruction. Notify
	all watching observers that a task has been re-blocked.
	(addedTo): Added. Callback for TaskObserver.Instruction.
	(deletedFrom): Ditto.
	(addFailed): Ditto.
	(requestAdd): Schedules this Observer to be added to all Tasks.
	(requestAddObservers): Adds this InstructionObserver to the incoming Task.
	(blockTask): Schedules this InstructionObserver to be added to all
	incoming Tasks.
	(getNumTasks): Added.
	* tests/TestStateModel: Refactored to TestRunState.
	* tests/TestRunState: Refactored from TestStateModel. Updated to use 
	RunState.
	
2006-11-16  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStateModel.java (testInstructionStepping): Updated for
	broken 3529.
	(testLineStepping): Ditto.
	(stepAssertions): Lots of updates for new funit-rt-stepper code.

2006-11-15  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (cfa): Added. Cannonical frame address.
	(getCFA): Added.
	
	* StackFrame.cxx (initialize): Added code to initialize the cfa.

2006-11-14  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStackBacktrace.java (testBackTrace): Cleaned up.
	* tests/TestStateModel.java (testInstructionStepping): Added.
	(stepAssertions): Added assertions for instruction stepping. 
	Fixed to avoid race conditions.

2006-11-13  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStateModel.java: Added.

2006-11-12  Mike Cvet  <mcvet@redhat.com>

	* StateModel.java (StateModel): Added. Handles SourceWindow and HPD 
	stop/continue/stepping. Addresses #3510.
	(stepIn): Moved over from SourceWindow.
	(stepOver): Ditto.
	(lineMap): Ditto.
	(stepCompleted): Ditto.
	(run): Ditto.
	(runningTasks): Ditto. 
	(executeTasks): Ditto.
	(stepOut): Ditto.
	(stop): Ditto.
	(setUpStep): Ditto.
	(lineLoopCount): Ditto.
	(dwflMap): Ditto.
	(pbo): Ditto.
	(stepInstruction): Ditto.

2006-10-31  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (toPrint): Added. Returns a neat string representing this
	StackFrame suitable for displaying backtraces in the SourceWindow or other
	utilities.

2006-10-31  Tim Moore  <timoore@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace): Use ULong for
	address comparisons.

2006-10-26  Nurdin Premji  <npremji@redhat.com>

	* tests/TestStackBacktrace.java (testThreadedBacktrace): Changed to run the eventLoop, 
	not create a new one. Fixes bug causing tests after this to fail.
	(handleTask): Changed to stop eventLoop on completion. 

2006-10-26  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace): Fixed << broken >> number
	to correct bug.
	(frameAssertions): Added some regex to catch what appears to be new 
	clone function name in FC6.

2006-10-12  Andrew Cagney  <cagney@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace)
	(testThreadedBacktrace): Use frysk.junit.Paths.getExecPrefix.

2006-10-11  Stan Cox  <scox@redhat.com>

	* StackFrame.java (setReg): New.
	* cni/StackFrame.cxx (set_reg): New.

2006-10-05  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace): Added a brokenXXX
	call in regards to #3259.

2006-10-04  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (getTask): Refactored from getMyTask().
	(getDwflLine): Added.
	(StackFrame): Uses task instead of myTask.
	(getDOMFunction): Refactored from getFunction (confused with 
	getMethod).
	(setDOMFunction): Refactored from setFunction 

2006-10-02  Mike Cvet  <mcvet@redhat.com>

	* TestStackBacktrace.java (testBacktrace): Enabled test 
	for x86_64, updated brokenXXX call to PPC/64 #3277.
	(testThreadedBacktrace): Ditto.
	(frameAssertions): Changed expected system call names for 
	a couple x86_64 frames.

2006-09-28  Stan Cox  <scox@redhat.com>

	* StackFrame.java (getReg): New.
	* cni/StackFrame.cxx (get_reg): New.

2006-09-25  Alexandre Oliva  <aoliva@redhat.com>

	* StackCallbacks.java: Do not import lib.unwind.RegisterX86.
	(accessMem): Implement according to Isa-specified word size.
	(accessReg, writeReg, accessFpreg, writeFpreg): Do not use
	RegisterX86 directly.

2006-09-22  Mark Wielaard  <mark@klomp.org>

	(testThreadedBacktrace): Disabled. Bug #2936.

2006-09-21  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStackBacktrace.java (StackTasksObserver): Added.
	(handleTask): Added - grabs stack information from incoming Tasks.
	(frameAssertions): Added, runs assertions on stack information
	from all three threads.
	(testThreadedBacktrace): Added, runs a multithreaded test program,
	collecting stack information from all threads and running assertions
	on it.

2006-09-20  Tom Tromey  <tromey@redhat.com>

	* StackFrame.java (toString): Pad address to task's word size.

2006-09-20  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace): Expanded test.

2006-09-20  Tom Tromey  <tromey@redhat.com>

	* StackFrame.java (toString): New method.
	(StackFrame): Don't initialize sourceFile if file is not known.
	(startOffset): Renamed.
	(getStartOffset): Likewise.
	(setFunction): Javadoc fixes.
	(getFunction): Likewise.
	(getData): Likewise.
	(getMethodName): Likewise.
	(getSourceFile): Likewise.
	(getLineNumber): Likewise.
	(getColumn): Likewise.
	(getAddress): Likewise.
	(getMyTask): Likewise.
	(getUnwindData): Likewise.
	(getInner): Likewise.
	(getOuter): Likewise.
	(getIsSignalFrame): Likewise.

2006-09-19  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (StackFrame): Added new constructor, taking an 
	inner StackFrame as an argument. Old constructor calls this one,
	with null. Added check to see if this StackFrame is the innermost
	or a signal frame. Added Javadoc.
	(setIsSignalFrame): Added.
	(getIsSignalFrame): Added.
	* StackFactory.java (createStackFrame): Calls new StackFrame 
	constructor (above). Initializes the current frame's inner frame
	through constructor call.

2006-09-18  Mike Cvet  <mcvet@redhat.com>

	* StackFrame.java (StackFrame): Added variables and initializations
	for start and end lines and offsets, as well as getters and setters.
	(setFunction): Added.
	(setData): Ditto.
	(getFunction): Ditto.
	(getData): Ditto.

2006-09-16  Alexandre Oliva  <aoliva@redhat.com>

	* StackCallbacks.java (findProcInfo, putUnwindInfo,
	getDynInfoListAddr, getProcName, populate_procinfo,
	populate_procinfo_nounwind, free_proc_info): Remove, obsolete.
	(getPid): New.
	* cni/StackCallbacks.cxx: Delete.

2006-09-15  Andrew Cagney  <cagney@redhat.com>

	* StackCallbacks.java: Use java.util.logging.Logger, instead of
	frysk.proc.Host.logger.  Pass "this" to logger, use {0} et.al.

2006-09-11  Mark Wielaard  <mark@klomp.org>

	* tests/TestStackBacktrace.java (testBacktrace): Disabled when
	MachineType is not IA32.

2006-09-08  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace): Commented out
	output since now the test runs and works.

2006-09-08	Alexandre Oliva  <aoliva@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace): Remove
	expected failure marker.

2006-08-17  Yao Qi  <qiyaoltc@cn.ibm.com>

	* StackCallbacks.java (getProcName): Check the null pointer.
	(getProcOffset): Ditto.

2006-08-14  Mike Cvet  <mcvet@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace): TaskCreatedObserver
	now extends TaskObserverBase.

2006-08-07  Tim Moore  <timoore@redhat.com>

	* StackCallbacks.java (StackCallbacks): change Task.TaskException
	to TaskException.
	* StackFactory.java (createStackFrame): ditto.
	* tests/TestStackBacktrace.java (testBacktrace): ditto.

2006-07-28  Adam Jocksch  <ajocksch@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace): Now passes the signal
	to send as a parameter to funit-rt-looper.c.

	* tests/looper2.c: Made significant changes to prevent race conditions,
	moved to frysk.pkglibexecdir.
	* tests/TestStackBacktrace.java (testBacktrace): Changed exec path to
	reflect above move, test is still disabled.

2006-07-27  Adam Jocksch  <ajocksch@redhat.com>

	* StackCallbacks.java (findProcInfo): Added additional checks and 
	logging information upon failure.

	* tests/looper2.c (baz): Moved the call to kill inside the busy-wait to
	prevent a race condition.
	(main): Removed arg check since this is being run in a deterministic
	way.

2006-07-26  Adam Jocksch  <ajocksch@redhat.com>

	* tests/TestStackBacktrace.java (testBacktrace): Removed debugging output
	and re-disabled.

	* StackCallbacks.java (findProcInfo): Now creates a scratch elf object,
	temporary measure only.
	* StackFrame.java (getInner): Added.
	(getOuter): Added.
	* TestLib.java: Moved to tests.
	* TestStackBacktrace.java: Ditto.
	* tests: Added.
	* cni/TestLib.cxx: Moved to tests/cni.
	* tests/looper2.c: Added.

2006-07-25  Adam Jocksch  <ajocksch@redhat.com>

	* StackCallbacks.java (findProcInfo): Refactored to use
	DwflDieBias, now searched for .debug_frame elf section and
	passes that in to populate_procinfo.
	(getProcName): Refactored to use DwflDieBias.
	(getProcOffset): Ditto.
	(populate_procinfo): Now takes a ElfData object.
	* cni/StackCallbacks.cxx (populate_procinfo): Now copies out the
	contents of the provided ElfData and passes that to libunwind.

2006-07-24  Adam Jocksch  <ajocksch@redhat.com>

	* StackCallbacks.java (build_procinfo_nounwind): Added.
	(findProcInfo): Refactored to reflect interface change, also calls
	build_procinfo_nounwind.
	(getProcName): Now correctly returns either the procedure
	name or "".
	(getProcOffset): Now implemented.
	* StackFactory.java (createStackFrame): Refactored to reflect change
	in StackFrame constructor.
	* StackFrame.java (StackFrame): Now takes a Task object.
	(getMethodName): Added.
	(getSourceFile): Added.
	(getLineNumber): Added.
	(getColumn): Added.
	(getAddress): Added.
	(getMyTask): Added.
	(getUnwindData): Added.
	(initialize): Added.
	* TestLib.java: Added.
	* TestStackBacktrace.java (testBacktrace): Added printouts for stack
	information, test is still disabled.
	* cni/StackCallbacks.cxx (build_procinfo): Renamed to populate_procinfo.
	(populate_procinfo_nounwind): Added.
	(free_procinfo): No longer frees struct.
	* cni/TestLib.cxx: Added.
	* cni/StackFrame.cxx: Added.

2006-07-20  Tim Moore  <timmore@redhat.com>

	* StackCallbacks.java (StackCallbacks): Handle TaskException.
	* StackFactory.java (createStackFrame): Throw TaskException.
	* TestStackBacktrace.java (testBacktrace): ditto.

2006-07-17  Andrew Cagney  <cagney@redhat.com>

	* TestStackBacktrace.java: Pass bug number to brokenXXX call.

2005-07-17  Adam Jocksch  <ajocksch@redhat.com>

	* StackCallbacks.java (free_proc_info): Added.
	(putUnwindInfo): Now calls free_proc_info.
	* cni.StackCallbacks.cxx (free_proc_info): Added.

	* TestStackBacktrace.java (testBacktrace): Re-commented Maps test.

	* StackCallbacks.java (getProcName): Implemented.

2005-07-14  Adam Jocksch  <ajocksch@redhat.com>

	* StackCallbacks.java (findProcInfo): Now returns incomplete 
	proc_info struct.
	(accessMem): Reorganized comments to make more sense.
	* TestStackBacktrace.java (testBacktrace): Added commented out
	code for MapsBuilder testing, for debugging purposes.

	* StackCallbacks.java (findProcInfo): Started gathering necessary
	information to buidl the struct.
	(build_procinfo): Added.
	* cni/StackCallbacks.java (build_procinfo): Added, takes the data
	gathered and creates the proc_info struct.

2005-07-14  Mark Wielaard  <mark@klomp.org>

	* TestStackBacktrace.java: Removed unused Level and Host imports.

2005-07-13  Adam Jocksch  <ajocksch@redhat.com>

	* StackCallbacks.java: Improved logging information and reformatted
	to GNU formatting.
	* TestStackBacktrace.java (testBacktrace): Added commented out logging
	level.

	* StackCallbacks.java: Added preamble.
	(findProcInfo): Added logging.
	(getDynInfoListAddr): Ditto.
	(accessMem): Ditto.
	(writeMem): Ditto.
	(accessReg): Ditto, now fetches register contents.
	(accessFpReg): Ditto.
	(writeReg): Added logging.
	(accessFpReg): Ditto.
	(getProcName): Ditto.
	(getProcOffset): Ditto.
	* StackFactory.java: Added preamble.
	* StackFrame.java: Ditto.
	* TestStackBacktrace.java: Ditto.
	* cni/StackBacktrace.cxx: Ditto.
	
2005-07-12  Adam Jocksch  <ajocksch@redhat.com>

	* TestStackBacktrace.java (testBacktrace): Now uses brokenXXX.

	* StackCallbacks.java: Added.
	* StackFactory.java: Added.
	* StackFrame.java: Added.
	* TestStackBacktrace.java: Added.
	* cni/StackCallbacks.cxx: Added.
