From: Vineet Gupta <Vineet.Gupta1@synopsys.com>
To: libc-alpha@sourceware.org
Cc: Stepan Golosunov <stepan@golosunov.pp.ru>,
Vineet Gupta <Vineet.Gupta1@synopsys.com>,
linux-snps-arc@lists.infradead.org,
Alistair Francis <alistair.francis@wdc.com>
Subject: [PATCH v3] Make any 32-bit time based syscalls unavailable for TIMESIZE==64
Date: Tue, 31 Mar 2020 14:47:17 -0700 [thread overview]
Message-ID: <20200331214717.23902-1-vgupta@synopsys.com> (raw)
In-Reply-To: <20200312183325.594-1-vgupta@synopsys.com>
From: Vineet Gupta via Libc-alpha <libc-alpha@sourceware.org>
An older asm-generic syscall ABI may have kernel provide 32-bit
time syscalls, so undef them to not mix 32/64 in 64-bit time regime.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
Changes since v2
- Made x32 safe
Changes since v1
- don't redirect these to 64-bit variants
---
sysdeps/unix/sysv/linux/generic/sysdep.h | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/sysdeps/unix/sysv/linux/generic/sysdep.h b/sysdeps/unix/sysv/linux/generic/sysdep.h
index 40b4b955ca1b..b83e17e1c9d1 100644
--- a/sysdeps/unix/sysv/linux/generic/sysdep.h
+++ b/sysdeps/unix/sysv/linux/generic/sysdep.h
@@ -17,6 +17,7 @@
<https://www.gnu.org/licenses/>. */
#include <bits/wordsize.h>
+#include <bits/timesize.h>
#include <kernel-features.h>
#include <sysdeps/unix/sysdep.h>
#include <sysdeps/unix/sysv/linux/sysdep.h>
@@ -25,3 +26,26 @@
#ifdef __NR_llseek
# define __NR__llseek __NR_llseek
#endif
+
+#if (__TIMESIZE == 64 && __WORDSIZE == 32 \
+ && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
+
+/* Don't provide 32-bit time syscalls even if the kernel ABI provides
+ them (Older variants of asm-generic ABIs e.g. ARC). */
+
+# undef __NR_futex
+# undef __NR_rt_sigtimedwait
+# undef __NR_ppoll
+# undef __NR_utimensat
+# undef __NR_pselect6
+# undef __NR_recvmmsg
+# undef __NR_semtimedop
+# undef __NR_mq_timedreceive
+# undef __NR_mq_timedsend
+# undef __NR_clock_getres
+# undef __NR_timerfd_settime
+# undef __NR_timerfd_gettime
+# undef __NR_sched_rr_get_interval
+# undef __NR_clock_adjtime
+
+#endif
--
2.20.1
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
next prev parent reply other threads:[~2020-03-31 21:47 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-24 18:34 [PATCH] Force 64-bit time based syscalls for TIMESIZE==64 on 32-bit arches Vineet Gupta
2020-02-25 0:59 ` Alistair Francis
2020-02-25 1:16 ` Vineet Gupta
2020-02-25 9:27 ` Florian Weimer
2020-03-11 18:44 ` Vineet Gupta
2020-03-12 18:33 ` [PATCH v2] Force 64-bit time based syscalls for TIMESIZE==64 Vineet Gupta
2020-03-31 21:47 ` Vineet Gupta [this message]
2020-04-06 18:54 ` [PATCH v3] Make any 32-bit time based syscalls unavailable " Vineet Gupta
2020-04-13 21:12 ` Vineet Gupta
2020-04-18 0:28 ` Vineet Gupta
2020-04-18 16:50 ` Florian Weimer
2020-04-22 23:01 ` Vineet Gupta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200331214717.23902-1-vgupta@synopsys.com \
--to=vineet.gupta1@synopsys.com \
--cc=alistair.francis@wdc.com \
--cc=libc-alpha@sourceware.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=stepan@golosunov.pp.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.