From: chrubis@suse.cz
To: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
Cc: vasily.isaenko@oracle.com, ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH 4/4] rt_sigaction*, rt_sigprocmask01, rt_sigsuspend01: SPARC support
Date: Mon, 12 May 2014 15:08:56 +0200 [thread overview]
Message-ID: <20140512130856.GB4741@rei> (raw)
In-Reply-To: <1399540004-14742-5-git-send-email-stanislav.kholmanskikh@oracle.com>
Hi!
> Added SPARC support for tests:
> * rt_sigaction01, rt_sigaction02, rt_sigaction03
> * rt_sigprocmask01
> * rt_sigsuspend01
>
> Author: Jose E. Marchesi <jose.marchesi@oracle.com>
> Co-author: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
>
> Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
> ---
> include/ltp_signal.h | 39 +++++++++++++++++++-
> .../kernel/syscalls/rt_sigaction/rt_sigaction01.c | 32 ++++++++++++++---
> .../kernel/syscalls/rt_sigaction/rt_sigaction02.c | 13 ++++++-
> .../kernel/syscalls/rt_sigaction/rt_sigaction03.c | 28 ++++++++++++++
> .../syscalls/rt_sigprocmask/rt_sigprocmask01.c | 24 +++++++++++-
> .../syscalls/rt_sigsuspend/rt_sigsuspend01.c | 24 ++++++++++--
> 6 files changed, 147 insertions(+), 13 deletions(-)
>
> diff --git a/include/ltp_signal.h b/include/ltp_signal.h
> index e6fb2e0..c050894 100644
> --- a/include/ltp_signal.h
> +++ b/include/ltp_signal.h
> @@ -1,6 +1,7 @@
> /*
> * Copyright (c) 2009 Cisco Systems, Inc. All Rights Reserved.
> * Copyright (c) 2009 FUJITSU LIMITED. All Rights Reserved.
> + * Copyright (c) 2014 Oracle and/or its affiliates. All Rights Reserved.
> *
> * This program is free software; you can redistribute it and/or modify it
> * under the terms of version 2 of the GNU General Public License as
> @@ -77,6 +78,42 @@
> #define HAVE_SA_RESTORER
> #define SA_RESTORER 0x04000000
>
> +#endif /* __x86_64__ */
> +
> +#ifdef __sparc__
> +#if defined __arch64__ || defined __sparcv9
> +
> +/*
> + * From glibc/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
> + */
> +
> +static void __rt_sigreturn_stub(void)
> +{
> + __asm__ ("mov %0, %%g1\n\t"
> + "ta 0x6d\n\t"
> + : /* no outputs */
> + : "i" (__NR_rt_sigreturn));
> +}
> +
> +#else /* sparc32 */
> +
> +/*
> + * From glibc/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
> + */
> +
> +static void __sigreturn_stub(void)
> +{
> + __asm__ ("mov %0, %%g1\n\t"
> + "ta 0x10\n\t"
> + : /* no outputs */
> + : "i" (__NR_sigreturn));
> +}
> +
> +#endif
> +#endif /* __sparc__ */
Do you care to elaborate what are these used for? I can see that you
pass and addres to them to the sparc variant of the rt_sigaction
syscalls below however a line or two about why we do this in the commit
message wouldn't hurt.
> +#if defined __x86_64__ || defined __sparc__
> +
> struct kernel_sigaction {
> __sighandler_t k_sa_handler;
> unsigned long sa_flags;
> @@ -118,7 +155,7 @@ static inline int sig_initial(int sig)
>
> }
>
> -#endif /* __x86_64__ */
> +#endif /* __x86_64__ || __sparc__*/
>
> #endif /* LTP_RT_SIG_TEST */
>
> diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
> index 8f18394..2f8020e 100644
> --- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
> +++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
> @@ -1,5 +1,6 @@
> /******************************************************************************/
> /* Copyright (c) Crackerjack Project., 2007 */
> +/* Copyright (c) 2014 Oracle and/or its affiliates. All Rights Reserved. */
> /* */
> /* This program is free software; you can redistribute it and/or modify */
> /* it under the terms of the GNU General Public License as published by */
> @@ -127,21 +128,42 @@ void handler(int sig)
>
> int set_handler(int sig, int sig_to_mask, int mask_flags)
> {
> -#ifdef __x86_64__
> +#ifdef __sparc__
> + struct sigaction sa;
> + struct kernel_sigaction kact, koact;
> +# ifdef __arch64__
> + unsigned long stub = ((unsigned long) &__rt_sigreturn_stub) - 8;
> +# else
> + unsigned long stub = ((unsigned long) &__sigreturn_stub) - 8;
> +# endif
These ifdefs are repeated in the lines below over and over, can we put
them in a common header instead?
--
Cyril Hrubis
chrubis@suse.cz
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next prev parent reply other threads:[~2014-05-12 13:09 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-08 9:06 [LTP] SPARC fixes Stanislav Kholmanskikh
2014-05-08 9:06 ` [LTP] [PATCH 1/4] linux syscall numbers: fixed the checkings for SPARC Stanislav Kholmanskikh
2014-05-08 9:06 ` [LTP] [PATCH 2/4] linux syscall numbers: removed unimplemented syscalls for sparc64 Stanislav Kholmanskikh
2014-05-08 9:06 ` [LTP] [PATCH 3/4] syscalls: corrected the rest of __sparc64__ defines Stanislav Kholmanskikh
2014-05-12 12:59 ` chrubis
2014-05-13 6:20 ` [LTP] [PATCH 1/2] sendmsg, recvmsg: moved MSG_CMSG_COMPAT definition to a header Stanislav Kholmanskikh
2014-05-13 6:20 ` [LTP] [PATCH 2/2] msg_common.h: corrected __sparc64__ definition Stanislav Kholmanskikh
2014-05-15 12:30 ` chrubis
2014-05-08 9:06 ` [LTP] [PATCH 4/4] rt_sigaction*, rt_sigprocmask01, rt_sigsuspend01: SPARC support Stanislav Kholmanskikh
2014-05-12 13:08 ` chrubis [this message]
[not found] ` <5371C09F.7050205@oracle.com>
2014-05-13 11:39 ` chrubis
2014-05-20 12:24 ` [LTP] [RFC PATCH] A draft of the rt_sigaction syscall wrapper Stanislav Kholmanskikh
2014-05-20 14:42 ` chrubis
2014-05-21 10:24 ` [LTP] [PATCH 1/3] rt_sigaction, rt_sigprocmask, rt_sigsuspend: cleanup Stanislav Kholmanskikh
2014-05-21 10:24 ` [LTP] [PATCH 2/3] rt_sigaction, rt_sigprocmask01, rt_sigsuspend: use rt_sigaction wrapper Stanislav Kholmanskikh
2014-06-04 15:53 ` chrubis
2014-05-21 10:24 ` [LTP] [PATCH 3/3] ltp_rt_sigaction: added SPARC support Stanislav Kholmanskikh
2014-05-21 10:31 ` Stanislav Kholmanskikh
2014-06-04 15:49 ` chrubis
2014-06-17 9:08 ` [LTP] [PATCH V2 1/3] rt_sigaction, rt_sigprocmask, rt_sigsuspend: cleanup Stanislav Kholmanskikh
2014-06-17 9:08 ` [LTP] [PATCH V2 2/3] rt_sigaction, rt_sigprocmask01, rt_sigsuspend: use rt_sigaction wrapper Stanislav Kholmanskikh
2014-06-17 9:08 ` [LTP] [PATCH V2 3/3] ltp_rt_sigaction.h: added SPARC support Stanislav Kholmanskikh
2014-06-23 15:21 ` chrubis
2014-08-11 15:04 ` chrubis
[not found] ` <53E9C7B8.1040504@oracle.com>
2014-08-12 9:04 ` chrubis
[not found] ` <53E9F644.5000101@oracle.com>
2014-08-12 11:26 ` chrubis
2014-08-12 11:59 ` [LTP] [PATCH] rt_sigaction.h: define HAVE_SA_RESTORER for most platforms Stanislav Kholmanskikh
2014-08-12 12:24 ` chrubis
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=20140512130856.GB4741@rei \
--to=chrubis@suse.cz \
--cc=ltp-list@lists.sourceforge.net \
--cc=stanislav.kholmanskikh@oracle.com \
--cc=vasily.isaenko@oracle.com \
/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.