This is the mail archive of the
java-prs@gcc.gnu.org
mailing list for the Java project.
[Bug bootstrap/28577] make of gcc-4.1.1 failed using icc v9.1.042 on ia64
- From: "wilson at specifix dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: java-prs at gcc dot gnu dot org
- Date: 4 Aug 2006 01:34:42 -0000
- Subject: [Bug bootstrap/28577] make of gcc-4.1.1 failed using icc v9.1.042 on ia64
- References: <bug-28577-13049@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from wilson at specifix dot com 2006-08-04 01:34 -------
Subject: Re: make of gcc-4.1.1 failed using icc v9.1.042
on ia64
pinskia at gcc dot gnu dot org wrote:
> ------- Comment #1 from pinskia at gcc dot gnu dot org 2006-08-02 20:13 -------
> If not, then what is the line 49 of the file /usr/include/sys/ucontext.h?
Essentially, we are using offsetof to size an array. This would be a
GCC extension that icc apparently does not support.
Here is an out of context copy of the relevant lines
#if defined __cplusplus && __GNUC_PREREQ (3, 5)
# define _SC_GR0_OFFSET \
__builtin_offsetof (struct sigcontext, sc_gr[0])
#elif defined __GNUC__
# define _SC_GR0_OFFSET \
(((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0)
#else
# define _SC_GR0_OFFSET 0xc8 /* pray that this is correct... */
#endif
typedef struct ucontext
{
union
{
mcontext_t _mc;
struct
{
unsigned long _pad[_SC_GR0_OFFSET/8];
struct ucontext *_link; /* this should overlay sc_gr[0] */
}
_uc;
}
_u;
}
ucontext_t;
Since current gcc uses __builtin_offsetof for both C and C++, this
header file could perhaps be changed to use that, assuming of course
that icc accepts this new extension, which maybe it does not.
This file is from glibc. If anything needs to be changed here, it is
glibc, not gcc.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28577