public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [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

* [LTP] [PATCH] Define SYS_futex on 32bit arches using 64-bit time_t
  2020-11-16 18:03       ` Khem Raj
@ 2020-11-16 18:19         ` Petr Vorel
  0 siblings, 0 replies; 6+ messages in thread
From: Petr Vorel @ 2020-11-16 18:19 UTC (permalink / raw)
  To: ltp

Hi Khem,

...
> I tested https://github.com/pevik/ltp/commit/a20107ab47554798e0de0347dd4d7259f01675af
> and it works fine. So please use this one.

Thanks for a confirmation, merged.

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