Search the web
Sign In
New User? Sign Up
mpatrol · mpatrol library discussion group
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want to share photos of your group with the world? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
mpatrol 64 bit issue ....   Message List  
Reply | Forward Message #1170 of 1198 |
Re: [mpatrol] mpatrol 64 bit issue ....

Hello everyone,,

I got an interesting comment from suse guys ,,,

"One easy way to do backtracing in a portable way over multiple
Linux architectures is to use glibc's backtrace() function. "

http://www.gnu.org/software/libtool/manual/libc/Backtraces.html

does it makes sense for us ,, can we use this and questions comes .. how ...???

i know i am asking too many questions and many of them could be dumb
but please bear with me ...

Thanks
Sagar

On 11/17/08, Sagar <sagarseth@...> wrote:
> 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
>


--
Thanks and Regards
Sagar



Mon Nov 17, 2008 1:08 pm

sagarindelhi
Online Now Online Now
Send Email Send Email

Forward
Message #1170 of 1198 |
Expand Messages Author Sort by Date

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...
Sagar
sagarindelhi
Online Now Send Email
Nov 11, 2008
11:10 am

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 ...
Graeme Roy
graemeroy
Offline Send Email
Nov 14, 2008
11:40 am

... I don't have such code, but what I'd recommend is using either libunwind or just libgcc; x86_64 is special in that the platform ABI requires presence of...
Daniel Jacobowitz
falsedrow
Offline Send Email
Nov 14, 2008
4:07 pm

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...
Sagar
sagarindelhi
Online Now Send Email
Nov 17, 2008
9:14 am

Hello everyone,, I got an interesting comment from suse guys ,,, "One easy way to do backtracing in a portable way over multiple Linux architectures is to use...
Sagar
sagarindelhi
Online Now Send Email
Nov 17, 2008
1:08 pm

Hi, I'm assuming backtrace() is a gcc 4 function because I can't find it in gcc 3, but yes, it looks like what you want. The only problem is that it's not ...
Graeme Roy
graemeroy
Offline Send Email
Nov 20, 2008
10:09 am

... It's a glibc function rather than a gcc function; include <execinfo.h> to get it on any GNU/Linux system. -- Daniel Jacobowitz CodeSourcery...
Daniel Jacobowitz
falsedrow
Offline Send Email
Nov 20, 2008
2:50 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help