diff --git a/glibc-rh1484729-syscall-names.patch b/glibc-rh1484729-syscall-names.patch
new file mode 100644
index 0000000..ffd6313
--- /dev/null
+++ b/glibc-rh1484729-syscall-names.patch
@@ -0,0 +1,603 @@
+The explicit system call list for system call management was not
+accepted upstream.
+diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list
+new file mode 100644
+index 00000000..459b2226
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/syscall-names.list
+@@ -0,0 +1,595 @@
++# List of all known Linux system calls.
++# Copyright (C) 2017 Free Software Foundation, Inc.
++# This file is part of the GNU C Library.
++#
++# The GNU C Library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Lesser General Public
++# License as published by the Free Software Foundation; either
++# version 2.1 of the License, or (at your option) any later version.
++#
++# The GNU C Library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Lesser General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public
++# License along with the GNU C Library; if not, see
++# .
++
++# This file contains the list of system call names names. It has to
++# remain in alphabetica order. Lines which start with # are treated
++# as comments. This file can list all potential system calls. The
++# names are only used if the installed kernel headers also provide
++# them.
++
++# The list of system calls is current as of Linux 4.11.
++kernel 4.11
++
++FAST_atomic_update
++FAST_cmpxchg
++FAST_cmpxchg64
++_llseek
++_newselect
++_sysctl
++accept
++accept4
++access
++acct
++add_key
++adjtimex
++afs_syscall
++alarm
++arch_prctl
++arm_fadvise64_64
++arm_sync_file_range
++atomic_barrier
++atomic_cmpxchg_32
++bdflush
++bind
++bpf
++break
++brk
++cachectl
++cacheflush
++capget
++capset
++chdir
++chmod
++chown
++chown32
++chroot
++clock_adjtime
++clock_getres
++clock_gettime
++clock_nanosleep
++clock_settime
++clone
++clone2
++close
++cmpxchg_badaddr
++connect
++copy_file_range
++creat
++create_module
++delete_module
++dipc
++dup
++dup2
++dup3
++epoll_create
++epoll_create1
++epoll_ctl
++epoll_ctl_old
++epoll_pwait
++epoll_wait
++epoll_wait_old
++eventfd
++eventfd2
++exec_with_loader
++execv
++execve
++execveat
++exit
++exit_group
++faccessat
++fadvise64
++fadvise64_64
++fallocate
++fanotify_init
++fanotify_mark
++fchdir
++fchmod
++fchmodat
++fchown
++fchown32
++fchownat
++fcntl
++fcntl64
++fdatasync
++fgetxattr
++finit_module
++flistxattr
++flock
++fork
++fremovexattr
++fsetxattr
++fstat
++fstat64
++fstatat64
++fstatfs
++fstatfs64
++fsync
++ftime
++ftruncate
++ftruncate64
++futex
++futimesat
++get_kernel_syms
++get_mempolicy
++get_robust_list
++get_thread_area
++getcpu
++getcwd
++getdents
++getdents64
++getdomainname
++getdtablesize
++getegid
++getegid32
++geteuid
++geteuid32
++getgid
++getgid32
++getgroups
++getgroups32
++gethostname
++getitimer
++getpagesize
++getpeername
++getpgid
++getpgrp
++getpid
++getpmsg
++getppid
++getpriority
++getrandom
++getresgid
++getresgid32
++getresuid
++getresuid32
++getrlimit
++getrusage
++getsid
++getsockname
++getsockopt
++gettid
++gettimeofday
++getuid
++getuid32
++getunwind
++getxattr
++getxgid
++getxpid
++getxuid
++gtty
++idle
++init_module
++inotify_add_watch
++inotify_init
++inotify_init1
++inotify_rm_watch
++io_cancel
++io_destroy
++io_getevents
++io_setup
++io_submit
++ioctl
++ioperm
++iopl
++ioprio_get
++ioprio_set
++ipc
++kcmp
++kern_features
++kexec_file_load
++kexec_load
++keyctl
++kill
++lchown
++lchown32
++lgetxattr
++link
++linkat
++listen
++listxattr
++llistxattr
++llseek
++lock
++lookup_dcookie
++lremovexattr
++lseek
++lsetxattr
++lstat
++lstat64
++madvise
++mbind
++membarrier
++memfd_create
++memory_ordering
++migrate_pages
++mincore
++mkdir
++mkdirat
++mknod
++mknodat
++mlock
++mlock2
++mlockall
++mmap
++mmap2
++modify_ldt
++mount
++move_pages
++mprotect
++mpx
++mq_getsetattr
++mq_notify
++mq_open
++mq_timedreceive
++mq_timedsend
++mq_unlink
++mremap
++msgctl
++msgget
++msgrcv
++msgsnd
++msync
++multiplexer
++munlock
++munlockall
++munmap
++name_to_handle_at
++nanosleep
++newfstatat
++nfsservctl
++ni_syscall
++nice
++old_adjtimex
++oldfstat
++oldlstat
++oldolduname
++oldstat
++oldumount
++olduname
++open
++open_by_handle_at
++openat
++osf_adjtime
++osf_afs_syscall
++osf_alt_plock
++osf_alt_setsid
++osf_alt_sigpending
++osf_asynch_daemon
++osf_audcntl
++osf_audgen
++osf_chflags
++osf_execve
++osf_exportfs
++osf_fchflags
++osf_fdatasync
++osf_fpathconf
++osf_fstat
++osf_fstatfs
++osf_fstatfs64
++osf_fuser
++osf_getaddressconf
++osf_getdirentries
++osf_getdomainname
++osf_getfh
++osf_getfsstat
++osf_gethostid
++osf_getitimer
++osf_getlogin
++osf_getmnt
++osf_getrusage
++osf_getsysinfo
++osf_gettimeofday
++osf_kloadcall
++osf_kmodcall
++osf_lstat
++osf_memcntl
++osf_mincore
++osf_mount
++osf_mremap
++osf_msfs_syscall
++osf_msleep
++osf_mvalid
++osf_mwakeup
++osf_naccept
++osf_nfssvc
++osf_ngetpeername
++osf_ngetsockname
++osf_nrecvfrom
++osf_nrecvmsg
++osf_nsendmsg
++osf_ntp_adjtime
++osf_ntp_gettime
++osf_old_creat
++osf_old_fstat
++osf_old_getpgrp
++osf_old_killpg
++osf_old_lstat
++osf_old_open
++osf_old_sigaction
++osf_old_sigblock
++osf_old_sigreturn
++osf_old_sigsetmask
++osf_old_sigvec
++osf_old_stat
++osf_old_vadvise
++osf_old_vtrace
++osf_old_wait
++osf_oldquota
++osf_pathconf
++osf_pid_block
++osf_pid_unblock
++osf_plock
++osf_priocntlset
++osf_profil
++osf_proplist_syscall
++osf_reboot
++osf_revoke
++osf_sbrk
++osf_security
++osf_select
++osf_set_program_attributes
++osf_set_speculative
++osf_sethostid
++osf_setitimer
++osf_setlogin
++osf_setsysinfo
++osf_settimeofday
++osf_shmat
++osf_signal
++osf_sigprocmask
++osf_sigsendset
++osf_sigstack
++osf_sigwaitprim
++osf_sstk
++osf_stat
++osf_statfs
++osf_statfs64
++osf_subsys_info
++osf_swapctl
++osf_swapon
++osf_syscall
++osf_sysinfo
++osf_table
++osf_uadmin
++osf_usleep_thread
++osf_uswitch
++osf_utc_adjtime
++osf_utc_gettime
++osf_utimes
++osf_utsname
++osf_wait4
++osf_waitid
++pause
++pciconfig_iobase
++pciconfig_read
++pciconfig_write
++perf_event_open
++perfctr
++perfmonctl
++personality
++pipe
++pipe2
++pivot_root
++pkey_alloc
++pkey_free
++pkey_mprotect
++poll
++ppoll
++prctl
++pread64
++preadv
++preadv2
++prlimit64
++process_vm_readv
++process_vm_writev
++prof
++profil
++pselect6
++ptrace
++putpmsg
++pwrite64
++pwritev
++pwritev2
++query_module
++quotactl
++read
++readahead
++readdir
++readlink
++readlinkat
++readv
++reboot
++recv
++recvfrom
++recvmmsg
++recvmsg
++remap_file_pages
++removexattr
++rename
++renameat
++renameat2
++request_key
++restart_syscall
++rmdir
++rt_sigaction
++rt_sigpending
++rt_sigprocmask
++rt_sigqueueinfo
++rt_sigreturn
++rt_sigsuspend
++rt_sigtimedwait
++rt_tgsigqueueinfo
++rtas
++s390_pci_mmio_read
++s390_pci_mmio_write
++s390_runtime_instr
++sched_get_affinity
++sched_get_priority_max
++sched_get_priority_min
++sched_getaffinity
++sched_getattr
++sched_getparam
++sched_getscheduler
++sched_rr_get_interval
++sched_set_affinity
++sched_setaffinity
++sched_setattr
++sched_setparam
++sched_setscheduler
++sched_yield
++seccomp
++security
++select
++semctl
++semget
++semop
++semtimedop
++send
++sendfile
++sendfile64
++sendmmsg
++sendmsg
++sendto
++set_mempolicy
++set_robust_list
++set_thread_area
++set_tid_address
++setdomainname
++setfsgid
++setfsgid32
++setfsuid
++setfsuid32
++setgid
++setgid32
++setgroups
++setgroups32
++sethae
++sethostname
++setitimer
++setns
++setpgid
++setpgrp
++setpriority
++setregid
++setregid32
++setresgid
++setresgid32
++setresuid
++setresuid32
++setreuid
++setreuid32
++setrlimit
++setsid
++setsockopt
++settimeofday
++setuid
++setuid32
++setxattr
++sgetmask
++shmat
++shmctl
++shmdt
++shmget
++shutdown
++sigaction
++sigaltstack
++signal
++signalfd
++signalfd4
++sigpending
++sigprocmask
++sigreturn
++sigsuspend
++socket
++socketcall
++socketpair
++splice
++spu_create
++spu_run
++ssetmask
++stat
++stat64
++statfs
++statfs64
++statx
++stime
++stty
++subpage_prot
++swapcontext
++swapoff
++swapon
++switch_endian
++symlink
++symlinkat
++sync
++sync_file_range
++sync_file_range2
++syncfs
++sys_debug_setcontext
++sys_epoll_create
++sys_epoll_ctl
++sys_epoll_wait
++syscall
++sysfs
++sysinfo
++syslog
++sysmips
++tee
++tgkill
++time
++timer_create
++timer_delete
++timer_getoverrun
++timer_gettime
++timer_settime
++timerfd
++timerfd_create
++timerfd_gettime
++timerfd_settime
++times
++tkill
++truncate
++truncate64
++tuxcall
++ugetrlimit
++ulimit
++umask
++umount
++umount2
++uname
++unlink
++unlinkat
++unshare
++uselib
++userfaultfd
++ustat
++utime
++utimensat
++utimes
++utrap_install
++vfork
++vhangup
++vm86
++vm86old
++vmsplice
++vserver
++wait4
++waitid
++waitpid
++write
++writev
diff --git a/glibc-rh1484729.patch b/glibc-rh1484729.patch
new file mode 100644
index 0000000..42b7483
--- /dev/null
+++ b/glibc-rh1484729.patch
@@ -0,0 +1,346 @@
+Posted upstream at:
+
+ https://sourceware.org/ml/libc-alpha/2017-04/msg00082.html
+
+sysdeps/unix/sysv/linux/syscall-names.list is stored as a separate patch
+(glibc-rh1439165-syscall-names.patch) in the source RPM for easier
+updates.
+
+Author: Florian Weimer
+
+ : Use an arch-independent system call list on Linux
+
+ This commit changes the way the list of SYS_* system call macros
+ is created on Linux. glibc now contains a list of all known system
+ calls, and the generated file defines the SYS_
+ macro only if the correspnding __NR_ macro is defined by the kernel
+ headers.
+
+ As a result, there glibc does not have to be rebuilt to pick up
+ system calls if the glibc sources already know about them. This
+ means that glibc can be built with older kernel headers, and if
+ the installed kernel headers are upgraded afterwards, additional
+ SYS_ macros become available as long as glibc has a record for
+ those system calls.
+
+The explicit system call list for system call management was not
+accepted upstream.
+diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
+index 9d6a2de8..bb7a3c78 100644
+--- a/sysdeps/unix/sysv/linux/Makefile
++++ b/sysdeps/unix/sysv/linux/Makefile
+@@ -52,75 +52,46 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
+ tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \
+ tst-quota tst-sync_file_range test-errno-linux
+
+-# Generate the list of SYS_* macros for the system calls (__NR_* macros).
+-
+-# If there is more than one syscall list for different architecture
+-# variants, the CPU/Makefile defines abi-variants to be a list of names
+-# for those variants (e.g. 32 64), and, for each variant, defines
+-# abi-$(variant)-options to be compiler options to cause
+-# to define the desired list of syscalls and abi-$(variant)-condition to
+-# be the condition for those options to use in a C #if condition.
+-# abi-includes may be defined to a list of headers to include
+-# in the generated header, if the default does not suffice.
+-#
+-# The generated header is compiled with `-ffreestanding' to avoid any
+-# circular dependencies against the installed implementation headers.
+-# Such a dependency would require the implementation header to be
+-# installed before the generated header could be built (See bug 15711).
+-# In current practice the generated header dependencies do not include
+-# any of the implementation headers removed by the use of `-ffreestanding'.
+-
+-$(objpfx)bits/syscall%h $(objpfx)bits/syscall%d: ../sysdeps/unix/sysv/linux/sys/syscall.h
++# Generate the list of SYS_* macros for the system calls (__NR_*
++# macros). The file syscall-names.list contains all possible system
++# call names, and the generated header file produces SYS_* macros for
++# the __NR_* macros which are actually defined.
++
++generated += bits/syscall.h
++$(objpfx)bits/syscall.h: \
++ ../sysdeps/unix/sysv/linux/gen-syscall-h.awk \
++ ../sysdeps/unix/sysv/linux/syscall-names.list
+ $(make-target-directory)
+- { \
+- echo '/* Generated at libc build time from kernel syscall list. */';\
+- echo ''; \
+- echo '#ifndef _SYSCALL_H'; \
+- echo '# error "Never use directly; include instead."'; \
+- echo '#endif'; \
+- echo ''; \
+- $(foreach h,$(abi-includes), echo '#include <$(h)>';) \
+- echo ''; \
+- $(if $(abi-variants), \
+- $(foreach v,$(abi-variants),\
+- $(CC) -ffreestanding -E -MD -MP -MF $(@:.h=.d)-t$(v) -MT '$(@:.d=.h) $(@:.h=.d)' \
+- -x c $(sysincludes) $< $(abi-$(v)-options) \
+- -D_LIBC -dM | \
+- sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' | \
+- LC_ALL=C sort > $(@:.d=.h).new$(v); \
+- $(if $(abi-$(v)-condition),\
+- echo '#if $(abi-$(v)-condition)';) \
+- cat $(@:.d=.h).new$(v); \
+- $(if $(abi-$(v)-condition),echo '#endif';) \
+- rm -f $(@:.d=.h).new$(v); \
+- ), \
+- $(CC) -ffreestanding -E -MD -MP -MF $(@:.h=.d)-t$(v) -MT '$(@:.d=.h) $(@:.h=.d)' \
+- -x c $(sysincludes) $< \
+- -D_LIBC -dM | \
+- sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' | \
+- LC_ALL=C sort;) \
+- } > $(@:.d=.h).new
+- mv -f $(@:.d=.h).new $(@:.d=.h)
+-ifdef abi-variants
+-ifneq (,$(objpfx))
+- sed $(sed-remove-objpfx) \
+- $(foreach v,$(abi-variants),$(@:.h=.d)-t$(v)) > $(@:.h=.d)-t3
+-else
+- cat $(foreach v,$(abi-variants),$(@:.h=.d)-t$(v)) \
+- > $(@:.h=.d)-t3
+-endif
+- rm -f $(foreach v,$(abi-variants),$(@:.h=.d)-t$(v))
+- mv -f $(@:.h=.d)-t3 $(@:.h=.d)
+-else
+- mv -f $(@:.h=.d)-t $(@:.h=.d)
+-endif
+-
+-ifndef no_deps
+-# Get the generated list of dependencies (probably /usr/include/asm/unistd.h).
+--include $(objpfx)bits/syscall.d
+-endif
+-generated += bits/syscall.h bits/syscall.d
+-endif
++ $(AWK) -f $^ > $@-tmp
++ $(move-if-change) $@-tmp $@
++
++# All macros defined by . Include
++# explicitly because skips it if _LIBC is defined.
++$(objpfx)tst-syscall-list-macros.list: \
++ $(objpfx)bits/syscall.h ../sysdeps/unix/sysv/linux/sys/syscall.h
++ printf '#include \n#include \n' | \
++ $(CC) -E -o $@-tmp $(CFLAGS) $(CPPFLAGS) -x c - -dM
++ $(move-if-change) $@-tmp $@
++
++# __NR_* system call names. Used by the test below.
++$(objpfx)tst-syscall-list-nr.list: \
++ ../sysdeps/unix/sysv/linux/filter-nr-syscalls.awk \
++ $(objpfx)tst-syscall-list-macros.list
++ $(AWK) -f $^ > $@-tmp
++ $(move-if-change) $@-tmp $@
++
++# SYS_* system call names. Used by the test below.
++$(objpfx)tst-syscall-list-sys.list: $(objpfx)tst-syscall-list-macros.list
++ $(AWK) '/^#define SYS_/ { print substr($$2, 5) }' $< > $@-tmp
++ $(move-if-change) $@-tmp $@
++
++tests: $(objpfx)tst-syscall-list.out
++$(objpfx)tst-syscall-list.out: \
++ ../sysdeps/unix/sysv/linux/tst-syscall-list.sh \
++ $(objpfx)tst-syscall-list-nr.list $(objpfx)tst-syscall-list-sys.list
++ $(BASH) $^ > $@
++
++endif # $(subdir) == misc
+
+ ifeq ($(subdir),time)
+ sysdep_headers += sys/timex.h bits/timex.h
+diff --git a/sysdeps/unix/sysv/linux/filter-nr-syscalls.awk b/sysdeps/unix/sysv/linux/filter-nr-syscalls.awk
+new file mode 100644
+index 00000000..15b052a9
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/filter-nr-syscalls.awk
+@@ -0,0 +1,35 @@
++# Filter preprocessor __NR_* macros and extract system call names.
++# Copyright (C) 2017 Free Software Foundation, Inc.
++# This file is part of the GNU C Library.
++#
++# The GNU C Library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Lesser General Public
++# License as published by the Free Software Foundation; either
++# version 2.1 of the License, or (at your option) any later version.
++#
++# The GNU C Library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Lesser General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public
++# License along with the GNU C Library; if not, see
++# .
++
++# Skip reserved system calls.
++/^#define __NR_(unused|reserved)[0-9]+ / {
++ next;
++}
++
++# Skip pseudo-system calls which describe ranges.
++/^#define __NR_(syscalls|arch_specific_syscall|(OABI_)?SYSCALL_BASE) / {
++ next;
++}
++/^#define __NR_(|64_|[NO]32_)Linux(_syscalls)? / {
++ next;
++}
++
++# Print the remaining _NR_* macros as system call names.
++/^#define __NR_/ {
++ print substr($2, 6);
++}
+diff --git a/sysdeps/unix/sysv/linux/gen-syscall-h.awk b/sysdeps/unix/sysv/linux/gen-syscall-h.awk
+new file mode 100644
+index 00000000..0a27b3cc
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/gen-syscall-h.awk
+@@ -0,0 +1,75 @@
++# Generate SYS_* macros from a list in a text file.
++# Copyright (C) 2017 Free Software Foundation, Inc.
++# This file is part of the GNU C Library.
++#
++# The GNU C Library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Lesser General Public
++# License as published by the Free Software Foundation; either
++# version 2.1 of the License, or (at your option) any later version.
++#
++# The GNU C Library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Lesser General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public
++# License along with the GNU C Library; if not, see
++# .
++
++# Emit a conditional definition for SYS_NAME.
++function emit(name) {
++ print "#ifdef __NR_" name;
++ print "# define SYS_" name " __NR_" name;
++ print "#endif";
++ print "";
++}
++
++# Bail out with an error.
++function fatal(message) {
++ print FILENAME ":" FNR ": " message > "/dev/stderr";
++ exit 1;
++}
++
++BEGIN {
++ name = "";
++ kernel = "";
++}
++
++# Skip empty lines and comments.
++/^\s*(|#.*)$/ {
++ next;
++}
++
++# Kernel version. Used for documentation purposes only.
++/^kernel [0-9.]+$/ {
++ if (kernel != "") {
++ fatal("duplicate kernel directive");
++ }
++ kernel = $2;
++ print "/* Generated at libc build time from syscall list. */";
++ print "/* The system call list corresponds to kernel " kernel ". */";
++ print "";
++ print "#ifndef _SYSCALL_H"
++ print "# error \"Never use directly; include instead.\"";
++ print "#endif";
++ print "";
++ next;
++}
++
++# If there is just one word, it is a system call.
++/^[a-zA-Z_][a-zA-Z0-9_]+$/ {
++ if (kernel == "") {
++ fatal("expected kernel directive before this line");
++ }
++ if ($1 <= name) {
++ fatal("name " name " violates ordering");
++ }
++ emit($1);
++ name = $1;
++ next;
++}
++
++# The rest has to be syntax errors.
++// {
++ fatal("unrecognized syntax");
++}
+diff --git a/sysdeps/unix/sysv/linux/tst-syscall-list.sh b/sysdeps/unix/sysv/linux/tst-syscall-list.sh
+new file mode 100644
+index 00000000..f48b7cd6
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/tst-syscall-list.sh
+@@ -0,0 +1,72 @@
++#!/bin/bash
++# Consistency checks for the system call list
++# Copyright (C) 2017 Free Software Foundation, Inc.
++# This file is part of the GNU C Library.
++#
++# The GNU C Library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Lesser General Public
++# License as published by the Free Software Foundation; either
++# version 2.1 of the License, or (at your option) any later version.
++#
++# The GNU C Library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Lesser General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public
++# License along with the GNU C Library; if not, see
++# .
++
++export LC_ALL=C
++set -e
++set -o pipefail
++
++if test $# != 2 ; then
++ echo "error: wrong number of arguments: $#"
++ exit 1
++fi
++
++list_nr="$1"
++list_sys="$2"
++
++errors=0
++
++# Use getpid as a system call which is expected to be always defined.
++# alpha uses getxpid instead, so it is permitted as an alternative.
++if ! grep -E -q '^getx?pid$' -- "$list_nr" ; then
++ echo "error: __NR_getpid not defined"
++ errors=1
++fi
++if ! grep -E -q '^getx?pid$' -- "$list_sys" ; then
++ echo "error: SYS_getpid not defined"
++ errors=1
++fi
++
++comm_1="$(mktemp)"
++comm_2="$(mktemp)"
++comm_result="$(mktemp)"
++cleanup () {
++ rm -f -- "$comm_1" "$comm_2" "$comm_result"
++}
++trap cleanup 0
++
++sort -o "$comm_1" -- "$list_nr"
++sort -o "$comm_2" -- "$list_sys"
++
++# Check for missing SYS_* macros.
++comm --check-order -2 -3 -- "$comm_1" "$comm_2" > "$comm_result"
++if test -s "$comm_result"; then
++ echo "error: These system calls need to be added to syscall-names.list:"
++ cat -- "$comm_result"
++ errors=1
++fi
++
++# Check for additional SYS_* macros.
++comm --check-order -1 -3 -- "$comm_1" "$comm_2" > "$comm_result"
++if test -s "$comm_result"; then
++ echo "error: The following system calls have unexpected SYS_* macros:"
++ cat -- "$comm_result"
++ errors=1
++fi
++
++exit "$errors"
diff --git a/glibc.spec b/glibc.spec
index 8180b75..890e451 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.26-159-g80f91666fe
%define glibcversion 2.26.90
-%define glibcrelease 9%{?dist}
+%define glibcrelease 10%{?dist}
# Pre-release tarballs are pulled in from git using a command that is
# effectively:
#
@@ -261,6 +261,8 @@ Patch2037: glibc-rh1315108.patch
Patch2112: glibc-rh1315476-2.patch
Patch2114: glibc-rh1470060.patch
+Patch2115: glibc-rh1484729.patch
+Patch2116: glibc-rh1484729-syscall-names.patch
##############################################################################
# End of glibc patches.
@@ -749,6 +751,8 @@ microbenchmark tests on the system.
%patch2037 -p1
%patch2112 -p1
%patch2114 -p1
+%patch2115 -p1
+%patch2116 -p1
%patch0061 -p1
##############################################################################
@@ -2081,6 +2085,9 @@ fi
%endif
%changelog
+* Thu Aug 24 2017 Florian Weimer - 2.26.90-10
+- Use an architecture-independent system call list (#1484729)
+
* Tue Aug 22 2017 Florian Weimer - 2.26.90-9
- Auto-sync with upstream master,
commit 80f91666fed71fa3dd5eb5618739147cc731bc89.