From 2dba5ce7b8115d6a2789bf279892263621088e74 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 28 Aug 2017 11:31:23 +0200 Subject: : 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, 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. --- ChangeLog | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 6dbf10cd8f..5677c5eb46 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +2017-08-28 Florian Weimer + + Store supported list of SYS_* system calls in the source tree. + * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] + (bits/syscall.h): Generate from list file. + [$(subdir) = misc] (before-compile): Add bits/syscall.h. + [$(subdir) = misc] (tests): Add tst-syscall-list. + [$(subdir) = misc] (tests-special): Add tst-syscall-list.out + [$(subdir) = misc] (tst-syscall-list-macros.list) + [$(subdir) = misc] (tst-syscall-list-nr.list) + (tst-syscall-list-sys.list): Helper targets for new + tst-syscall-list test. + [$(subdir) = misc] (tst-syscall-list.out): Run test script + tst-syscall-list.sh. + [$(subdir) = misc] (bits/syscall%h, bits/syscall%d): Remove + target. Do not include bits/syscall.d. + [$(subdir) = misc] (generated): Do not update. + * sysdeps/unix/sysv/linux/syscall-names.list: New file. + * sysdeps/unix/sysv/linux/gen-syscall-h.awk: Likewise. + * sysdeps/unix/sysv/linux/filter-nr-syscalls.awk: Likewise. + * sysdeps/unix/sysv/linux/tst-syscall-list.sh: Likewise. + 2017-08-27 Paul Pluzhnikov * stdlib/Makefile (tst-atexit, tst-at_quick_exit): New tests. -- cgit v1.2.3-70-g09d2