[Top][All Lists]
[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