More work on GDB session recorder.
--- a/GDBConnection.st Mon Jun 23 09:45:16 2014 +0100
+++ b/GDBConnection.st Tue Jun 24 00:55:57 2014 +0100
@@ -45,18 +45,18 @@
send: command
| commandString |
- command token notNil ifTrue:[
- process debuggerInput nextPutAll: command token printString.
- ].
+ commandString := command token notNil
+ ifTrue:[ command token printString , command asString ]
+ ifFalse:[ commandString := command asString ].
+
outstandingCommands add: command.
- commandString := command asString.
recorder notNil ifTrue:[
- recorder recordCommand: commandString
+ recorder recordCommand: commandString
].
process debuggerInput nextPutLine: commandString.
"Created: / 20-06-2014 / 22:09:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 23-06-2014 / 09:36:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 23-06-2014 / 23:31:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBConnection methodsFor:'event dispatching'!
--- a/GDBDebugger.st Mon Jun 23 09:45:16 2014 +0100
+++ b/GDBDebugger.st Tue Jun 24 00:55:57 2014 +0100
@@ -165,11 +165,13 @@
connection eventPumpStart.
connection eventDispatchStart.
+ Delay waitForMilliseconds:100.
"/ self send: (GDBMICommand inferiorTtySet: driver inferiorPTY name).
self send: (GDBMI_inferior_tty_set arguments: { connection inferiorPTY name })
"Created: / 20-06-2014 / 21:45:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 23-06-2014 / 23:44:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
release
--- a/GDBMI_target_attach.st Mon Jun 23 09:45:16 2014 +0100
+++ b/GDBMI_target_attach.st Tue Jun 24 00:55:57 2014 +0100
@@ -48,3 +48,10 @@
^ 'target-attach'
! !
+!GDBMI_target_attach class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/GDBParser.st Mon Jun 23 09:45:16 2014 +0100
+++ b/GDBParser.st Tue Jun 24 00:55:57 2014 +0100
@@ -223,6 +223,7 @@
events last token: token.
].
self expect: '(gdb)'.
+ [ self peek == Character space ] whileTrue:[ self next ].
self parseNl.
recorder notNil ifTrue:[
recorder recordResponseEnd.
@@ -230,7 +231,7 @@
^ events
"Created: / 30-05-2014 / 09:52:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 23-06-2014 / 09:20:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:25:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
parseResultClass
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBSessionRecord.st Tue Jun 24 00:55:57 2014 +0100
@@ -0,0 +1,242 @@
+"{ Package: 'jv:libgdbs' }"
+
+OrderedCollection subclass:#GDBSessionRecord
+ instanceVariableNames:'lock'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'GDB-Private-Simulator'
+!
+
+Object subclass:#Command
+ instanceVariableNames:'string'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:GDBSessionRecord
+!
+
+Object subclass:#Response
+ instanceVariableNames:'string'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:GDBSessionRecord
+!
+
+!GDBSessionRecord class methodsFor:'instance creation'!
+
+new
+ ^ super new initialize.
+
+ "Created: / 24-06-2014 / 00:07:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+new: size
+ "return an initialized instance"
+
+ ^ (super new: size) initialize.
+
+ "Created: / 24-06-2014 / 00:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBSessionRecord methodsFor:'adding & removing'!
+
+add:anObject
+ "add the argument, anObject to the end of the collection
+ Return the argument, anObject."
+
+ ^ lock critical:[
+ super add:anObject
+ ].
+
+ "Modified: / 29-01-1998 / 10:52:32 / cg"
+ "Modified: / 23-06-2014 / 23:55:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+add:anObject beforeIndex:index
+ "add the argument, anObject to the end of the collection.
+ Return the receiver (sigh - ST-80 compatibility)."
+
+ ^ lock critical:[
+ super add:anObject beforeIndex:index
+ ].
+
+ "Modified: / 23-06-2014 / 23:55:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addAll:aCollection beforeIndex:index
+ "insert all elements of the argument
+ Return the receiver."
+
+ ^ lock critical:[
+ super addAll:aCollection beforeIndex:index
+ ].
+
+ "Modified: / 23-06-2014 / 23:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addAllLast:aCollection
+ "add all elements of the argument, aCollection to the end of the collection.
+ Return the argument, aCollection."
+
+ ^ lock critical:[
+ super addAllLast:aCollection
+ ].
+
+ "Modified: / 23-06-2014 / 23:56:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addFirst:anObject
+ "add the argument, anObject to the beginning of the collection.
+ Return the argument, anObject."
+
+ ^ lock critical:[
+ super addFirst:anObject
+ ].
+
+ "Modified: / 29-01-1998 / 10:53:09 / cg"
+ "Modified: / 23-06-2014 / 23:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBSessionRecord methodsFor:'initialization'!
+
+initialize
+ "Invoked when a new instance is created."
+
+ "/ please change as required (and remove this comment)
+ super initialize.
+ lock := RecursionLock new.
+
+ "/ super initialize. -- commented since inherited method does nothing
+
+ "Modified: / 24-06-2014 / 00:05:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBSessionRecord methodsFor:'printing & storing'!
+
+printOn:aStream
+ self do:[:each | each printOn: aStream ]
+
+ "Modified: / 23-06-2014 / 23:51:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBSessionRecord methodsFor:'recording'!
+
+<<< aString
+ self add: (Response new string: aString)
+
+ "Created: / 24-06-2014 / 00:35:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+>>> aString
+ self add: (Command new string: aString)
+
+ "Created: / 24-06-2014 / 00:35:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBSessionRecord methodsFor:'saving & restoring'!
+
+saveInClass: class selector: selector
+ "Save recorded session in given class under given selector"
+
+ | source |
+
+ source := String new writeStream.
+ source nextPutAll: selector; cr; cr.
+ source nextPutAll:' ^ (GDBSessionRecord new: '.
+ self size printOn: source.
+ source nextPutAll: ')'; cr; cr.
+
+ self do:[:each |
+ each isCommand ifTrue:[
+ source nextPutLine: '>>>'.
+ ] ifFalse:[
+ source nextPutLine: '<<<'.
+ ].
+ each string storeOn: source.
+ source nextPut: $;; cr; cr.
+ ].
+ source nextPutAll: 'yourself'.
+
+ class compile: source contents classified: 'recorded sessions'
+
+ "Created: / 23-06-2014 / 23:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+saveInSimulatorResourceAs: selector
+ ^ self saveInClass: GDBSimulatorResource selector: selector
+
+ "Created: / 23-06-2014 / 23:17:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBSessionRecord::Command methodsFor:'accessing'!
+
+string
+ ^ string
+!
+
+string:something
+ string := something.
+! !
+
+!GDBSessionRecord::Command methodsFor:'printing & storing'!
+
+printOn:aStream
+ "append a printed representation if the receiver to the argument, aStream"
+
+ aStream nextPutLine: '>>>'.
+ string printOn: aStream.
+ aStream cr.
+
+ "Modified: / 24-06-2014 / 00:09:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBSessionRecord::Command methodsFor:'testing'!
+
+isCommand
+ ^ true
+
+ "Created: / 24-06-2014 / 00:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isResponse
+ ^ false
+
+ "Created: / 24-06-2014 / 00:41:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBSessionRecord::Response methodsFor:'accessing'!
+
+string
+ ^ string
+!
+
+string:something
+ string := something.
+! !
+
+!GDBSessionRecord::Response methodsFor:'printing & storing'!
+
+printOn:aStream
+ "append a printed representation if the receiver to the argument, aStream"
+
+ aStream nextPutLine: '<<<'.
+ string printOn: aStream.
+ aStream cr.
+
+ "Modified: / 24-06-2014 / 00:08:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBSessionRecord::Response methodsFor:'testing'!
+
+isCommand
+ ^ false
+
+ "Created: / 24-06-2014 / 00:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isResponse
+ ^ true
+
+ "Created: / 24-06-2014 / 00:41:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/GDBSessionRecorder.st Mon Jun 23 09:45:16 2014 +0100
+++ b/GDBSessionRecorder.st Tue Jun 24 00:55:57 2014 +0100
@@ -1,56 +1,63 @@
"{ Package: 'jv:libgdbs' }"
Object subclass:#GDBSessionRecorder
- instanceVariableNames:'record commandBuffer responseBuffer'
+ instanceVariableNames:'record buffer'
classVariableNames:''
poolDictionaries:'GDBDebugFlags'
category:'GDB-Private-Simulator'
!
+!GDBSessionRecorder class methodsFor:'instance creation'!
+
+new
+ "return an initialized instance"
+
+ ^ self basicNew initialize.
+! !
+
+!GDBSessionRecorder methodsFor:'initialization'!
+
+initialize
+ "Invoked when a new instance is created."
+
+ "/ please change as required (and remove this comment)
+ record := GDBSessionRecord new.
+ buffer := (String new: 100) writeStream.
+ "/ responseBuffer := nil.
+
+ "/ super initialize. -- commented since inherited method does nothing
+
+ "Modified: / 24-06-2014 / 00:10:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!GDBSessionRecorder methodsFor:'recording'!
recordCommand: command
- commandBuffer := WriteStream new.
- commandBuffer nextPutAll: command.
+ record >>> command
"Created: / 22-06-2014 / 21:39:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:36:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
recordResponse: aString
- responseBuffer isNil ifTrue:[
- responseBuffer := CharacterWriteStream new.
- ].
- responseBuffer nextPutAll: aString
+ buffer nextPutAll: aString
"Created: / 22-06-2014 / 21:56:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:10:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
recordResponseChar: aCharacter
- responseBuffer isNil ifTrue:[
- responseBuffer := String new writeStream.
- ].
- responseBuffer nextPut: aCharacter
+ buffer nextPut: aCharacter
"Created: / 22-06-2014 / 21:42:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 23-06-2014 / 09:23:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:10:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
recordResponseEnd
- | cmd resp |
-
- record isNil ifTrue:[
- record := OrderedCollection new writeStream.
- ].
-
- commandBuffer notNil ifTrue:[
- cmd := commandBuffer contents.
- commandBuffer := nil.
- ].
- resp := responseBuffer contents.
- responseBuffer := nil.
- record nextPut: cmd -> resp.
+ record <<< buffer contents.
+ buffer reset.
"Created: / 22-06-2014 / 21:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 23-06-2014 / 09:24:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:36:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBSimulatorResource.st Tue Jun 24 00:55:57 2014 +0100
@@ -0,0 +1,103 @@
+"{ Package: 'jv:libgdbs' }"
+
+TestCase subclass:#GDBSimulatorResource
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'GDB-Resources'
+!
+
+!GDBSimulatorResource methodsFor:'recorded sessions'!
+
+session_factorial_01
+
+ ^ (GDBSessionRecord new: 15)
+
+<<<
+'=thread-group-added,id="i1"
+(gdb)
+';
+
+>>>
+'1-inferior-tty-set /dev/pts/11';
+
+<<<
+'1^done
+(gdb)
+';
+
+>>>
+'2-file-exec-and-symbols /home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial';
+
+<<<
+'2^done
+(gdb)
+';
+
+>>>
+'3b factorial';
+
+<<<
+'&"b factorial\n"
+~"Breakpoint 1 at 0x400527: file factorial.c, line 4.\n"
+=breakpoint-created,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000400527",func="factorial",file="factorial.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial.c",line="4",times="0",original-location="factorial"}
+3^done
+(gdb)
+';
+
+>>>
+'4r';
+
+<<<
+'&"r\n"
+~"Starting program: /home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial \n"
+=thread-group-started,id="i1",pid="7719"
+=thread-created,id="1",group-id="i1"
+4^running
+*running,thread-id="all"
+(gdb)
+';
+
+<<<
+'=library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
+=library-loaded,id="/lib/x86_64-linux-gnu/libc.so.6",target-name="/lib/x86_64-linux-gnu/libc.so.6",host-name="/lib/x86_64-linux-gnu/libc.so.6",symbols-loaded="0",thread-group="i1"
+=breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000400527",func="factorial",file="factorial.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial.c",line="4",times="1",original-location="factorial"}
+~"\nBreakpoint "
+~"1, factorial (i=5) at factorial.c:4\n"
+~"4\t\tif (i == 1) {\n"
+*stopped,reason="breakpoint-hit",disp="keep",bkptno="1",frame={addr="0x0000000000400527",func="factorial",args=[{name="i",value="5"}],file="factorial.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial.c",line="4"},thread-id="1",stopped-threads="all",core="0"
+(gdb)
+';
+
+>>>
+'5del 1';
+
+<<<
+'&"del 1\n"
+=breakpoint-deleted,id="1"
+5^done
+(gdb)
+';
+
+>>>
+'6c';
+
+<<<
+'&"c\n"
+~"Continuing.\n"
+6^running
+*running,thread-id="all"
+(gdb)
+';
+
+<<<
+'~"[Inferior 1 (process 7719) exited with code 023]\n"
+=thread-exited,id="1",group-id="i1"
+=thread-group-exited,id="i1",exit-code="023"
+*stopped
+(gdb)
+';
+
+yourself
+! !
+
--- a/GDBUnixProcess.st Mon Jun 23 09:45:16 2014 +0100
+++ b/GDBUnixProcess.st Tue Jun 24 00:55:57 2014 +0100
@@ -16,7 +16,7 @@
input := inputPipe second.
outputPipe := NonPositionableExternalStream makePipe.
output := outputPipe first.
- args := #( '/usr/bin/gdb' '--interpreter' 'mi2' ).
+ args := #( '/usr/bin/gdb' '-q' '-nx' '--interpreter' 'mi2' ).
Processor
monitor:[
pid := OperatingSystem
@@ -44,6 +44,6 @@
self error:'Failed to launch gdb'.
].
- "Modified: / 20-06-2014 / 21:35:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 23-06-2014 / 23:37:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
--- a/Make.proto Mon Jun 23 09:45:16 2014 +0100
+++ b/Make.proto Tue Jun 24 00:55:57 2014 +0100
@@ -34,7 +34,7 @@
# add the path(es) here:,
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/announcements -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/announcements -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
# if you need any additional defines for embedded C code,
@@ -103,6 +103,10 @@
prereq:
cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/goodies/announcements && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
@@ -131,6 +135,7 @@
$(OUTDIR)GDBObject.$(O) GDBObject.$(H): GDBObject.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBPTY.$(O) GDBPTY.$(H): GDBPTY.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBProcess.$(O) GDBProcess.$(H): GDBProcess.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBSessionRecord.$(O) GDBSessionRecord.$(H): GDBSessionRecord.st $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(STCHDR)
$(OUTDIR)GDBValueDescriptor.$(O) GDBValueDescriptor.$(H): GDBValueDescriptor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBValueDescriptorError.$(O) GDBValueDescriptorError.$(H): GDBValueDescriptorError.st $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)jv_libgdbs.$(O) jv_libgdbs.$(H): jv_libgdbs.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
--- a/Make.spec Mon Jun 23 09:45:16 2014 +0100
+++ b/Make.spec Tue Jun 24 00:55:57 2014 +0100
@@ -59,6 +59,7 @@
GDBObject \
GDBPTY \
GDBProcess \
+ GDBSessionRecord \
GDBValueDescriptor \
GDBValueDescriptorError \
jv_libgdbs \
@@ -227,6 +228,7 @@
$(OUTDIR_SLASH)GDBObject.$(O) \
$(OUTDIR_SLASH)GDBPTY.$(O) \
$(OUTDIR_SLASH)GDBProcess.$(O) \
+ $(OUTDIR_SLASH)GDBSessionRecord.$(O) \
$(OUTDIR_SLASH)GDBValueDescriptor.$(O) \
$(OUTDIR_SLASH)GDBValueDescriptorError.$(O) \
$(OUTDIR_SLASH)jv_libgdbs.$(O) \
--- a/abbrev.stc Mon Jun 23 09:45:16 2014 +0100
+++ b/abbrev.stc Tue Jun 24 00:55:57 2014 +0100
@@ -10,6 +10,8 @@
GDBObject GDBObject jv:libgdbs 'GDB-Core' 0
GDBPTY GDBPTY jv:libgdbs 'GDB-Private' 0
GDBProcess GDBProcess jv:libgdbs 'GDB-Private' 0
+GDBSessionRecord GDBSessionRecord jv:libgdbs 'GDB-Private-Simulator' 0
+GDBSimulatorResource GDBSimulatorResource jv:libgdbs 'GDB-Resources' 1
GDBValueDescriptor GDBValueDescriptor jv:libgdbs 'GDB-Private-Descriptors' 0
GDBValueDescriptorError GDBValueDescriptorError jv:libgdbs 'GDB-Private-Descriptors' 1
jv_libgdbs jv_libgdbs jv:libgdbs '* Projects & Packages *' 3
--- a/bc.mak Mon Jun 23 09:45:16 2014 +0100
+++ b/bc.mak Tue Jun 24 00:55:57 2014 +0100
@@ -34,7 +34,7 @@
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\announcements -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\announcements -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
@@ -52,6 +52,10 @@
prereq:
pushd ..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\stx\goodies\announcements & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd ..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd ..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd ..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd ..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
@@ -77,6 +81,7 @@
$(OUTDIR)GDBObject.$(O) GDBObject.$(H): GDBObject.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBPTY.$(O) GDBPTY.$(H): GDBPTY.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBProcess.$(O) GDBProcess.$(H): GDBProcess.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBSessionRecord.$(O) GDBSessionRecord.$(H): GDBSessionRecord.st $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(STCHDR)
$(OUTDIR)GDBValueDescriptor.$(O) GDBValueDescriptor.$(H): GDBValueDescriptor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBValueDescriptorError.$(O) GDBValueDescriptorError.$(H): GDBValueDescriptorError.st $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)jv_libgdbs.$(O) jv_libgdbs.$(H): jv_libgdbs.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
--- a/jv_libgdbs.st Mon Jun 23 09:45:16 2014 +0100
+++ b/jv_libgdbs.st Tue Jun 24 00:55:57 2014 +0100
@@ -29,6 +29,7 @@
^ #(
#'stx:goodies/announcements' "Announcement - superclass of GDBAsyncEvent "
+ #'stx:goodies/sunit' "TestAsserter - superclass of GDBSimulatorResource "
#'stx:libbasic' "ArithmeticValue - extended "
)
!
@@ -73,6 +74,8 @@
GDBObject
GDBPTY
GDBProcess
+ GDBSessionRecord
+ (GDBSimulatorResource autoload)
GDBValueDescriptor
GDBValueDescriptorError
#'jv_libgdbs'
--- a/libInit.cc Mon Jun 23 09:45:16 2014 +0100
+++ b/libInit.cc Tue Jun 24 00:55:57 2014 +0100
@@ -36,6 +36,7 @@
_GDBObject_Init(pass,__pRT__,snd);
_GDBPTY_Init(pass,__pRT__,snd);
_GDBProcess_Init(pass,__pRT__,snd);
+_GDBSessionRecord_Init(pass,__pRT__,snd);
_GDBValueDescriptor_Init(pass,__pRT__,snd);
_GDBValueDescriptorError_Init(pass,__pRT__,snd);
_jv_137libgdbs_Init(pass,__pRT__,snd);
--- a/libgdbs.rc Mon Jun 23 09:45:16 2014 +0100
+++ b/libgdbs.rc Tue Jun 24 00:55:57 2014 +0100
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
VALUE "ProductName", "LibraryName\0"
VALUE "ProductVersion", "6.2.4.0\0"
- VALUE "ProductDate", "Mon, 23 Jun 2014 08:39:53 GMT\0"
+ VALUE "ProductDate", "Mon, 23 Jun 2014 23:52:53 GMT\0"
END
END
--- a/tests/Make.proto Mon Jun 23 09:45:16 2014 +0100
+++ b/tests/Make.proto Tue Jun 24 00:55:57 2014 +0100
@@ -105,9 +105,9 @@
cd $(TOP)/goodies/announcements && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd ../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
--- a/tests/bc.mak Mon Jun 23 09:45:16 2014 +0100
+++ b/tests/bc.mak Tue Jun 24 00:55:57 2014 +0100
@@ -54,9 +54,9 @@
pushd ..\..\..\stx\goodies\announcements & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd .. & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ pushd .. & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
--- a/tests/tests.rc Mon Jun 23 09:45:16 2014 +0100
+++ b/tests/tests.rc Tue Jun 24 00:55:57 2014 +0100
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
VALUE "ProductName", "LibraryName\0"
VALUE "ProductVersion", "6.2.4.0\0"
- VALUE "ProductDate", "Mon, 23 Jun 2014 08:39:56 GMT\0"
+ VALUE "ProductDate", "Mon, 23 Jun 2014 23:52:55 GMT\0"
END
END