fix to noexec_user_stack on solaris 2.{6,7}
Rob
capveg@cs.umd.edu
Wed Oct 20 10:17:00 GMT 1999
In message < 199910200839.KAA17702@reisser.regent.e-technik.tu-muenchen.de >, "Pe
ter.Schauer" writes:
>This will break calling of functions that return a structure or union.
>
>As per sparc calling conventions the call must looks like this:
>
> call fun,0
> nop
> unimp <size of returned struct>
>
>Setting CALL_DUMMY_LOCATION to AT_ENTRY_POINT doesn't handle this case.
>
>When I was looking at the problem a long time ago, I had no idea how to
>solve it properly.
Just so I am clear on how this breaks:
gdb successfully makes the call and returns, but if the return type
is a struct or union, the size is not correctly reported. With an
incorrect size, you can look into the internals of the struct.
Is that right? If so, I think I am just going to apply the patch to my
systems, and be done with it. (Read: "users be damned" :)
Does anyone have any good pointers to information on Sparc calling
conventions?
I have the "Sparc Assembly Reference Manual" that comes with the big solaris
documentation set, but I find it relatively useless.
Thanks for the help,
- Rob
.
More information about the Gdb
mailing list