Subject: Re: tracking program counter / assembling objdump output
To: None <is@netbsd.org, port-m68k@NetBSD.org>
From: None <SigmFSK@aol.com>
List: port-m68k
Date: 09/30/2006 17:10:33
In a message dated 9/28/2006 6:04:01 A.M. Eastern Standard Time,
is@netbsd.org writes:
>>>Uhm, yes. GDB must have a way to tell the OS to run the program in a
>>>trapping way - apparently the NetBSD gdb doesn't know how to do that for
>>>a SunOS program. (Always assuming single step does work for your
program...
>>>but stepi works on a 3.0 system with a 4.0_BETA kernel.)
>>>
>>>You did use "stepi", right?
Yes, stepi (machine instruction step) just kept right on going. I found a
SunOS Verdix ada source-code debugger that has the ability to machine step
through programs. I was able to get it to debug (via some shennanigans)
non-verdix ada compiled code, and ran it on the real sun3 and inside TME. I just
had it step through thousands of lines of m68k instructions, output all the
registers and stack at each m68k instruction. I then updated the output to
adjust the starting stack address to the same value for tme/real sun3 and
performed some adjustments to allow for an easy "diff".
Found a major TME problem:
movel sp,-(sp)
doesn't work. The value pushed to the stack is the predecremented sp value
instead of the original sp. After fixing this, most of the remaining
gcc-3.3.3 testsuite problems inside TME went away. Woot! I'm investigating other
possible problems along these lines.
It still would be nice to be able, with GCC, to assemble the output of
objdump dissassembled executables. That seems like such an awesome feature; I
don't know why objdump output is not immediately in assemblable form.
/arthur