Hello Friend ,,
I am confused ... from what i see inside the code i need to re-write
1. struct frameinfo and stackinfo ( for 64bit)
2. then need to write the getaddr unwind getframe and all other
functions in stack.c
right ???
please help with some documentation.. better will be an example ..
here is something useful that i found over the weekend ,... please
have look ,, let me know about further steps...
thanks in advance...
Seth
From: Graeme Roy <graeme_roy@...>
Date: Fri, 14 Nov 2008 22:09:22 -0000
Subject: RE: [mpatrol] mpatrol 64 bit issue ....
To: Sagar <sagarseth@...>
Hi,
If you've got the time to have a look, the code for all the stack tracebacks
is in mpatrol/src/stack.c. Just look for the x86-specific code - there's
not much because for 32-bit x86 it's really easy, you just follow the chain
of frame pointers. Daniel from CodeSourcery replied to the mpatrol group as
well, suggesting that it's a lot more complicated for 64-bit x86 since you
have to look at the .eh_frame section in the executable file and any shared
libraries.
What you could do is try defining MP_BUILTINSTACK_SUPPORT when you build the
mpatrol library. This will make gcc plant some code to help traverse the
stack instead of using mpatrol's code. Unfortunately it will only work for
a finite size stack (see the comments in mpatrol/src/config.h) but it'll get
you up and running, I hope. It doesn't always work on all platforms but
it's worth you giving it a try.
Good luck,
Graeme.
_____
From: Sagar [mailto:sagarseth@...]
Sent: 14 November 2008 12:51
To: graeme_roy@...
Subject: Re: [mpatrol] mpatrol 64 bit issue ....
Hi Friend,
Can u show me where is the
"source code for getting stack tracebacks in 32 bit"
I can try to put effort for developing the source for 64 bit..
may be i can help u in developing 64 bit version.....
i got a free weekend ...
Sagar
On 11/14/08, Graeme Roy <graeme_roy@...> wrote:
> Hi,
>
> Yes, it sounds like there's been no support added for stack tracebacks on
> 64-bit x86. The 32-bit x86 code will not work, as you have found out and
I
> haven't written support for 64-bit x86 as I don't have access to it.
>
> If anyone has written the extra source code for getting stack tracebacks
to
> work for mpatrol on that architecture could they post it here? It should
> only be a few lines of diffs anyway, compared to what I'd expect support
for
> Itanium to be.
>
> Thanks,
>
> Graeme.
>
> _____
>
> From: mpatrol@yahoogroups.com [mailto:mpatrol@yahoogroups.com] On Behalf
Of
> Sagar
> Sent: 11 November 2008 11:11
> To: mpatrol@yahoogroups.com
> Subject: [mpatrol] mpatrol 64 bit issue ....
>
>
>
> Hello Graeme,
>
> Thanks for the update ,, we took the target.h file and places where
> the ARCH and ENVIRON variables were defined .. we did a undef and
> redefined them to ARCH_IX86 and ENVIRON_64.
>
> CPUs in the box are AMD opteron 275.
>
> Now we are getting a core for mpatrol .
>
> When we did the analysis on the core then I am getting
> #0 0x0000002a9567cab4 in __mp_getframe () from /src/lib64/libmpatrol.so
>
> What could be wrong .
>
> .....-----------------
>
> Glad to hear it's working OK for you, at least on one of your machines.
>
> For SuSE Enterprise 64-bit, I assume that it's running on Intel Core 2 Duo
> and is therefore x86-64 (and not Itanium). mpatrol has been ported to
> 64-bit architectures before (MIPS and SPARC for example) but I don't know
if
> anything's been done by anyone to port it to 64-bit x86 (i.e. running in a
> 64-bit environment and not just under a 32-bit OS). For example, the stack
> reading code will most likely be different which is probably why you're
not
> getting any location information for the allocations.
>
> Has anyone here run mpatrol on a 64-bit x86 architecture and got stack
> tracebacks to work? I imagine there won't be too many changes to make
(just
> ensure that ARCH = ARCH_IX86 and ENVIRON = ENVIRON_64 when building
mpatrol)
> - just look for ENVIRON_64 in the mpatrol source code to see where I did
the
> changes for MIPS and SPARC. I don't have access to a 64-bit OS at the
> moment so I can't really help much.
>
>
>
>
--
Thanks and Regards
Sagar
--
Thanks and Regards
Sagar