Why does isomac use -D_LIBC for its header examinations at all? That doesn't seem appropriate, since it should be testing the headers as seen by a user program. If _LIBC is needed for some reason in the libc build environment, it should use -DNOT_IN_libc to avoid the internal magic.