libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libunwind-devel] libunwind ARM port


From: Daniel Jacobowitz
Subject: Re: [Libunwind-devel] libunwind ARM port
Date: Mon, 4 Feb 2008 20:40:19 -0500
User-agent: Mutt/1.5.17 (2007-12-11)

On Mon, Feb 04, 2008 at 05:35:17PM -0700, David Mosberger-Tang wrote:
> Daniel,
> 
> When I try to build libunwind for ARM in my cross-environment, I get this 
> error:
> 
> ../../libunwind/src/mi/backtrace.c:41: error: 'mcontext_t' has no
> member named 'arm_r0'
> 
> I'm using the cross-tools available here:
> 
>   http://www.embeddedarm.com/linux/ARM.htm
> 
> (look for "Linux Crosstool gcc-4.0.1-glibc-2.3.5").  I'm not terribly
> familiar with ARM.  Are these crosstools just obsolete or are there
> multiple common ways of defining mcontext_t on ARM?  As far as I can
> see, the toolchain I'm using simply defines mcontext_t as an
> array of integer and fp-registers (as is commonly done by the Linux kernel).

Current ARM glibc defines mcontext_t as a struct sigcontext and gets
struct sigcontext from the kernel.  That kernel definition has arm_r0.
Looks like I fixed glibc on 2006-07-05; the definition before that in
glibc didn't match reality (i.e. the ucontext that the kernel puts on
the stack for RT signal handlers).  So I don't recommend compatibility
with broken glibc if you care about filling in your mcontext_t with
anything sensible :-)

Plug for some newer tools that I know work:
  http://www.codesourcery.com/gnu_toolchains/arm

Thanks for merging!

-- 
Daniel Jacobowitz
CodeSourcery




reply via email to

[Prev in Thread] Current Thread [Next in Thread]