BTW, I read at
http://www.gnu.org/software/libc/manual/html_node/Translation-with-gettext.html
The gettext function does not modify the value of the global errno
variable. This is necessary to make it possible to write something like
printf (gettext ("Operation failed: %m\n"));
which is pretty much what I expected to find. Ergo, this entire
discussion is wrong, and whatever bug you are concerned about will
not be solved this way.
What you may actually be running into is the problem that there are two
different definitions of strerror_r() out there, the SUS spec and the
GNU spec, and pre-8.0 we failed to distinguish these. The 7.4 coding
will yield garbage messages in some cases when GNU strerror_r is in use.
regards, tom lane