Hi Jakub, some folks in FreeBSD-land have worked to remove all uses of gets() and in fact the gets() function itself.
Generally GCC builds just fine in such an environment, except for libssp where libssp/gets-chk.c has the following: char * __gets_chk (char *s, size_t slen) { char *ret, *buf; if (slen >= (size_t) INT_MAX) ==> return gets (s); <== if (slen <= 8192) buf = alloca (slen + 1); else buf = malloc (slen + 1); if (buf == NULL) ==> return gets (s); <== Here gets() is used in two edge/error cases only. What do you think of abort()ing on systems where gets() is not available, via a bit of autoconf magic? Is this something you may be able to help with? Gerald PS: https://reviews.freebsd.org/D12298 has some background re FreeBSD.