This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! On 26 Feb 2012 18:17:52 -0000, drepper@sourceware.org wrote: > http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4efeffc1d583597e4f52985b9747269e47b754e2 > > commit 4efeffc1d583597e4f52985b9747269e47b754e2 > Author: Ulrich Drepper <drepper@gmail.com> > Date: Sun Feb 26 13:17:27 2012 -0500 > > Fix up POSIX testing in conformtest > [...] > + * sysdeps/unix/sysv/linux/bits/siginfo.h: Don't name siginfo_t > + struct. [...] > [...] > diff --git a/sysdeps/unix/sysv/linux/bits/siginfo.h b/sysdeps/unix/sysv/linux/bits/siginfo.h > index ecef39d..0635e2f 100644 > --- a/sysdeps/unix/sysv/linux/bits/siginfo.h > +++ b/sysdeps/unix/sysv/linux/bits/siginfo.h > [...] > @@ -47,7 +47,7 @@ typedef union sigval > # define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3) > # endif > > -typedef struct siginfo > +typedef struct > { > int si_signo; /* Signal number. */ > int si_errno; /* If non-zero, an errno value associated with > [...] This change breaks GCC: In file included from /scratch/tschwing/FM_sh-linux-gnu-mk2/src/gcc-mainline/libgcc/unwind-dw2.c:377:0: ./md-unwind-support.h: In function 'sh_fallback_frame_state': ./md-unwind-support.h:182:17: error: field 'info' has incomplete type In my case, this is really libgcc/config/sh/linux-unwind.h: [...] 181 struct rt_sigframe { 182 struct siginfo info; 183 struct ucontext uc; 184 } *rt_ = context->cfa; [...] There are more such cases: boehm-gc/os_dep.c:# define SIGINFO_T struct siginfo libgcc/config/alpha/linux-unwind.h: struct siginfo info; libgcc/config/bfin/linux-unwind.h: struct siginfo *pinfo; libgcc/config/bfin/linux-unwind.h: struct siginfo info; libgcc/config/i386/linux-unwind.h: struct siginfo *pinfo; libgcc/config/i386/linux-unwind.h: struct siginfo info; libgcc/config/ia64/linux-unwind.h: struct siginfo *info; libgcc/config/ia64/linux-unwind.h: struct siginfo *info; libgcc/config/mips/linux-unwind.h: struct siginfo info; libgcc/config/pa/linux-unwind.h: struct siginfo info; libgcc/config/sh/linux-unwind.h: struct siginfo *pinfo; libgcc/config/sh/linux-unwind.h: struct siginfo info; libgcc/config/sh/linux-unwind.h: struct siginfo info; libgcc/config/tilepro/linux-unwind.h: struct siginfo info; libgcc/config/xtensa/linux-unwind.h: struct siginfo info; (Is there really nobody doing nightly testing of GCC against glibc master branch on x86, which would have shown this earlier?) Replacing struct siginfo with siginfo_t in sh/linux-unwind.h makes the build pass. Is this the desired approach; shall we apply this for all cases listed above (and submit to Boehm GC upstream)? I wonder -- if GCC breaks, how much software out in the wild is going to break once this glibc change ripples through? GrÃÃe, Thomas
Attachment:
pgp00000.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |