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=-3.3 required=5.0 tests=HTML_MESSAGE, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26536 invoked from network); 7 Aug 2020 10:15:57 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 7 Aug 2020 10:15:57 -0000 Received: (qmail 30500 invoked by uid 550); 7 Aug 2020 10:15:54 -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 30463 invoked from network); 7 Aug 2020 10:15:53 -0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFKsWRWlGSWpSXmKPExsVyU+ECq+5ZTd1 4g9W7JCx2b9rP4sDosbLzMVsAYxRrZl5SfkUCa8az5fdZCjaZVVw8v4i9gXGnURcjF4eQwF5G iZO3rrBDOGcYJbp/vWXtYuTkYBMwkXjf1M0IYosImEt0d15mAbGFBRwl7h3bywwRd5P4+H8HC 4StJ3Fv5kugOAcHi4CKxPcrkiBhXgFdiS+3foONYRSQlfjSuBqslVlAXKLpy0qwVRICIhIPL5 5mg7BFJV4+/gcVN5DYunQfC4StKLFg8XQmkPESAtYSNx7wQ4zxkVh29R8TxCpBiZMzn7BMYBS ahWTDLCRls5CUQcSDJR7O2sQMYetJ3Jg6hQ3C1pZYtvA1VFxXYsa/QyyY4vkSXdPXQs0Pkdjf f519FjAUmQVuM0rs3n6EESKhKDGl+yH7AkaeVYyWSUWZ6RkluYmZObqGBga6hobGusa6hpYme olVuol6qaW6yal5JUWJQFm9xPJiveLK3OScFL281JJNjMBITilkPrSD8cnrD3qHGCU5mJREeS 2n6cQL8SXlp1RmJBZnxBeV5qQWH2KU4eBQkuANUdeNFxIsSk1PrUjLzAEmFZi0BAePkgjvHQ2 gNG9xQWJucWY6ROoUoz3HhJdzFzFz7Dw6D0h+XLUESH4HkUIsefl5qVLivCdA2gRA2jJK8+CG wpLgJUZZKWFeRgYGBiGegtSi3MwSVPlXjOIcjErCvI7AlCrEk5lXArf7FdBZTEBn/VyiCXJWS SJCSqqBKebaKavAS4yHkorv56/N2HnwV8fDCcYrMjT2Ws5VWdPdVvWfrd/J4uGZ6CWVqlzLAo +8aRW4UNOZ8mPO3SPXv0+K7ioNlT//KabAw9XIUEY87x3n82KuqLevrmoqLnFSa5H6nmmikhf 6Jbrv7MRdLyftWfvgdNBN0xlVzfcX1x6asvXCxtipDJVXzms2RiS5X9ZV0fJ5rqwQUtzKvk+W 613KxFKeuzqNd/lfZU+U7f7TX3ycT1pg8cQj6z81fD1o4Rjwb4Gyxr9rrZ/DEtdN2y8k/PSqR qf7lKhnAVHuHZ8EBSOnzDrhse0t6/OrAoZ1FyUWFZvNmH9365mAu8e2TjYMPl/plb8w2XNv+u fna5VYijMSDbWYi4oTAWENCwL9AwAA X-Env-Sender: bradley.gamble@ncipher.com X-Msg-Ref: server-11.tower-225.messagelabs.com!1596795340!228004!1 X-Originating-IP: [217.32.208.5] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.50.3; banners=-,-,- X-VirusChecked: Checked From: "Gamble, Bradley" To: "musl@lists.openwall.com" Thread-Topic: Support for PowerPC64 devices lacking AltiVec extentions Thread-Index: AQHWbKGG/OwVnqowG0e8P+ZEosZgkA== Date: Fri, 7 Aug 2020 10:15:38 +0000 Message-ID: <1596795338498.26196@ncipher.com> Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.194.11.129] x-exclaimer-md-config: 7ae4f661-56ee-4cc7-9363-621ce9eeb65f Content-Type: multipart/mixed; boundary="_004_159679533849826196nciphercom_" MIME-Version: 1.0 Subject: [musl] Support for PowerPC64 devices lacking AltiVec extentions --_004_159679533849826196nciphercom_ Content-Type: multipart/alternative; boundary="_000_159679533849826196nciphercom_" --_000_159679533849826196nciphercom_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, musl currently lists "powerpc64" on it's supported target architectures pag= e. I have been trying to use musl on a device that uses Freescale's T1022/T= 1042 processors based on the e5500 core - These devices lacks the AltiVec e= xtentions that most other PowerPC64 processors support. I was initially encountering exceptions with longjmp()/setjmp() due to the = use of lvx/stvx instructions to store and restore vector registers. These v= ector registers are AltiVec-specific and are not required for devices that = do not have the AltiVec extentions, so simply removing them was enough to a= llow musl to function properly on e5500 devices. I initially considered whether a compile-time check in the configure script= was possible, however I believe this has to be a run-time check to query w= hether the processor supports AltiVec extentions and to conditionally store= /restore the registers if it does. I see that Arm targets use __hwcap for p= latform-specific functionality, and in hwcap.h for PowerPC64 there is a "PP= C_FEATURE_HAS_ALTIVEC" definition. Would this be the correct way to detect this platform-specific behavior? Kind regards, bdg --_000_159679533849826196nciphercom_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hello,


