This is the mail archive of the frysk@sourceware.org mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: meeting 2007-07-25 9:30 US east coast time


[toronto hit a technical hurdle with a machine, round table was first]

cagney:
-> moved fhpd to frysk.hpd and created per-command tests in that directory; for instance frysk.hpd.TestStackCommands
everyone encouraged to continue
-> overhauled frysk-asm.h; with mike got it working with CFI so that assembler can produce correct stack backtraces


teresa:
-> continuing with debug-info installing
-> got fdebuginfo working -> lists debug info files for program
-> next utility [fdebugrpm] will install missing debuginfo using yum/sudo
-> extension is to install debuginfo locally (i.e., not as super-user)

stan; [away]
-> overhauled expression parser to
-> fixed breakpoint syntax to use "#" instead of "@", ya!!!

rick:
-> fighting source window vs bash; added recovery code so that when things go wrong an un-marked source window will be displayed (which is way way better than a stack backtrace)
-> investigating slowdown when examining bash sources


phil:
-> hopefully closing out corefile cleanups: corefile factory; streaming data to file (instead of double buffering) as final speed up
-> discussion about where to put the refactored code. For momment frysk.util, but frysk.corefile might be final resting place
suggestion of the addition of a dump core button/command


kris:
-> documenting stepping engine (the one in frysk.rt)
-> chasing another fd0 closed bug
-> working on crash recovery in automated builds
-> helping pearl come up-to-speed with memory and disassembler changes

pearl:
-> Working on memory and disassembler windows/bugs
[cagney asked if pearl could assign her self these bugs]

mark:
-> finishing logical-memory (memory where breakpoints are not visible) object
-> have reproducer for 4747; need to handle a signal becomming pending during a step (part of finishing up stepping; "fix" is to break it down into two events - one notifying that a signal is pending (then unblocked) and one notifying that a step to first instruction of signal handler has occured.
-> studying libunwind, dwarf doco, and looking at rpm notes


sami:
-> testing new fstack [will commit to branch]
-> working to get libdwfl to return needed scope information
-> changed stack code to use print writer

---- // ----

Demo one: fstack -a <<sami to post text from example>>
-> displays all known variables and their status
bug#0 likely two many variable optimized out messages(investigating)
bug#1 when printing a string, can it be "C"ified; for instance char *foo = "abc\r\n"
bug#2 include solib in default (or elf) backtrace (it was added to the -a output which is much better)
bug#3 add # as prefix to file name so that it can be cut/paste to breakpoint code
[side discussion about that, example of foo.c#23 not being clearly a file or a struct]
bug#4 add way to specify other scopes
bug#5 print available line number information for each variable


---- // ----

Demo two: disassemble command <<nurdin to post text from example>>

-> displays assembler _round_ the pc and not assembler of entire function
-> has marker showing were $pc or address is
bug#0 option to disassemble entire function
bug#1 disassembler for non-native architecture (DisassemblerFactory)
bug#2 core file didn't work :-(
bug#4 <<disassemble <address> >> didn't disassemble correct address
bug#5 fhpd usage message out-of-date
bug#6 list command's "*" marker should be before line number (so it isn't confused with source code)
bug#7 list commands "*" isn't in the middle of the listed code


---- // ----

different brekpoint addresses:

case #1: function prologue
A "traditional" function looks something like:
entry_point: <---- break *entry_point
set-up new stack frame [prologue]
<---- break entry_point
.... code proper ...
tear down stack frame [epilogue]
return
(for details see frysk-asm.h's macros). When setting a breakpoint it can either be set before after the prologue code. DWARF provides information that specifies where the end of the prologue is and so when stepping into or halting at a function it can stop after the frame is constructed instead of before.


The difference is marginal, and with modern ISAs there typically isn't a proper frame anyway.

case#2 c++ constructors
Consider something like:
class parent { parent() ... }
class child extends parent { child () ... }
In C++, parent, for constructor parent() has two methods; one is called for the case of "new parent()" and a second is called for the case of "new child()".


case#3 none of the above;
to discuss on IRC

./


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]