This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: gdb / dbx / pstack question - getting function argument addresses from stack
Right, I should have mentioned that the "old" platform is SPARC
Solaris and the "new" platform is I386 Linux.
Thanks for the info! I guess my only option is to check how x86
OpenSolaris is doing it (IF it is doing it)...
Thanks again,
-Pavel
On Thu, Jun 26, 2008 at 2:50 PM, Joel Brobecker <brobecker@adacore.com> wrote:
>> As you've mentioned previously, this only works on Solaris. Am I
>> totally out of luck on Linux?
>
> The Operating System is actually not the most important factor in
> this case. The reason why this "works" on Sparc is because the Sparc
> ABI says that the first few parameters should be passed through the
> output/input registers. There can be up to 6 registers passed this
> way. So when dbx prints the "parameters" when there is no debugging
> info, it is actually printing the contents of these registers.
>
> You didn't say which CPU your Linux was running on, but I'll guess
> it's x86. I don't know x86 all that well, but I remember that the
> arguments are passed through the stack at an offset to the function
> frame base. So the idea that works on Sparc doesn't work for x86,
> and I don't see another simple scheme that would work on x86 either.
>
> --
> Joel
>