From: Szabolcs Nagy <nsz@port70.net>
To: 王洪亮 <wanghongliang@loongson.cn>
Cc: musl@lists.openwall.com
Subject: Re: [musl] add loongarch64 port v7.
Date: Tue, 18 Apr 2023 11:38:44 +0200 [thread overview]
Message-ID: <20230418093844.GP3630668@port70.net> (raw)
In-Reply-To: <a5e11238-0da1-7ce2-c61b-11980a430f1d@loongson.cn>
* 王洪亮 <wanghongliang@loongson.cn> [2023-04-18 09:28:49 +0800]:
> +++ b/arch/loongarch64/bits/signal.h
> @@ -6,14 +6,27 @@
> #define SIGSTKSZ 16384
> #endif
>
> +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
> typedef unsigned long greg_t, gregset_t[32];
>
> -typedef struct sigcontext {
> +struct sigcontext {
> unsigned long sc_pc;
> - gregset_t sc_regs;
> - unsigned int sc_flags;
> - unsigned long sc_extcontext[];
> + unsigned long sc_regs[32];
> + unsigned int sc_flags;
> + unsigned long sc_extcontext[] __attribute__((__aligned__(16)));
> +};
this looks good. (i don't know if this is really
needed in signal.h, but other targets have it too)
> +
> +typedef struct {
> + unsigned long __pc;
> + unsigned long __gregs[32];
> + unsigned int __flags;
> + unsigned long __extcontext[] __attribute__((__aligned__(16)));
> } mcontext_t;
i would use the same struct tag as glibc so
typedef struct mcontext_t { ...
(we don't need c++ abi compat with glibc, but
it's nicer to be consistent)
> +#else
> +typedef struct {
> + unsigned long __space[34];
> +} mcontext_t;
i would add the aligned attribute here.
(it's more important to match the kernel layout than to
avoid c extensions in standard mode: loongarch c compilers
will all support the aligned attribute in system headers)
> +#endif
>
> struct sigaltstack {
> void *ss_sp;
> @@ -23,11 +36,10 @@ struct sigaltstack {
>
> typedef struct __ucontext
> {
> - unsigned long uc_flags;
> + unsigned long __uc_flags;
> struct __ucontext *uc_link;
> stack_t uc_stack;
> sigset_t uc_sigmask;
> - long __uc_pad;
> mcontext_t uc_mcontext;
> } ucontext_t;
looks good.
(the only issue is if some code uses uc_flags in an
arch independent way. i don't know if there is any
use for it on linux. but we can fix that later on
both glibc and musl side if it comes up.)
next prev parent reply other threads:[~2023-04-18 9:47 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-18 1:28 王洪亮
2023-04-18 9:38 ` Szabolcs Nagy [this message]
2023-04-18 10:47 ` Szabolcs Nagy
2023-04-18 11:32 ` 王洪亮
2023-05-10 3:36 ` 王洪亮
2023-06-01 12:44 ` wanghongliang
2023-06-25 3:43 ` Hongliang Wang
2023-07-19 6:55 ` Hongliang Wang
2023-08-05 6:18 ` 翟小娟
2023-08-05 15:43 ` Rich Felker
2023-08-13 1:41 ` Rich Felker
2023-08-15 9:24 ` Hongliang Wang
2023-08-15 9:32 ` alice
2023-08-25 9:27 ` 翟小娟
[not found] ` <99d954ca-faee-2cac-97af-7fc2ecdb9a89@loongson.cn>
2023-09-20 7:45 ` Jianmin Lv
2023-09-20 13:16 ` Szabolcs Nagy
2023-09-22 1:37 ` Hongliang Wang
2023-09-26 3:28 ` [musl] add loongarch64 port v8 Hongliang Wang
2023-10-08 3:05 ` 花静云
2023-11-09 13:15 ` Jingyun Hua
2023-11-14 13:16 ` Jingyun Hua
2023-11-16 2:54 ` [musl] add loongarch64 port v9 Hongliang Wang
2023-11-16 16:10 ` Rich Felker
2023-11-17 7:20 ` Hongliang Wang
2023-11-17 17:25 ` Rich Felker
2023-11-18 4:19 ` Jingyun Hua
2023-11-20 6:11 ` Hongliang Wang
2023-12-08 8:23 ` [musl] Re:[musl] add loongarch64 port v8 Hongliang Wang
2023-12-18 7:44 ` Jingyun Hua
2024-01-29 1:26 ` [musl] " Hongliang Wang
2024-01-29 3:14 ` Rich Felker
2024-01-29 7:37 ` Hongliang Wang
2023-11-16 16:44 ` [musl] add loongarch64 port v9 Szabolcs Nagy
2023-11-16 17:18 ` Szabolcs Nagy
2023-11-17 7:19 ` Hongliang Wang
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=20230418093844.GP3630668@port70.net \
--to=nsz@port70.net \
--cc=musl@lists.openwall.com \
--cc=wanghongliang@loongson.cn \
/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.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).