From: 王洪亮 <wanghongliang@loongson.cn>
To: musl@lists.openwall.com
Subject: Re: [musl] add loongarch64 port v7.
Date: Wed, 10 May 2023 11:36:49 +0800 [thread overview]
Message-ID: <bb9b315e-1784-67e1-dc98-549da333f1fa@loongson.cn> (raw)
In-Reply-To: <0fd19586-376c-14ec-a50b-8c561f9f82f2@loongson.cn>
Hi, Rich
Is there anything else that needs to be modified in
0001-add-loongarch64-port-v7.patch?
在 2023/4/18 下午7:32, 王洪亮 写道:
>
> 在 2023/4/18 下午5:38, Szabolcs Nagy 写道:
>> * 王洪亮 <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)
> I understand there is no need for me to submit modifications,
> you help me modify it directly,right?
>>> +#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-05-10 3:37 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
2023-04-18 10:47 ` Szabolcs Nagy
2023-04-18 11:32 ` 王洪亮
2023-05-10 3:36 ` 王洪亮 [this message]
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=bb9b315e-1784-67e1-dc98-549da333f1fa@loongson.cn \
--to=wanghongliang@loongson.cn \
--cc=musl@lists.openwall.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.
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).