From: Jan Stancek <jstancek@redhat.com>
To: "Zhang Jian(Bamvor)" <bamvor.zhangjian@huawei.com>
Cc: dingtianhong@huawei.com, ltp-list@lists.sourceforge.net,
bintian wang <bintian.wang@huawei.com>,
apinski@cavium.com, yangyingliang@huawei.com
Subject: Re: [LTP] [RFC PATCH 1/3] ARM64: ILP32: modify struct kernel_sigaction
Date: Thu, 19 Mar 2015 07:33:42 -0400 (EDT) [thread overview]
Message-ID: <1627971631.32976127.1426764822909.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <1426742198-17967-2-git-send-email-bamvor.zhangjian@huawei.com>
----- Original Message -----
> From: "Zhang Jian(Bamvor)" <bamvor.zhangjian@huawei.com>
> To: ltp-list@lists.sourceforge.net
> Cc: "bintian wang" <bintian.wang@huawei.com>, yangyingliang@huawei.com, apinski@cavium.com, dingtianhong@huawei.com
> Sent: Thursday, 19 March, 2015 6:16:36 AM
> Subject: [LTP] [RFC PATCH 1/3] ARM64: ILP32: modify struct kernel_sigaction
>
> From: Yang Yingliang <yangyingliang@huawei.com>
>
> In ILP32, the sigaction struct is the same as AARCH64.
> To allow for this to work, we use a long long fields and
> then add extra casts when converting between the user
> exposed struct and the kernel exposed struct.
> The modify is came from a patch of glibc,
> the commit is 9266f4b060f6("Add kernel_sigaction.h for AARCH64 ILP32").
>
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
> include/lapi/rt_sigaction.h | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/include/lapi/rt_sigaction.h b/include/lapi/rt_sigaction.h
> index 46f6a50..2b1365a 100644
> --- a/include/lapi/rt_sigaction.h
> +++ b/include/lapi/rt_sigaction.h
> @@ -34,9 +34,9 @@
> #define INVAL_SA_PTR ((void *)-1)
>
> struct kernel_sigaction {
> - __sighandler_t k_sa_handler;
> - unsigned long sa_flags;
> - void (*sa_restorer) (void);
> + unsigned long long k_sa_handler;
> + unsigned long long sa_flags;
> + unsigned long long sa_restorer;
Isn't this going to break i386? (long is 4, long long is 8).
Regards,
Jan
> sigset_t sa_mask;
> };
>
> @@ -159,7 +159,7 @@ static int ltp_rt_sigaction(int signum, const struct
> sigaction *act,
> if (act == INVAL_SA_PTR) {
> kact_p = INVAL_SA_PTR;
> } else if (act) {
> - kact.k_sa_handler = act->sa_handler;
> + kact.k_sa_handler = (unsigned long long)(uintptr_t)act->sa_handler;
> memcpy(&kact.sa_mask, &act->sa_mask, sizeof(sigset_t));
> kact.sa_flags = act->sa_flags;
> kact.sa_restorer = NULL;
> @@ -203,12 +203,12 @@ static int ltp_rt_sigaction(int signum, const struct
> sigaction *act,
>
> if (ret >= 0) {
> if (oact && (oact != INVAL_SA_PTR)) {
> - oact->sa_handler = koact.k_sa_handler;
> + oact->sa_handler = (void*)(uintptr_t)koact.k_sa_handler;
> memcpy(&oact->sa_mask, &koact.sa_mask,
> sizeof(sigset_t));
> oact->sa_flags = koact.sa_flags;
> #ifdef HAVE_SA_RESTORER
> - oact->sa_restorer = koact.sa_restorer;
> + oact->sa_restorer = (void*)(uintptr_t)koact.sa_restorer;
> #endif
> }
> }
> --
> 1.8.4.5
>
>
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Ltp-list mailing list
> Ltp-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ltp-list
>
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next parent reply other threads:[~2015-03-19 11:33 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1426742198-17967-1-git-send-email-bamvor.zhangjian@huawei.com>
[not found] ` <1426742198-17967-2-git-send-email-bamvor.zhangjian@huawei.com>
2015-03-19 11:33 ` Jan Stancek [this message]
2015-03-19 12:40 ` [LTP] [RFC PATCH 1/3] ARM64: ILP32: modify struct kernel_sigaction Jan Stancek
2015-03-19 15:18 ` Bamvor Zhang
[not found] ` <1426742198-17967-3-git-send-email-bamvor.zhangjian@huawei.com>
2015-03-19 11:49 ` [LTP] [RFC PATCH 2/3] ARM64: ILP32: cast for negtive off_t Cyril Hrubis
[not found] ` <18FC2E80-AF7B-408C-8863-B4FC532B5CD4@caviumnetworks.com>
2015-03-19 12:00 ` Cyril Hrubis
[not found] ` <1426742198-17967-4-git-send-email-bamvor.zhangjian@huawei.com>
2015-03-19 12:01 ` [LTP] [RFC PATCH 3/3] ARM64: ILP32: define LTP_USE_64_ABI for ILP32 Cyril Hrubis
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=1627971631.32976127.1426764822909.JavaMail.zimbra@redhat.com \
--to=jstancek@redhat.com \
--cc=apinski@cavium.com \
--cc=bamvor.zhangjian@huawei.com \
--cc=bintian.wang@huawei.com \
--cc=dingtianhong@huawei.com \
--cc=ltp-list@lists.sourceforge.net \
--cc=yangyingliang@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox