glibc-2.17-192.el7 was built against an older kernel version which did not backport the getrandom system call to all architectures (see bug 1432218). As a result, SYS_getrandom is not defined on all architectures. In particular, it is missing on s390x.
The reason that glibc, at build time, obtains a list of the __NR_* macros from the kernel headers and synthesized its list of SYS_* macros from that. This means that if newer kernel headers are installed at a later point, an extended __NR_* macro list will not make it into corresponding SYS_* macros.
We need to rebuild glibc (with a new NVR) against newer kernel headers, once bug 1432218 is fixed. I'll work on an alternative approach upstream which eliminates the build ordering dependency.
Patch posted upstream:
When we backport this, we should put the system call list into a separate, top-level file which goes directly into the SRPM, so that it is simpler to update in each y-stream release.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.