On Wed, Oct 22, 2014 at 4:43 AM, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: > The gnu11 patch broke Solaris 10 and 11 bootstrap: <sys/feature_test.h> > has > > /* > * It is invalid to compile an XPG3, XPG4, XPG4v2, or XPG5 application > * using c99. The same is true for POSIX.1-1990, POSIX.2-1992, POSIX.1b, > * and POSIX.1c applications. Likewise, it is invalid to compile an XPG6 > * or a POSIX.1-2001 application with anything other than a c99 or later > * compiler. Therefore, we force an error in both cases. > */ > #if defined(_STDC_C99) && (defined(__XOPEN_OR_POSIX) && !defined(_XPG6)) > #error "Compiler or options invalid for pre-UNIX 03 X/Open applications \ > and pre-2001 POSIX applications" > #elif !defined(_STDC_C99) && \ > (defined(__XOPEN_OR_POSIX) && defined(_XPG6)) > #error "Compiler or options invalid; UNIX 03 and POSIX.1-2001 applications \ > require the use of c99" > #endif > > so the headers now error out for any definition of (say) _XOPEN_SOURCE < 600. > > Obviously, the gnu11 patch is going to cause lots of trouble once GCC 5 > is released. > > The following patch handles this situation, using the most conservative > (and most ugly since using platform-specific code) approach of defining > the necessary feature test macros only for Solaris. I suppose the two > _XOPEN_SOURCE defines (both present from when the code was added) could > easily be changed to 600 instead; not sure why _POSIX_SOURCE would be > necessary in sigsetmask.c (also present from day one). > > Anyway, this patch restores bootstrap, as verified on > i386-pc-solaris2.11 and sparc-sun-solaris2.11. > > Ok for mainline? > > Rainer > > > 2014-10-22 Rainer Orth <r...@cebitec.uni-bielefeld.de> > > libobjc: > * thr.c (_XOPEN_SOURCE) [__sun__ && __svr4__]: Define as 600.
This is fine. Thanks, Andrew > > libiberty: > * sigsetmask.c (_POSIX_C_SOURCE) [__sun__ && __svr4__ && > __STDC_VERSION__ >= 200112L]: Define as 200112L. > > libgomp: > * config/posix/lock.c (_XOPEN_SOURCE) [__sun__ && __svr4__]: > Define as 600. > > > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University >