about summary refs log tree commit diff
path: root/time/Makefile
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-06-16 11:12:25 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-06-22 12:09:52 -0300
commit6d97330d7acc47898b3a2bf4c8588d4bd7114269 (patch)
treef4a810ada7ed9cd26e6b9d7ac0b273b423112594 /time/Makefile
parentb769b0a2cbe469a42641e52f52484e18575b7f67 (diff)
downloadglibc-6d97330d7acc47898b3a2bf4c8588d4bd7114269.tar.gz
glibc-6d97330d7acc47898b3a2bf4c8588d4bd7114269.tar.xz
glibc-6d97330d7acc47898b3a2bf4c8588d4bd7114269.zip
linux: Only use 64-bit syscall if required for clock_nanosleep
For !__ASSUME_TIME64_SYSCALLS there is no need to issue a 64-bit syscall
if the provided timeout fits in a 32-bit one.  The 64-bit usage should
be rare since the timeout is a relative one.

Checked on i686-linux-gnu on a 4.15 kernel and on a 5.11 kernel
(with and without --enable-kernel=5.1) and on x86_64-linux-gnu.

Reviewed-by: Lukasz Majewski <lukma@denx.de>
Diffstat (limited to 'time/Makefile')
-rw-r--r--time/Makefile9
1 files changed, 9 insertions, 0 deletions
diff --git a/time/Makefile b/time/Makefile
index c84bd5d3ec..0bea84966c 100644
--- a/time/Makefile
+++ b/time/Makefile
@@ -86,6 +86,15 @@ $(objpfx)tst-strftime2.out: $(gen-locales)
 $(objpfx)tst-strftime3.out: $(gen-locales)
 endif
 
+ifeq (yes,$(build-shared))
+librt = $(common-objpfx)rt/librt.so
+else
+librt = $(common-objpfx)rt/librt.a
+endif
+
+$(objpfx)tst-clock_nanosleep: $(librt)
+$(objpfx)tst-clock_nanosleep-time64: $(librt)
+
 tz-cflags = -DTZDIR='"$(zonedir)"' \
 	    -DTZDEFAULT='"$(localtime-file)"' \
 	    -DTZDEFRULES='"$(posixrules-file)"'