Hi, Small transcript saved: On Wed, 2007-08-08 at 09:23 -0400, Andrew Cagney wrote: > - frysk-asm.h walk through We wnet over the folliwing files: $ less frysk-core/frysk/pkglibdir/funit-frameless.S $ less frysk-imports/include/funit-util.h $ less frysk-imports/include/frysk-asm.h $ less frysk-imports/include/frysk-asm.h $ less frysk-core/frysk/pkglibdir/funit-symbols.S The frysk-asm.h files has lots and lots of comments. $ info gas Will give you documentation on the .cif assembler directives used. * Pseudo Ops:: Assembler Directives * CFI directives:: `.cfi_startproc', `.cfi_endproc', etc. http://sourceware.org/binutils/docs-2.17/as/CFI-directives.html (I must have missed this before, because I was looking for it, but only found the gas 2.9 manual online previously, which doesn't seem to support the cfi directives.) > - C++ types Stan was smart and had a premade demo, which is attached. > - more debuginfo $ ./frysk-core/frysk/bindir/fhpd $$ Attached to process 5784 (fhpd) de debuginfo defset delete detach (fhpd) debuginfo /lib/libnss_files-2.6.so /usr/lib/debug/lib/libnss_files-2.6.so.debug /lib/ld-2.6.so /usr/lib/debug/lib/ld-2.6.so.debug /lib/libc-2.6.so /usr/lib/debug/lib/libc-2.6.so.debug /lib/libdl-2.6.so /usr/lib/debug/lib/libdl-2.6.so.debug /lib/libtinfo.so.5.6 /usr/lib/debug/lib/libtinfo.so.5.6.debug /bin/bash /usr/lib/debug/bin/bash.debug (fhpd) quit Quitting... $ ./frysk/bindir/fdebuginfo $$ /lib/libnss_files-2.6.so /usr/lib/debug/lib/libnss_files-2.6.so.debug /lib/ld-2.6.so /usr/lib/debug/lib/ld-2.6.so.debug /lib/libc-2.6.so /usr/lib/debug/lib/libc-2.6.so.debug /lib/libdl-2.6.so /usr/lib/debug/lib/libdl-2.6.so.debug /lib/libtinfo.so.5.6 /usr/lib/debug/lib/libtinfo.so.5.6.debug /bin/bash /usr/lib/debug/bin/bash.debug $ ./frysk/bindir/fcore $$ $ ./frysk/bindir/fdebuginfo core.$$ Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String ind ex out of range: 0 at java.lang.String.charAt(libgcj.so.8rh) at frysk.util.DebuginfoPaths.getDebuginfo(fdebuginfo) at frysk.bindir.fdebuginfo.printDebuginfo(fdebuginfo) at frysk.bindir.fdebuginfo.access$0(fdebuginfo) at frysk.bindir.fdebuginfo$1.parseCores(fdebuginfo) at frysk.util.CommandlineParser.doParse(fdebuginfo) at frysk.util.CommandlineParser.parse(fdebuginfo) at frysk.bindir.fdebuginfo.main(fdebuginfo) [... bah! That is no good. After some debugging we came up with ...] $ cvs diff frysk-core/frysk/util Index: frysk-core/frysk/util/DebuginfoPaths.java =================================================================== RCS file: /cvs/frysk/frysk-core/frysk/util/DebuginfoPaths.java,v retrieving revision 1.1 diff -u -r1.1 DebuginfoPaths.java --- frysk-core/frysk/util/DebuginfoPaths.java 7 Aug 2007 15:26:24 -0000 1.1 +++ frysk-core/frysk/util/DebuginfoPaths.java 8 Aug 2007 14:49:32 -0000 @@ -77,7 +77,7 @@ String name = mod.getName(); // Check for valid executables - if (name.charAt(0)=='/') + if (name.length() != 0 && name.charAt(0)=='/') { // Ignore non-binary modules if (mod.getElf()==null) $ ./frysk/bindir/fdebuginfo core.$$ /lib/ld-linux.so.2 /usr/lib/debug/lib/ld-2.6.so.debug /lib/libc.so.6 /usr/lib/debug/lib/libc-2.6.so.debug /lib/libdl.so.2 /usr/lib/debug/lib/libdl-2.6.so.debug /lib/libtinfo.so.5 /usr/lib/debug/lib/libtinfo.so.5.6.debug /bin/bash /usr/lib/debug/bin/bash.debug [... But this is slightly strange, needs investigation, why is the name empty in the first place? Phil and Mark think it might be the vdso module name ...] $ uname -a Linux hermans.wildebeest.org 2.6.22.1-41.fc7 #1 SMP Fri Jul 27 18:10:34 EDT 2007 i686 i686 i386 GNU/Linux $ grep vdso /proc/$$/maps 00110000-00111000 r-xp 00110000 00:00 0 [vdso]