Re: gcc problems

From: Andreas Schwab <>
Date: 2004-02-06 22:46:34
Jim Wilson <> writes:

> On Fri, 2004-02-06 at 00:00, Andrew Morton wrote:
>> ../../gcc-3.4-cvs/gcc/config/ia64/unwind-ia64.c: In function `uw_frame_state_for':
>> ../../gcc-3.4-cvs/gcc/config/ia64/unwind-ia64.c:1779: error: structure has no member named `sc_rbs_base'
>> ../../gcc-3.4-cvs/gcc/config/ia64/unwind-ia64.c:1779: error: structure has no member named `sc_loadrs'
> This is from the MD_FALLBACK_FRAME_STATE_FOR macro in
> gcc/config/ia64/linux.h, which handles machine and OS dependent
> unwinding from signal handers.  It uses signal.h and sys/context.h. 
> These are things that could have perhaps changed with a new kernel or
> glibc.  If the signal context structure has changed, then we need a new
> version of this code, and will somehow have to choose the right one.

The fields were named differently in old versions of glibc, but the whole
layout didn't change in any way.

-  unsigned long int sc_rsvd[16];/* reserved for future use */
+  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_ar25;	/* cmp8xchg16 uses this */
+  unsigned long int sc_ar26;	/* rsvd for scratch use */
+  unsigned long int sc_rsvd[12];/* reserved for future use */

> The easiest workaround is probably to install libunwind on your system

The right fix is not to use a 2 years old glibc.

revision 1.7
date: 2001/10/01 00:04:10;  author: drepper;  state: Exp;  lines: +3 -1
(struct sigcontext): Add sc_loadrs and sc_rbs_bas to match current kernel.


Andreas Schwab, SuSE Labs,
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Fri Feb 6 06:47:16 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:22 EST