public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
* Notes meeting 2007-03-28
@ 2007-03-28 15:03 Elena Zannoni
  2007-03-29 17:26 ` Mark Wielaard
  0 siblings, 1 reply; 2+ messages in thread
From: Elena Zannoni @ 2007-03-28 15:03 UTC (permalink / raw)
  To: frysk

[-- Attachment #1: Type: text/plain, Size: 1 bytes --]



[-- Attachment #2: frysk-20070328 --]
[-- Type: text/plain, Size: 4249 bytes --]

Elena, Phil, Mark, Mike, Nurdin, Sami, Rick, Tim, Cagney, Stan


Phil: corefiles. 
---------------
It may have been abstracted at the wrong level. wrt
to 32 bit vs 64 bit isa. Is there any refactoring that can be done?

Different level of concrete classes with different level of abstract
classes.  Where is the sensation that it's wrong coming from? Has to
map how host was refactored, linux ptrace task and linux proc task,
isa should follow the same structure. Right now the isa is modeled
after Ptrace Hosts, making assumptions on that would be incorrect for
remote debugging, for instance.
 
a refactoring for x86 and x86-64 would require about 5 or 7 new
classes, if we consider other arches, there will be many more.

remote should be considered too, it just won't work with the isa as it
is now at least we have only Linux to worry about. Idea is to have an
abstract factory that would return the appropriate ISA (ptracei386 or
corefilei386, depending on the case). --> Discuss on mailing list

ptrace and waitpid: 
------------------
have the code do a blocking wait on waitpid
always.  sigchld: would call waitpid and drain the events. No relation
btw sigchld ans waitpid. If you are tracing multiple processes or you
have multipthreaded code you cannot rely on a specific semantic. So
you need to change the code to be blocking.

This would eliminate the hanging of testsuite runs: case where get
signal, do polling wait, but there is no event from kernel. 
Out of order creation of the child: child has stopped and this signal
arrives before frysk gets the event from the parent that the child has
been created. This is one case of hanging.

Wait is occurring on a thread different from the one that did the attach.
Mark suggests using waitid(). 

Andrew is working on this


libunwind: 
----------
Nurdin is working on this. Working on accessors methods.
multiplatform unwinding, bindings have changed. unwinder accessor
methods are being rewritten. access registers for instance so that
they can work cross platform for 32-64 uses ptrace accessors, this
should be avoided. 

Local patches: have not been accepted/reviewed into libunwind. There
are a lot of patches that are still local. Attach those to bugzillas
against libunwind.


linking statically: 
------------------
so it can run both in build tree and install
tree. Otherwise you would have to specify which shared libraries to
use (build tree shlibs vs installed shlibs). (see rhel4 frysk
installation) See Tim's mail about problems with
reflection. Reflection api will not find classes at runtimes because
they are not used.  Look at interpreted version of frysk, to see how
to do the linking.


Roundtable:
-----------

Kris: almost finished with the test&build system. Found problems in
make dist will send info later today. Still aiming at working 64 bit
gui problems afterwards.

Sami: observer redesign. Removing dead processes. Cleaning out old
code. Then redesigning the gui.

Mark: stepping & breakpointing. Cleaning up. Out of line breakpoint.
Add something to proc to do requests on a set (or all) Tasks
of a proc.

Send event to proc and then from proc to task makes a couple of things
easier. In a couple of cases it's hard to track what state a task is
in, for instance if a task disappears.  Alternatively send event to
proc and from there to task.

Rick: bring up taks in source window, stick at trap at main().  Set up
a terminal window at the bottom with the task output in that.  Hooking
up all the pieces. This is both for the monitor (bug 1492) and the
source window.  Initially stop at the first intruction instead of
main. It would be simpler. 

Mike: hpd improvements, variable inspection for multithreaded programs
(in sourcewindow). Working on multiple processes for source
window. And load up backtrace.

Phil: corefiles: you can load them, look at register, now model a
corefile as next task. 

Tim: breakpoint on inline function, bp based on names of function.
Working on DIE wrappers. 

Stan: added enums. assignment of integer variable with enum elements,
still not working. 


Next week 
----------
GUI: Mike: assembly and source in source window, and
possibly multiple processes in the source window.  Also demo of
observer stuff from Sami.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Notes meeting 2007-03-28
  2007-03-28 15:03 Notes meeting 2007-03-28 Elena Zannoni
@ 2007-03-29 17:26 ` Mark Wielaard
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Wielaard @ 2007-03-29 17:26 UTC (permalink / raw)
  To: frysk

[-- Attachment #1: Type: text/plain, Size: 453 bytes --]

On Wed, 2007-03-28 at 10:55 -0400, Elena Zannoni wrote:
> plain text document attachment (frysk-20070328)

Thanks for making notes Elena.

> Mark suggests using waitid(). 

If that works, then we would get some extra info through the siginfo_t
that we now have to query through additional ptrace calls). I see now
that waitpid does not support the _WALL option and it seems we need that
or we won't get to wait on all tasks in a process :{


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-03-29 17:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-28 15:03 Notes meeting 2007-03-28 Elena Zannoni
2007-03-29 17:26 ` Mark Wielaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).