https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107807
--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> --- > I've tested errno-1.c with glibc's errno.h, and with a simple "extern int > errno;". > > What does <errno.h> look like on your machine? In particular, how is "errno" > defined/declared? Thanks. It's a bit more complicated here, boiling down to extern int *___errno(void) __attribute__((__const__)); #define errno (*(___errno())) You will find something similar e.g. on Mac OS X 10.7, btw.: extern int * __error(void); #define errno (*__error())