libunwind-devel
[Top][All Lists]
Advanced

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

Re: [libunwind] [Q] Build error on Linux/IA64


From: David Mosberger
Subject: Re: [libunwind] [Q] Build error on Linux/IA64
Date: Tue, 23 Sep 2003 12:26:36 -0700

>>>>> On Mon, 22 Sep 2003 16:26:44 -0400, Bharadwaj Yadavalli <address@hidden> 
>>>>> said:

  Bharadwaj> I am trying to build libunwind on a Linux/IA64 box using
  Bharadwaj> gcc and get the following error:

  Bharadwaj> ia64/Ginit-ia64.c: In function `uc_addr':
  Bharadwaj> ia64/Ginit-ia64.c:110: structure has no member named `sc_rbs_base'

This is a sign that your libc header files are old.  The last few entries in
"struct sigcontext" in /usr/include/bits/sigcontext.h should look like this:

  struct ia64_fpreg sc_fr[128]; /* floating-point registers */
  unsigned long int sc_rbs_base;/* NULL or new base of sighandler's rbs */
  unsigned long int sc_loadrs;  /* see description above */
  unsigned long int sc_rsvd[14];/* reserved for future use */

  /* sc_mask is actually an sigset_t but we don't want to
   * include the kernel headers here. */
  unsigned long int sc_mask;    /* signal mask to restore after handler returns 
*/
};

You can do one of several things:

 - upgrade to a newer libc
 - patch /usr/include/bits/sigcontext.h
 - install a patch version of /usr/include/bits/sigcontext.h in
   libunwind/include/bits/sigcontext.h

Perhaps I should add an autoconf test for this issues, but I'm not
sure it's worth it, because old libc's tend to have rather bad unwind
info anyhow.

Hope this helps,

        --david


reply via email to

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