I am actually happy that gcc doesn't find it important to support a library that prevents its users from using functions that are clearly defined in the specification of the language it supports.
These functions have no right to exist.
char dst[5];
sprintf(dst, "%.*s", (int)sizeof(dst)-1, "Hello!");
Copies a null-terminated string to dst, truncating if necessary to avoid overflow.Just don't forget the "." or the "-1".
And by a long time I mean before 1989 (certainly before 1999).
But banning gets is obvious because it is by definition facing external input