From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-4.5 required=5.0 tests=HTML_MESSAGE, MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 10408 invoked from network); 24 May 2022 09:08:49 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 24 May 2022 09:08:49 -0000 Received: (qmail 19699 invoked by uid 550); 24 May 2022 09:08:47 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 19664 invoked from network); 24 May 2022 09:08:46 -0000 From: =?UTF-8?B?546L5rSq5Lqu?= References: <20220516142704.GR7074@brightrain.aerifal.cx> <5fe467cd-4b68-2841-8aae-c485e7570267@loongson.cn> <20220521082246.GA20105@voyager> To: musl@lists.openwall.com Message-ID: <777071eb-d8c3-eb04-fef4-4f54d6016e8f@loongson.cn> Date: Tue, 24 May 2022 17:08:21 +0800 User-Agent: Mozilla/5.0 (X11; Linux loongarch64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20220521082246.GA20105@voyager> Content-Type: multipart/alternative; boundary="------------7DD8737A618FA6C05B1F0CAE" Content-Language: en-US X-CM-TRANSID:AQAAf9BxoNqFoIxiuAshAA--.41668S3 X-Coremail-Antispam: 1UD129KBjvJXoW7Aw4fKFy5Jr13Jw47Wr15urg_yoW5JFWxpF WYk3sFyFyDJFn5uw1qka1jgrW5u3s5J345Cw1DCw1jv3s8G3ZYgry0gr4a93W7Wrs2gr4Y vr1Yqa4Duwn0qaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUB2b7Iv0xC_Kw4lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Cr0_Gr1UM28EF7xvwVC2z280aVAFwI0_Cr1j6rxdM28EF7xvwV C2z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487McIj6xIIjxv2 0xvE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7 xvr2IY64vIr41lFcxC0VAYjxAxZF0Ew4CEw7xC0wCjr7xvwVCIw2I0I7xG6c02F41lc7I2 V7IY0VAS07AlzVAYIcxG8wCY02Avz4vE14v_GFWl42xK82IYc2Ij64vIr41l4I8I3I0E4I kC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUGVWUWwC20s026x8GjcxK67AKxVWUGVWU WwC2zVAF1VAY17CE14v26r1j6r15MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr 0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK8VAvwI8IcIk0rVWr Zr1j6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Jr0_Gr 1l6VACY4xI67k04243AbIYCTnIWIevJa73UjIFyTuYvjxUg5EfDUUUU X-CM-SenderInfo: pzdqwxxrqjzxhdqjqz5rrqw2lrqou0/ Subject: Re: [musl] add loongarch64 port v3 This is a multi-part message in MIME format. --------------7DD8737A618FA6C05B1F0CAE Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit 在 2022/5/21 下午4:22, Markus Wichmann 写道: >>> I'm also not clear on how >>> specifying the alignment here helps since any object created in a way >>> that the alignment would affect cannot have the FAM present. >>> >> the __aligned__(16)  here used to save 128bit vector later. > But it has no effect, right? The array member is offset an integer > multiple of sixteen bytes from the start of the structure, so it is > already aligned with respect to that, and the declaration adds no > further padding (and if it did, common style in both Linux and musl is > to explicate the padding). And the pointer to the structure comes from > the kernel. if no __aligned__(16),the struct sigcontext is 8 bytes align,even if the extcontext[] is offset an integer multiple of 16 bytes from the start of struct sigcontext,it can only ensure the extcontext[] is 8 bytes align. (just only when sigcontext is 16 bytes align, extcontext[] can meet 16 bytes align.) > The only thing this alignment directive does is raise the alignment > requirement of the structure up to sixteen, but that only possibly > matters for variables of the structure type, be they automatic or > program life time. But from here it is hard to see why the alignment > should matter in either of those cases, since those would only possibly > be local buffers of the kernel-provided mcontext. And the kernel > provides the mcontext already with all the alignment it needs. I am not > aware of any kernel API that receives a user provided mcontext. And even > if there was one, the kernel would have to copy it into kernel space > before doing anything with it, anyway. this not need kernel API, in kernel, if task has pending signal, kernel save context to ucontext(in user stack space), then return to userspace to signal handle, from the third parameter of signal_handler, user can access the ucontext and mcontext. libc and kernel access the same ucontext in user stack space. void signal_handler (int sig, siginfo_t *info, void *ctx) {         ucontext_t *uc = ctx; mcontext_t *mc = ctx->uc_mcontext; } > And, BTW, if the alignment really is needed on the mcontext_t itself, it > might be better to put the alignment tag on the type, not one of the > members. we need extcontext[] 16 bytes align for 128bit vector access, if put the alignment on mcontext_t itself,although it can also meet the 16 bytes align requirements of extcontext[] (the offset is an integer multiple of 16 bytes from the start of struct sigcontext),the meaning is not clear. > > Ciao, > Markus --------------7DD8737A618FA6C05B1F0CAE Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+CiAgPC9oZWFkPgogIDxib2R5Pgog ICAgPHA+PGJyPgogICAgPC9wPgogICAgPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij7l nKggMjAyMi81LzIxIOS4i+WNiDQ6MjIsIE1hcmt1cyBXaWNobWFubiDlhpnpgZM6PGJyPgog ICAgPC9kaXY+CiAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBjaXRlPSJtaWQ6MjAyMjA1 MjEwODIyNDYuR0EyMDEwNUB2b3lhZ2VyIj4KICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0 ZSI+CiAgICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+CiAgICAgICAgICA8cHJlIGNs YXNzPSJtb3otcXVvdGUtcHJlIiB3cmFwPSIiPkknbSBhbHNvIG5vdCBjbGVhciBvbiBob3cK c3BlY2lmeWluZyB0aGUgYWxpZ25tZW50IGhlcmUgaGVscHMgc2luY2UgYW55IG9iamVjdCBj cmVhdGVkIGluIGEgd2F5CnRoYXQgdGhlIGFsaWdubWVudCB3b3VsZCBhZmZlY3QgY2Fubm90 IGhhdmUgdGhlIEZBTSBwcmVzZW50LgoKPC9wcmU+CiAgICAgICAgPC9ibG9ja3F1b3RlPgog ICAgICAgIDxwcmUgY2xhc3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+dGhlIF9fYWxpZ25l ZF9fKDE2KcKgIGhlcmUgdXNlZCB0byBzYXZlIDEyOGJpdCB2ZWN0b3IgbGF0ZXIuCjwvcHJl PgogICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgIDxwcmUgY2xhc3M9Im1vei1xdW90ZS1wcmUi IHdyYXA9IiI+QnV0IGl0IGhhcyBubyBlZmZlY3QsIHJpZ2h0PyBUaGUgYXJyYXkgbWVtYmVy IGlzIG9mZnNldCBhbiBpbnRlZ2VyCm11bHRpcGxlIG9mIHNpeHRlZW4gYnl0ZXMgZnJvbSB0 aGUgc3RhcnQgb2YgdGhlIHN0cnVjdHVyZSwgc28gaXQgaXMKYWxyZWFkeSBhbGlnbmVkIHdp dGggcmVzcGVjdCB0byB0aGF0LCBhbmQgdGhlIGRlY2xhcmF0aW9uIGFkZHMgbm8KZnVydGhl ciBwYWRkaW5nIChhbmQgaWYgaXQgZGlkLCBjb21tb24gc3R5bGUgaW4gYm90aCBMaW51eCBh bmQgbXVzbCBpcwp0byBleHBsaWNhdGUgdGhlIHBhZGRpbmcpLiBBbmQgdGhlIHBvaW50ZXIg dG8gdGhlIHN0cnVjdHVyZSBjb21lcyBmcm9tCnRoZSBrZXJuZWwuPC9wcmU+CiAgICA8L2Js b2NrcXVvdGU+CiAgICA8cD5pZiBubyBfX2FsaWduZWRfXygxNiksdGhlIHN0cnVjdCBzaWdj b250ZXh0IGlzIDggYnl0ZXMgYWxpZ24sZXZlbgogICAgICBpZiB0aGUgZXh0Y29udGV4dFtd PC9wPgogICAgPHA+aXMgb2Zmc2V0IGFuIGludGVnZXIgbXVsdGlwbGUgb2YgMTYgYnl0ZXMg ZnJvbSB0aGUgc3RhcnQgb2YKICAgICAgc3RydWN0IHNpZ2NvbnRleHQsaXQgY2FuIG9ubHk8 L3A+CiAgICA8cD5lbnN1cmUgdGhlIGV4dGNvbnRleHRbXSBpcyA4IGJ5dGVzIGFsaWduLiAo anVzdCBvbmx5IHdoZW4KICAgICAgc2lnY29udGV4dCBpcyAxNiBieXRlcyBhbGlnbiw8L3A+ CiAgICA8cD5leHRjb250ZXh0W10gY2FuIG1lZXQgMTYgYnl0ZXMgYWxpZ24uKTwvcD4KICAg IDxwPjxicj4KICAgIDwvcD4KICAgIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNpdGU9Im1p ZDoyMDIyMDUyMTA4MjI0Ni5HQTIwMTA1QHZveWFnZXIiPgogICAgICA8cHJlIGNsYXNzPSJt b3otcXVvdGUtcHJlIiB3cmFwPSIiPgpUaGUgb25seSB0aGluZyB0aGlzIGFsaWdubWVudCBk aXJlY3RpdmUgZG9lcyBpcyByYWlzZSB0aGUgYWxpZ25tZW50CnJlcXVpcmVtZW50IG9mIHRo ZSBzdHJ1Y3R1cmUgdXAgdG8gc2l4dGVlbiwgYnV0IHRoYXQgb25seSBwb3NzaWJseQptYXR0 ZXJzIGZvciB2YXJpYWJsZXMgb2YgdGhlIHN0cnVjdHVyZSB0eXBlLCBiZSB0aGV5IGF1dG9t YXRpYyBvcgpwcm9ncmFtIGxpZmUgdGltZS4gQnV0IGZyb20gaGVyZSBpdCBpcyBoYXJkIHRv IHNlZSB3aHkgdGhlIGFsaWdubWVudApzaG91bGQgbWF0dGVyIGluIGVpdGhlciBvZiB0aG9z ZSBjYXNlcywgc2luY2UgdGhvc2Ugd291bGQgb25seSBwb3NzaWJseQpiZSBsb2NhbCBidWZm ZXJzIG9mIHRoZSBrZXJuZWwtcHJvdmlkZWQgbWNvbnRleHQuIEFuZCB0aGUga2VybmVsCnBy b3ZpZGVzIHRoZSBtY29udGV4dCBhbHJlYWR5IHdpdGggYWxsIHRoZSBhbGlnbm1lbnQgaXQg bmVlZHMuIEkgYW0gbm90CmF3YXJlIG9mIGFueSBrZXJuZWwgQVBJIHRoYXQgcmVjZWl2ZXMg YSB1c2VyIHByb3ZpZGVkIG1jb250ZXh0LiBBbmQgZXZlbgppZiB0aGVyZSB3YXMgb25lLCB0 aGUga2VybmVsIHdvdWxkIGhhdmUgdG8gY29weSBpdCBpbnRvIGtlcm5lbCBzcGFjZQpiZWZv cmUgZG9pbmcgYW55dGhpbmcgd2l0aCBpdCwgYW55d2F5Lgo8L3ByZT4KICAgIDwvYmxvY2tx dW90ZT4KICAgIDxwPnRoaXMgbm90IG5lZWQga2VybmVsIEFQSSwgaW4ga2VybmVsLCBpZiB0 YXNrIGhhcyBwZW5kaW5nIHNpZ25hbCwKICAgICAga2VybmVsIHNhdmUgY29udGV4dDwvcD4K ICAgIDxwPnRvIHVjb250ZXh0KGluIHVzZXIgc3RhY2sgc3BhY2UpLCB0aGVuIHJldHVybiB0 byB1c2Vyc3BhY2UgdG8KICAgICAgc2lnbmFsIGhhbmRsZSwgZnJvbTwvcD4KICAgIDxwPnRo ZSB0aGlyZCBwYXJhbWV0ZXIgb2Ygc2lnbmFsX2hhbmRsZXIsIHVzZXIgY2FuIGFjY2VzcyB0 aGUKICAgICAgdWNvbnRleHQgYW5kIG1jb250ZXh0LjwvcD4KICAgIDxwPmxpYmMgYW5kIGtl cm5lbCBhY2Nlc3MgdGhlIHNhbWUgdWNvbnRleHQgaW4gdXNlciBzdGFjayBzcGFjZS48YnI+ CiAgICA8L3A+CiAgICA8cD52b2lkIHNpZ25hbF9oYW5kbGVyIChpbnQgc2lnLCBzaWdpbmZv X3QgKmluZm8sIHZvaWQgKmN0eCkgezwvcD4KICAgIDxwPsKgwqDCoMKgwqDCoMKgIHVjb250 ZXh0X3QgKnVjID0gY3R4OzwvcD4KICAgIDxwPsKgwqDCoMKgwqDCoCA8c3BhbiBzdHlsZT0i Y29sb3I6IHJnYig1LCA4MCwgMTc0KTsgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZN b25vLVJlZ3VsYXIsICZxdW90O1NGIE1vbm8mcXVvdDssIE1lbmxvLCBDb25zb2xhcywgJnF1 b3Q7TGliZXJhdGlvbiBNb25vJnF1b3Q7LCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTJweDsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBub3JtYWw7IGZv bnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFj aW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVu dDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IHByZTsgd2lkb3dz OiAyOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4 OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7IHRleHQtZGVjb3JhdGlv bi10aGlja25lc3M6IGluaXRpYWw7IHRleHQtZGVjb3JhdGlvbi1zdHlsZTogaW5pdGlhbDsg dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBpbml0aWFsOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9y dGFudDsgZmxvYXQ6IG5vbmU7Ij5tY29udGV4dF90ICptYyA9IGN0eC0mZ3Q7PC9zcGFuPjxz cGFuIHN0eWxlPSJjb2xvcjogcmdiKDM2LCA0MSwgNDcpOyBmb250LWZhbWlseTogdWktbW9u b3NwYWNlLCBTRk1vbm8tUmVndWxhciwgJnF1b3Q7U0YgTW9ubyZxdW90OywgTWVubG8sIENv bnNvbGFzLCAmcXVvdDtMaWJlcmF0aW9uIE1vbm8mcXVvdDssIG1vbm9zcGFjZTsgZm9udC1z aXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1saWdhdHVyZXM6 IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsg bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1hbGlnbjogc3RhcnQ7 IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTog cHJlOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl LXdpZHRoOiAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgdGV4 dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogaW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9uLXN0eWxl OiBpbml0aWFsOyB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGluaXRpYWw7IGRpc3BsYXk6IGlu bGluZSAhaW1wb3J0YW50OyBmbG9hdDogbm9uZTsiPnVjX21jb250ZXh0Ozwvc3Bhbj48L3A+ CiAgICA8cD59PGJyPgogICAgPC9wPgogICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2l0 ZT0ibWlkOjIwMjIwNTIxMDgyMjQ2LkdBMjAxMDVAdm95YWdlciI+CiAgICAgIDxwcmUgY2xh c3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+CkFuZCwgQlRXLCBpZiB0aGUgYWxpZ25tZW50 IHJlYWxseSBpcyBuZWVkZWQgb24gdGhlIG1jb250ZXh0X3QgaXRzZWxmLCBpdAptaWdodCBi ZSBiZXR0ZXIgdG8gcHV0IHRoZSBhbGlnbm1lbnQgdGFnIG9uIHRoZSB0eXBlLCBub3Qgb25l IG9mIHRoZQptZW1iZXJzLjwvcHJlPgogICAgPC9ibG9ja3F1b3RlPgogICAgPHByZSBjbGFz cz0ibW96LXF1b3RlLXByZSIgd3JhcD0iIj53ZSBuZWVkIGV4dGNvbnRleHRbXSAxNiBieXRl cyBhbGlnbiBmb3IgMTI4Yml0IHZlY3RvciBhY2Nlc3MsIGlmIHB1dCB0aGUKYWxpZ25tZW50 IG9uIG1jb250ZXh0X3QgaXRzZWxmLGFsdGhvdWdoIGl0IGNhbiBhbHNvIG1lZXQgdGhlIDE2 IGJ5dGVzIGFsaWduCnJlcXVpcmVtZW50cyBvZiBleHRjb250ZXh0W10gKHRoZSBvZmZzZXQg aXMgYW4gaW50ZWdlciBtdWx0aXBsZSBvZiAxNiBieXRlcwpmcm9tIHRoZSBzdGFydCBvZiBz dHJ1Y3Qgc2lnY29udGV4dCksdGhlIG1lYW5pbmcgaXMgbm90IGNsZWFyLjwvcHJlPgogICAg PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2l0ZT0ibWlkOjIwMjIwNTIxMDgyMjQ2LkdBMjAx MDVAdm95YWdlciI+CiAgICAgIDxwcmUgY2xhc3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+ CgpDaWFvLApNYXJrdXMKPC9wcmU+CiAgICA8L2Jsb2NrcXVvdGU+CiAgPC9ib2R5Pgo8L2h0 bWw+Cg== --------------7DD8737A618FA6C05B1F0CAE--