|
Message-ID: <968652d9-3780-0843-908e-f21bc93b6ee1@loongson.cn> Date: Wed, 19 Jul 2023 14:55:31 +0800 From: Hongliang Wang <wanghongliang@...ngson.cn> To: musl@...ts.openwall.com Subject: Re: add loongarch64 port v7. Hi Rich, I asked about the current situation of 0001-add-loongarch64-port-v7.patch in mailing list some times, but I haven't received any response from you. We very hope that LoongArch can be supported in musl as soon as possible and used by more people. So we urgently want to know the current review progress of this patch and what else do we need to do? Thank you for your attention, We're looking forward to your early reply. Best wishes, Hongliang Wang 在 2023/6/25 上午11:43, Hongliang Wang 写道: > > Friendly ping. > > 在 2023/6/1 下午8:44, wanghongliang 写道: >> Hi,Rich >> >> Is there anything else that needs to be modified in >> 0001-add-loongarch64-port-v7.patch? >> >> Looking forward to your reply. >> >> >> 在 2023/5/10 上午11:36, 王洪亮 写道: >>> 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@...ngson.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.)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.