[Simh] trouble selecting VAX ethernet on CentOS
Michael Bloom
mabloom at dslextreme.com
Mon Feb 27 23:44:39 EST 2012
Before doing what I had previously suggested (below), you could first
check to see if it might help by typing "disas eth_open" in gdb. If the
first line reads "push %rbp", then you have frame pointers.
If you don't have framepointers, THEN add -fno-omit-frame-pointer to
your gcc command, rebuild SIMH, and then try running under gdb again.
In contrast with their more recent practices, Ubuntu seems to have made
a change for the better, according to some tests I just made. When gcc
4.6 changed the default frame pointer option to be to omit them,
Ubuntu chose not to pick up that change. But some other distros may not
have made that choice, so it might be good to always add
"-fno-omit-frame-pointer" whenever using "-g" on intel boxes.
- Michael
P.S. There are two other reasons I can immediately think of for why the
stack might look so messed up. One is that something has clobbered it
(maybe the compiler hasn't generated code that is safe for your
threads?). The other is that in the event of a SIGSEGV, your kernel
might be leaving virgin evidence of the trap frame and not bothering to
set up the signal trampoline code and trap frame so as to be trackable
by a debugger. (If so, it's a fixable problem, but not a user fixable
one, and the fix might have binary backward compatibility issues, unless
the person fixing it really lucks out).
On 02/26/2012 11:26 PM, Michael Bloom wrote:
> Uggh. It looks like you are on a system that doesn't set up usable
> (for the purposes of debugging) stack frames.
>
> I didn't see a "-fomit-frame-pointer" in your compilation, but if you
> are using a recent gcc (>=4.6, or maybe just set up that way on CentOS
> for the hell of it), then that's the default on your system.
>
> Add -fno-omit-frame-pointer to your gcc command, rebuild SIMH, and
> then try running under gdb again.
>
> The presence of frame pointers should help gdb find what's in each
> stack frame.
>
> Also, while you are in gdb, try listing the lines around 1454. Unless
> I missed the release announcement, 3.8.2 is a pre-release, so the
> lines you have may not be the same as the ones others have, so people
> can't go by just line numbers to see where you are.
>
> - Michael
>
More information about the Simh
mailing list