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


_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to