musl currently lists "powerpc64" on it's supported target arch= itectures page. I have been trying to use musl on a device that uses F= reescale's T1022/T1042 processors based on the e5500 core - These devices l= acks the AltiVec extentions that most other PowerPC64 processors support.

I was initially encountering exceptions with longjmp()/setjmp() due to t= he use of lvx/stvx instructions to store and restore vector registers. = ;These vector registers are AltiVec-specific and are not required for devic= es that do not have the AltiVec extentions, so simply removing them was enough to allow musl to function properly on e= 5500 devices.

I initially considered whether a compile-time check in the configure scr= ipt was possible, however I believe this has to be a run-time check to quer= y whether the processor supports AltiVec extentions and to conditionally st= ore/restore the registers if it does. I see that Arm targets use __hwcap for platform-specific functionali= ty, and in hwcap.h for PowerPC64 there is a "PPC_FEATURE_HAS_ALTIVEC&q= uot; definition.

Would this be the correct way to detect this platform-specific behavior?=


Kind regards,

bdg

--_000_159679533849826196nciphercom_-- --_004_159679533849826196nciphercom_ Content-Type: application/octet-stream; name="0001-Remove-AltiVec-specific-instructions-on-PowerPC64-pl.patch" Content-Description: 0001-Remove-AltiVec-specific-instructions-on-PowerPC64-pl.patch Content-Disposition: attachment; filename="0001-Remove-AltiVec-specific-instructions-on-PowerPC64-pl.patch"; size=2264; creation-date="Fri, 07 Aug 2020 10:07:38 GMT"; modification-date="Fri, 07 Aug 2020 10:07:38 GMT" Content-Transfer-Encoding: base64 RnJvbSA1ZjFjYmUwZTczZjFmZTIyOTQ5NGJkZjFhOGNhZGM5NTNiYjMwYTA2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCcmFkbGV5IEdhbWJsZSA8QnJhZGxleS5HYW1ibGVATkNJUEhF Ui5DT00+CkRhdGU6IE1vbiwgMyBBdWcgMjAyMCAxMzoxNjoyMCArMDEwMApTdWJqZWN0OiBbUEFU Q0hdIFJlbW92ZSBBbHRpVmVjLXNwZWNpZmljIGluc3RydWN0aW9ucyBvbiBQb3dlclBDNjQKIHBs YXRmb3JtLiBUaGVzZSBpbnN0cnVjdGlvbnMgYXJlIHVzZWQgdG8gc3RvcmUgYW5kIHJlc3RvcmUg dGhlIHZlY3RvcgogcmVnaXN0ZXJzIGluIHRoZSBzZXRqbXAoKSBhbmQgbG9uZ2ptcCgpIGZ1bmN0 aW9ucy4gSXQgd2FzIGFzc3VtZWQgdGhhdCBtb3N0CiBkZXZpY2VzIHRoYXQgdXNlIHRoZSBQb3dl ciBJU0EgYWxzbyBzdXBwb3J0IHRoZSBBbHRpVmVjIGluc3RydWN0aW9uIHNldCwKIGhvd2V2ZXIg dGhlIEU1NTAwIGNvcmUgZG9lcyBub3Qgc3VwcG9ydCBBbHRpVmVjIGFuZCB3b3VsZCBwYW5pYyB3 aGVuCiBlbmNvdW50ZXJpbmcgdGhlc2UgaW5zdHJ1Y3Rpb25zLiBCb3RoIHRoZSBpbnN0cnVjdGlv bnMgYW5kIHRoZSByZWdpc3RlcnMgYXJlCiBBbHRpVmVjLXNwZWNpZmljLCBhbmQgdGhlcmVmb3Jl IGFyZSBub3QgcmVxdWlyZWQgb24gbm9uLUFsdGlWZWMgcGxhdGZvcm1zLgoKLS0tCiBzcmMvc2V0 am1wL3Bvd2VycGM2NC9sb25nam1wLnMgfCAxNSAtLS0tLS0tLS0tLS0tLS0KIHNyYy9zZXRqbXAv cG93ZXJwYzY0L3NldGptcC5zICB8IDE1IC0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2Vk LCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvc2V0am1wL3Bvd2VycGM2NC9sb25n am1wLnMgYi9zcmMvc2V0am1wL3Bvd2VycGM2NC9sb25nam1wLnMKaW5kZXggODFkNDVmZjYuLmI0 NjIxYzYzIDEwMDY0NAotLS0gYS9zcmMvc2V0am1wL3Bvd2VycGM2NC9sb25nam1wLnMKKysrIGIv c3JjL3NldGptcC9wb3dlcnBjNjQvbG9uZ2ptcC5zCkBAIC01NiwyMSArNTYsNiBAQCBsb25nam1w OgogCWxmZCAzMCwgMzgqOCgzKQogCWxmZCAzMSwgMzkqOCgzKQogCi0JIyA2KSByZXN0b3JlIHZl Y3RvciByZWdpc3RlcnMgdjIwLXYzMQotCWFkZGkgMywgMywgNDAqOAotCWx2eCAyMCwgMCwgMyA7 IGFkZGkgMywgMywgMTYKLQlsdnggMjEsIDAsIDMgOyBhZGRpIDMsIDMsIDE2Ci0JbHZ4IDIyLCAw LCAzIDsgYWRkaSAzLCAzLCAxNgotCWx2eCAyMywgMCwgMyA7IGFkZGkgMywgMywgMTYKLQlsdngg MjQsIDAsIDMgOyBhZGRpIDMsIDMsIDE2Ci0JbHZ4IDI1LCAwLCAzIDsgYWRkaSAzLCAzLCAxNgot CWx2eCAyNiwgMCwgMyA7IGFkZGkgMywgMywgMTYKLQlsdnggMjcsIDAsIDMgOyBhZGRpIDMsIDMs IDE2Ci0JbHZ4IDI4LCAwLCAzIDsgYWRkaSAzLCAzLCAxNgotCWx2eCAyOSwgMCwgMyA7IGFkZGkg MywgMywgMTYKLQlsdnggMzAsIDAsIDMgOyBhZGRpIDMsIDMsIDE2Ci0JbHZ4IDMxLCAwLCAzCi0K IAkjIDcpIHJldHVybiByNCA/IHI0IDogMQogCW1yICAgIDMsICAgNAogCWNtcHdpIGNyNywgNCwg MApkaWZmIC0tZ2l0IGEvc3JjL3NldGptcC9wb3dlcnBjNjQvc2V0am1wLnMgYi9zcmMvc2V0am1w L3Bvd2VycGM2NC9zZXRqbXAucwppbmRleCAzNzY4M2ZkYS4uYzNmOWUzN2QgMTAwNjQ0Ci0tLSBh L3NyYy9zZXRqbXAvcG93ZXJwYzY0L3NldGptcC5zCisrKyBiL3NyYy9zZXRqbXAvcG93ZXJwYzY0 L3NldGptcC5zCkBAIC02OSwyMSArNjksNiBAQCBfX3NldGptcF90b2M6CiAJc3RmZCAzMCwgMzgq OCgzKQogCXN0ZmQgMzEsIDM5KjgoMykKIAotCSMgNSkgc3RvcmUgdmVjdG9yIHJlZ2lzdGVycyB2 MjAtdjMxCi0JYWRkaSAgMywgMywgNDAqOAotCXN0dnggMjAsIDAsIDMgOyBhZGRpIDMsIDMsIDE2 Ci0Jc3R2eCAyMSwgMCwgMyA7IGFkZGkgMywgMywgMTYKLQlzdHZ4IDIyLCAwLCAzIDsgYWRkaSAz LCAzLCAxNgotCXN0dnggMjMsIDAsIDMgOyBhZGRpIDMsIDMsIDE2Ci0Jc3R2eCAyNCwgMCwgMyA7 IGFkZGkgMywgMywgMTYKLQlzdHZ4IDI1LCAwLCAzIDsgYWRkaSAzLCAzLCAxNgotCXN0dnggMjYs IDAsIDMgOyBhZGRpIDMsIDMsIDE2Ci0Jc3R2eCAyNywgMCwgMyA7IGFkZGkgMywgMywgMTYKLQlz dHZ4IDI4LCAwLCAzIDsgYWRkaSAzLCAzLCAxNgotCXN0dnggMjksIDAsIDMgOyBhZGRpIDMsIDMs IDE2Ci0Jc3R2eCAzMCwgMCwgMyA7IGFkZGkgMywgMywgMTYKLQlzdHZ4IDMxLCAwLCAzCi0KIAkj IDYpIHJldHVybiAwCiAJbGkgMywgMAogCWJscgotLSAKMi4yMC4xCgo= --_004_159679533849826196nciphercom_--