* [LTP] [PATCH] Define SYS_futex on 32bit arches using 64-bit time_t
@ 2020-11-16 0:33 Khem Raj
2020-11-16 7:08 ` Petr Vorel
0 siblings, 1 reply; 6+ messages in thread
From: Khem Raj @ 2020-11-16 0:33 UTC (permalink / raw)
To: ltp
Newer 32bit arches like RISCV32 and ARC are using 64bit time_t
from get go unlike other 32bit architecture therefore aliasing __NR_futex to
__NR_futex_time64 helps avoid the below errors
tst_checkpoint.c:99:17: error: use of undeclared identifier 'SYS_futex'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
lib/tst_checkpoint.c | 4 ++++
testcases/kernel/syscalls/clone/clone08.c | 4 ++++
testcases/kernel/syscalls/futex/futextest.h | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/lib/tst_checkpoint.c b/lib/tst_checkpoint.c
index 5e5b11496c..80e82c13f4 100644
--- a/lib/tst_checkpoint.c
+++ b/lib/tst_checkpoint.c
@@ -31,6 +31,10 @@
#include "safe_macros.h"
#include "lapi/futex.h"
+#if !defined(SYS_futex) && defined(SYS_futex_time64)
+#define SYS_futex SYS_futex_time64
+#endif
+
#define DEFAULT_MSEC_TIMEOUT 10000
futex_t *tst_futexes;
diff --git a/testcases/kernel/syscalls/clone/clone08.c b/testcases/kernel/syscalls/clone/clone08.c
index 8e115b0421..aaaff94aa0 100644
--- a/testcases/kernel/syscalls/clone/clone08.c
+++ b/testcases/kernel/syscalls/clone/clone08.c
@@ -17,6 +17,10 @@
#include "clone_platform.h"
#include "lapi/syscalls.h"
+#if !defined(SYS_futex) && defined(SYS_futex_time64)
+#define SYS_futex SYS_futex_time64
+#endif
+
static pid_t ptid, ctid, tgid;
static void *child_stack;
diff --git a/testcases/kernel/syscalls/futex/futextest.h b/testcases/kernel/syscalls/futex/futextest.h
index c50876fa67..06e2275d55 100644
--- a/testcases/kernel/syscalls/futex/futextest.h
+++ b/testcases/kernel/syscalls/futex/futextest.h
@@ -20,6 +20,10 @@
#include "lapi/futex.h"
#include "tst_timer.h"
+#if !defined(SYS_futex) && defined(SYS_futex_time64)
+#define SYS_futex SYS_futex_time64
+#endif
+
#define FUTEX_INITIALIZER 0
#ifndef FUTEX_CMP_REQUEUE
--
2.29.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [LTP] [PATCH] Define SYS_futex on 32bit arches using 64-bit time_t
2020-11-16 0:33 [LTP] [PATCH] Define SYS_futex on 32bit arches using 64-bit time_t Khem Raj
@ 2020-11-16 7:08 ` Petr Vorel
2020-11-16 16:07 ` Khem Raj
0 siblings, 1 reply; 6+ messages in thread
From: Petr Vorel @ 2020-11-16 7:08 UTC (permalink / raw)
To: ltp
Hi Khem,
> Newer 32bit arches like RISCV32 and ARC are using 64bit time_t
> from get go unlike other 32bit architecture therefore aliasing __NR_futex to
> __NR_futex_time64 helps avoid the below errors
> tst_checkpoint.c:99:17: error: use of undeclared identifier 'SYS_futex'
Thanks for your fix.
I wonder if this could be defined just in include/lapi/futex.h and this:
https://github.com/pevik/ltp/commit/a20107ab47554798e0de0347dd4d7259f01675af
Kind regards,
Petr
^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH] Define SYS_futex on 32bit arches using 64-bit time_t
2020-11-16 7:08 ` Petr Vorel
@ 2020-11-16 16:07 ` Khem Raj
2020-11-16 17:03 ` Petr Vorel
0 siblings, 1 reply; 6+ messages in thread
From: Khem Raj @ 2020-11-16 16:07 UTC (permalink / raw)
To: ltp
On Sun, Nov 15, 2020 at 11:08 PM Petr Vorel <pvorel@suse.cz> wrote:
> Hi Khem,
>
> > Newer 32bit arches like RISCV32 and ARC are using 64bit time_t
> > from get go unlike other 32bit architecture therefore aliasing
> __NR_futex to
> > __NR_futex_time64 helps avoid the below errors
>
> > tst_checkpoint.c:99:17: error: use of undeclared identifier 'SYS_futex'
>
> Thanks for your fix.
>
> I wonder if this could be defined just in include/lapi/futex.h and this:
>
>
> https://github.com/pevik/ltp/commit/a20107ab47554798e0de0347dd4d7259f01675af
>
It could be but it did not work everywhere when I tried it I guess this
header has to be included in all needed placed
>
> Kind regards,
> Petr
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.it/pipermail/ltp/attachments/20201116/f1bcac3f/attachment.htm>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH] Define SYS_futex on 32bit arches using 64-bit time_t
2020-11-16 16:07 ` Khem Raj
@ 2020-11-16 17:03 ` Petr Vorel
2020-11-16 18:03 ` Khem Raj
0 siblings, 1 reply; 6+ messages in thread
From: Petr Vorel @ 2020-11-16 17:03 UTC (permalink / raw)
To: ltp
Hi Khem,
> On Sun, Nov 15, 2020 at 11:08 PM Petr Vorel <pvorel@suse.cz> wrote:
> > Hi Khem,
> > > Newer 32bit arches like RISCV32 and ARC are using 64bit time_t
> > > from get go unlike other 32bit architecture therefore aliasing
> > __NR_futex to
> > > __NR_futex_time64 helps avoid the below errors
> > > tst_checkpoint.c:99:17: error: use of undeclared identifier 'SYS_futex'
> > Thanks for your fix.
> > I wonder if this could be defined just in include/lapi/futex.h and this:
> > https://github.com/pevik/ltp/commit/a20107ab47554798e0de0347dd4d7259f01675af
> It could be but it did not work everywhere when I tried it I guess this
> header has to be included in all needed placed
Sure, but that's done :)
You put the changes into 3 files:
lib/tst_checkpoint.c
testcases/kernel/syscalls/clone/clone08.c
testcases/kernel/syscalls/futex/futextest.h
Check the affected files:
I put changes into include/lapi/futex.h
and load it in
testcases/kernel/syscalls/clone/clone08.c
The other two (testcases/kernel/syscalls/clone/clone08.c
testcases/kernel/syscalls/futex/futextest.h) already include lapi/futex.h.
Are you sure it's failing when you try my patchset?
Kind regards,
Petr
^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH] Define SYS_futex on 32bit arches using 64-bit time_t
2020-11-16 17:03 ` Petr Vorel
@ 2020-11-16 18:03 ` Khem Raj
2020-11-16 18:19 ` Petr Vorel
0 siblings, 1 reply; 6+ messages in thread
From: Khem Raj @ 2020-11-16 18:03 UTC (permalink / raw)
To: ltp
On Mon, Nov 16, 2020 at 9:03 AM Petr Vorel <petr.vorel@gmail.com> wrote:
>
> Hi Khem,
>
> > On Sun, Nov 15, 2020 at 11:08 PM Petr Vorel <pvorel@suse.cz> wrote:
>
> > > Hi Khem,
>
> > > > Newer 32bit arches like RISCV32 and ARC are using 64bit time_t
> > > > from get go unlike other 32bit architecture therefore aliasing
> > > __NR_futex to
> > > > __NR_futex_time64 helps avoid the below errors
>
> > > > tst_checkpoint.c:99:17: error: use of undeclared identifier 'SYS_futex'
>
> > > Thanks for your fix.
>
> > > I wonder if this could be defined just in include/lapi/futex.h and this:
>
>
> > > https://github.com/pevik/ltp/commit/a20107ab47554798e0de0347dd4d7259f01675af
>
>
> > It could be but it did not work everywhere when I tried it I guess this
> > header has to be included in all needed placed
>
> Sure, but that's done :)
>
> You put the changes into 3 files:
> lib/tst_checkpoint.c
> testcases/kernel/syscalls/clone/clone08.c
> testcases/kernel/syscalls/futex/futextest.h
>
> Check the affected files:
>
> I put changes into include/lapi/futex.h
> and load it in
> testcases/kernel/syscalls/clone/clone08.c
>
> The other two (testcases/kernel/syscalls/clone/clone08.c
> testcases/kernel/syscalls/futex/futextest.h) already include lapi/futex.h.
>
> Are you sure it's failing when you try my patchset?
>
I tested https://github.com/pevik/ltp/commit/a20107ab47554798e0de0347dd4d7259f01675af
and it works fine. So please use this one.
> Kind regards,
> Petr
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-11-16 18:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-16 0:33 [LTP] [PATCH] Define SYS_futex on 32bit arches using 64-bit time_t Khem Raj
2020-11-16 7:08 ` Petr Vorel
2020-11-16 16:07 ` Khem Raj
2020-11-16 17:03 ` Petr Vorel
2020-11-16 18:03 ` Khem Raj
2020-11-16 18:19 ` Petr Vorel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox