- Please file a new bug for each package that fails with glibc-2.20 and have it block this one. - The new bug should be assigned to the maintainer of the package. Please do not CC toolchain. - *DO NOT* use this bug for any problems with glibc-2.20 itself. Instead, file a NEW bug describing your issue and it will be assigned by a bug wrangler.
PROBLEM: people try to use "strndup" (as a prototype, variable, struct member, etc...), and end up with errors like: error: expected identifier or '(' before '__extension__' char* strndup(const char* str, size_t n); FIX: don't use the symbol "strndup" :). usually it's because the code shouldn't be declaring a prototype at all, but sometimes the code will need to change to not use that symbol at all.
PROBLEM: code uses _BSD_SOURCE or _SVID_SOURCE defines, but glibc has obsoleted them with _DEFAULT_SOURCE. this is a warning emitted by features.h, not an error, but some packages end up failing due to -Werror or other tool usage. FIX: if using -Werror, stop doing that (see bug 260867). if not using -Werror, you might have to fix the tools to not die/parse that #warning message. otherwise, you can migrate to the new define by deleting the old ones entirely (if possible), or using the new _DEFAULT_SOURCE symbol.
glibc-2.20 is stable and 2.21 is in ~arch ... closing out