On Sat, Jul 29, 2017 at 9:48 PM, Ron Yorston <rmy at pobox.com> wrote: > -#if defined(__GLIBC__) && __GLIBC__ < 2 > -int vdprintf(int d, const char *format, va_list ap); > -#endif __GLIBC__ is NOT defined in glibc before version 2. So this macro check actually means a libc which claims to be compatible with glibc but not glibc 2.