backport from glibc upstream master branch (cherry picked from commit 8314af7c49a915a4e189d9a8cf08bb0ac7d5f1f0)