gcc 4.9 added __attribute__((returns_nonnull)) which declares that a function returns a pointer that is guaranteed not to be NULL.
There are probably a whole bunch of functions to which glibc could advantageously add this annotation, but I suspect __errno_location is the most valuable.
Related GCC bug requesting implementation of returns_nonnull:
Related GCC bug asking for -fsanitize=undefined to pay attention to returns_nonnull: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62307
suggests that alternative approaches (e.g. making errno a TLS variable) may be preferred.