summaryrefslogtreecommitdiff
path: root/arch/or1k/bits/syscall.h.in
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2020-01-30 11:25:07 -0500
committerRich Felker <dalias@aerifal.cx>2020-01-30 11:25:07 -0500
commit5a105f19b5aae79dd302899e634b6b18b3dcd0d6 (patch)
treeb96bcfdc32cdbf4a16eaf1fea74e4c52bffd52ba /arch/or1k/bits/syscall.h.in
parente6093b5a870a38ebfb3e54382acd48c698bde15d (diff)
downloadmusl-5a105f19b5aae79dd302899e634b6b18b3dcd0d6.tar.gz
remove legacy clock_gettime and gettimeofday from public syscall.h
some nontrivial number of applications have historically performed direct syscalls for these operations rather than using the public functions. such usage is invalid now that time_t is 64-bit and these syscalls no longer match the types they are used with, and it was already harmful before (by suppressing use of vdso). since syscall() has no type safety, incorrect usage of these syscalls can't be caught at compile-time. so, without manually inspecting or running additional tools to check sources, the risk of such errors slipping through is high. this patch renames the syscalls on 32-bit archs to clock_gettime32 and gettimeofday_time32, so that applications using the original names will fail to build without being fixed. note that there are a number of other syscalls that may also be unsafe to use directly after the time64 switchover, but (1) these are the main two that seem to be in widespread use, and (2) most of the others continue to have valid usage with a null timeval/timespec argument, as the argument is an optional timeout or similar.
Diffstat (limited to 'arch/or1k/bits/syscall.h.in')
-rw-r--r--arch/or1k/bits/syscall.h.in4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index eaa1a935..82d94b29 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -112,7 +112,7 @@
#define __NR_timer_settime 110
#define __NR_timer_delete 111
#define __NR_clock_settime 112
-#define __NR_clock_gettime 113
+#define __NR_clock_gettime32 113
#define __NR_clock_getres 114
#define __NR_clock_nanosleep 115
#define __NR_syslog 116
@@ -168,7 +168,7 @@
#define __NR_umask 166
#define __NR_prctl 167
#define __NR_getcpu 168
-#define __NR_gettimeofday 169
+#define __NR_gettimeofday_time32 169
#define __NR_settimeofday 170
#define __NR_adjtimex 171
#define __NR_getpid 172