From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-40141.protonmail.ch (mail-40141.protonmail.ch [185.70.40.141]) by sourceware.org (Postfix) with ESMTPS id 007B13858D35 for ; Wed, 15 Feb 2023 15:31:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 007B13858D35 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=protonmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=protonmail.com Date: Wed, 15 Feb 2023 15:31:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1676475109; x=1676734309; bh=Y0Vzio74wkC30ZBtmtAcOLngNCxNlPbC2JNseowDQUI=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=MmxT9brj+6fVpYNQaImvBjxYko0UFQzABU06LwNlq1dMaeaK8DRblGhW1gWQPtcyZ ZOgIouCLhQk5UK34jOenVl/Npuw4rLTuSkxZcFWeTojIiWueCCzIVDNZ9D72Ey3lnA xBEZdHAZao8joHup2Ust/hpVpkfbNwrRKY3/8/PfkcERKcAL8cQl4IaSSuUMjBOhU8 4qSIfCYnn6XaP79lMnaEnNo3zp9EvT1kOL4r2bvsek9EyHITQqWUaZshAJnSVQe64T UXtENR13NfDig5pVkbGa6+eEs4Mf1YhZN0MBW3sE/rJUrJ5xLYCL/0CGoW/+RJ4tx5 u1vIw4xMLQDQQ== To: "cygwin@cygwin.com" From: w6b7rk5yu4mt25v3 Subject: Fw: Re: Fw: Re: Why do these mprotect always fail? Message-ID: <3HScWpQC8pjnPC4OBYIhgMMGaPTBCH_T8o8mMC72UMMMgtodqjjUCRpC81hW8SF9PUk-e3rmxeI8y45aaOGTrZ1MFu7FK3tJ-3XXclG2i3I=@protonmail.com> In-Reply-To: References: <0Qjpbo0t_1WTd9--kVw5gLR1PdJzG7myKYzhxdzDIqnWYwLnywFCtSbekykskWViaSJM_bcLQBEFT_wg4-IApgEYrX5bHFIZH7Ro40oDYGs=@protonmail.com> Feedback-ID: 67221101:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_mOVn5HWGsfcHaCWZ49eZWY9kAWoYeplUEw37MWGrZk" X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --b1_mOVn5HWGsfcHaCWZ49eZWY9kAWoYeplUEw37MWGrZk Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I asked the developer of the interpreter. He said it's OK to use the PAGE_S= IZE value different than 4096. So I used this dirty hack: #ifndef __CYGWIN__ #define PAGE_SIZE 4096 #endif This means on Cygwin it will use the default PAGE_SIZE defined on limits.h = (I'm taking advantage of the naming conflict here so I don't have to rename= PAGE_SIZE to JIT_PAGE_SIZE as suggested by the developer of the interprete= r). The result is it's no longer error with "Unable to mprotect" but will silen= tly crashed without any error messages printed on the screen. So after all,= it's Cygwin's quirks here. Sent with Proton Mail secure email. ------- Forwarded Message ------- From: Oskar Skog via Cygwin Date: On Wednesday, February 15th, 2023 at 20:02 Subject: Re: Fw: Re: Why do these mprotect always fail? To: cygwin@cygwin.com > On 2023-02-15 14:40, w6b7rk5yu4mt25v3 via Cygwin wrote: >=20 > > You misunderstood what I said. > >=20 > > It's really just a naming conflict and a coincident. On the context of = the source code (it's an interpreter), PAGE_SIZE is indeed JIT_PAGE_SIZE (n= ot the system page size, but the page size defined internally by the interp= reter). On Linux, the name doesn't conflict. On Cygwin, I found on limits.h= and cygwin/limits.h already defined PAGE_SIZE so it caused a naming confli= ct: > >=20 > > #define __PAGESIZE 65536 > > #define PAGESIZE __PAGESIZE > > #define PAGE_SIZE PAGESIZE > >=20 > > But the problem not related to the naming conflict. If I renamed PAGE_S= IZE to JIT_PAGE_SIZE, the problem is still there. The problem is Cygwin wil= l not work with JIT_PAGE_SIZE =3D 4096. Please have a look at the code I po= sted. It will always error with "Unable to mprotect". >=20 >=20 > The Linux man page for mprotect says that the address MUST be aligned > (with the systems PAGE_SIZE). Your call to posix_memalign is NOT > aligning the allocation with the systems PAGE_SIZE (65536), but with > your PAGE_SIZE (4096). >=20 > You need to allocate memory that is aligned with the systems PAGE_SIZE. >=20 > Eg. > if(posix_memalign((void**)&buffer, (PAGE_SIZE>JIT_PAGE_SIZE) ? PAGE_SIZE >=20 > : JIT_PAGE_SIZE, available)) { ... } >=20 > -- > Problem reports: https://cygwin.com/problems.html > FAQ: https://cygwin.com/faq/ > Documentation: https://cygwin.com/docs.html > Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple --b1_mOVn5HWGsfcHaCWZ49eZWY9kAWoYeplUEw37MWGrZk Content-Type: application/pgp-keys; name=OpenPGP_0x473CD05C78734E49.asc Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=OpenPGP_0x473CD05C78734E49.asc LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgp4c0ROQkdFQUMwc0JEQUMwT0Fu MnYrMitORkxrMy9IdExsa2ZUUlBqbjdVWTJ2NzAwaGw3WTNLc3hLRmZibmdQCmxIcVBPS3MraExk M2tpRHlWNmZad1RGYUxSNEpXQUZQcEVLMmI5clkxcDlXS0t2R24xTnUvTlpsUEVvSGZrOXIKVnBo Q0hLdU9pdzFvQTk3Ly9yQlh1bStoN1lzVmF2YTNRZFZVOWZoK2VGdWFlV1grSTJyVlhvN1lPbWFT dlc0dAprdWszTUpQNk05VU55bnYyaFNGMysvTm1rbktENXV3ZTl3ZTNYQzNiNE8zYjZpMXNYbWp0 KzdhcU5jWmJtbDdRCkF1cVRIc3MzTlZzcndPVVZ0ZHV6MTI1eFF0Tm1YL3o5M0JMOFc3UXY0bnJL S08xNzIrR1kyeUJMa3l2U1J2Ry8KRldKTmREMkNwNnpBd2p1a0RZOHZaRWNvd3RWYlZVSFhYNU5z UU9jT0lNYVh5S2V3b1pKRUJ5akQwOW5vb2VhdgpwdUdyNERQdVB6bnV6VFBGK0xzcWJmU1lwSVJ2 QVI2eHdrK2p2Z0g0Vm1oNjVDMS9xLzBrYnM3eVFaNGlIWm90Cnl2UDJTS1NmclFFd0ZBb2VXZFJ6 cnFUQjlMZkRuOUF1Q2FzeEZyM2pGNlJ1dENnVDRYU25sSElFTGl6MThvaFAKTDdESEpBd0N2SHpF SkxVQUVRRUFBYzBlVDNOcllYSWdVMnR2WnlBOGIzTnJZWEpBYjNOcmIyYzVOeTVqYjIwKwp3c0VQ QkJNQkNBQTVGaUVFUXRaYWd4cTdCV1ZHNFpHZVJ6elFYSGh6VGtrRkFtRUFDMHdGQ1FXam1vQUNH d01GCkN3a0lCd0lHRlFnSkNnc0NCUllDQXdFQUFBb0pFRWM4MEZ4NGMwNUpHdnNML1I1blVrTUFZ YWJJQWRQblJhY28KU2ljQ2hLYWh3dEhJWERvSTRvZSthaWxkbFZMMVR0OUpuS3o3Sk1EOHIwK2R2 UVB1UzBxMFAyenRCamh0QWpldwpnSDdEMm5ONitwZWxPR0k5M3hsWjNTNVY0c29ENXlJdVZVRS9U NDVxd3dGNDUzMXUxcjB5citSYlhwdmZsaUViCjFpZ0M4SWhxWXZTeVJiNTVBdjhHVWtjV2Q0SVFU bm5SejB6dkptL1F2VlpIcmxEdnVJN3ZTcW40QStDTmNsUi8KMEVKei9qU1cyVE5pVlZ3ckF0ZDhv SWdqRU13ek5WUFVvMkpmOEszeFZXSVpibGlNUmNPWVZDQTFvRCtZQWhDRQpEY2RQUkF4aTVadXla TGxKT3ZCNGYvYkptZ1p0dXYveVE1R1pIZEN2NS95V2VIdXYxNjlwZkYwRU5SQ1BpNktTCjhxRTJX cWFnb0hCRURNV2Z3Sy94MW82WDJ6MExaZUsrV21UTGc3cExrcnZxT3pxSExkSmxja2lwWG1IZnNr SHQKTFkzdG9NdnMxR0dUZ3dnaEdtY3dGMmtzKzJhN1FJL05OTzlRNlgzeXptOVdNZ1dyTklod1pB OFpMV3BOc3F1SgpjU1B5Z21zZnB3ajdkYy9DT0kwblFRM2NjcWtzL2h6WUl5T0RKdnU4TXBCMDhj N0F6UVJoQUF0TUFRd0F3NHAwClJLSERPSUt5aWJvVVVYbnlQeDRoU1dtYXdnNzVpN1hKUDJBY2x1 VDlXQ1Fnd3paQ0pVcWhMOEUwYmNXRmpQeWIKYTdSUkRKODJPanc3WHRiZ2Y0ZUFpekJUMmt5Rm1J WXhISjcwYVVYYjhBdndYZXpHL011WHg0YkVPcmJuZ1FlYQpXZ2FKY2kzc0dFdnpFVm9HR2owMDF4 YUM3TFNVZHhRZGNMb1B5U3ZGRlNBN0lFcG5DeVhadFBqeElTTk1QZzdKCjdjbWhhS2ptYTVYdUhk eVNHUG5IbThRdVE4cFBZU2RDWEc4N1ZvalVRci9SZzVpQWllL2lSbmEwOE9oelZIUE0KZW13a21N bkQyUDRPV2l1NGhQR1VQVFNuNGlEZzA5UnYxNGYwcmdIcFJycDNhVzhmUWk5TmFsYjBsOGduOWpQ bwpLL1hvWUFLdHkxWStzVDhSaFlrWHU4MVRVYSszTEZOTE1HRldBeEN3VlBoWkh0SDdkTXZ1WnZo amhyRjZyQ2hGCklPRkZTTFF2S2hoelJGQ3FmWm1Ic2JuSmpzQ1lmcGtzNG55VWVuUkg2VVVTMXNX VUgvdjB1RFJ4dkJ1SG5SVDgKUzJFL2o4ekpjaWNYeDVvczNEeXo4L1ZjMVNhcHBBUlJ1KzhmYWVB bk5tTVhSTFZRSDc1TStRSW5Sb0pYQUJFQgpBQUhDd1B3RUdBRUlBQ1lXSVFSQzFscURHcnNGWlVi aGtaNUhQTkJjZUhOT1NRVUNZUUFMVFFVSkJhT2FnQUliCkRBQUtDUkJIUE5CY2VITk9TUnpUQy80 MlFhSmtybys3d0pyNmwzSjNIb3FueDJXeEI1WktNWTVDbmhEZ0x1L3gKWkdVZFV2TnZZRmp0WHA2 Sm1XWnNLMGZYUEI3bU1FUzRIZkxzNzBLNGpuckpIWHorNzRGV2RVYnNDQlJtU2l6aQpCb1hwSUhL b09oUk85MTdOeExvenZNTzdiN0gxbUVJMWhsZHlQTEtLTlAzbzEwR3JKbHZLOFljWS84enc5ZUhh Cnh6RkpPMG50K3p3NVM0OUFpWUpXSXNLclpwK2dPZmFzRmtQZmtnT0kySWkwR25wVEM1dmd0bXpT Um1GTlFMajYKSmlqVTlpU2hTdFVGMkZsZ2toZWhCdExMMEJ5bTNONUU3ZnpzT2VTemtxWWkyNFZp K0NVVWNWakZQYnAyZlhWegpuc1pZSi9uY3hXT0JVVloxRzRnRkhDKy9OVm9HT0p2VUN1MUg4VkZk ZkhncG9wbXc2U2VGaHY0azBLcU5yRU40CkkrNTE0cXRUQS9NRlZZaDNMVDJHOXdIUzVZRExDTGRy VFpwY2JVL0p0bXBPNktuNXByZENjWk9lYnpLN0tSeHIKWmNzQjlEY3ZhOERJWWhQU1hiN3IvRExw cm56VEdVb1d0ZnptellLblBhT0J3V2hHdFpCYUZZc2dXZnlhRlMyZApqRm4xK0tyMXRYRi9JNWF5 MGI0djN1ND0KPTdXWFkKLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQo= --b1_mOVn5HWGsfcHaCWZ49eZWY9kAWoYeplUEw37MWGrZk Content-Type: application/octet-stream; name=OpenPGP_signature.sig Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=OpenPGP_signature.sig wsD5BAABCAAjFiEEQtZagxq7BWVG4ZGeRzzQXHhzTkkFAmPs19EFAwAAAAAACgkQRzzQXHhzTklf bwv+NcPVT+I954LE4gGDBJK7LafTCrb6PVc9n9/wNEMv2QYH2zvNpXJrPpdnkaKb/6Hcp8DPVMiI wy3s4G4BNj1DbnyBkRmj2IPFFa7nlOBiMyNUCuwREUGFiCcP9g10yVv4FmvXfMzxhWVIXS0AFD3H YxjFkUEXb5xkcIdm0dczdK5od+h1oRsNoNdztTcZbtl9pMvUhlkkcoR1w6sf5MUz2eH1RCLEIfHp SY9G7ZfL9a8LFYaSCud9/wc8t170WT8wY9nHlGJ4llFutbs2HXUZuJFQXOvsW0YJIPUiOinKymbA JLmGnOrzSBRFVjCKbaLAV/7+jwGNWk1CNYkIagbARHMg6boRS1ITgW4jc9gBdDkitJgnsZyMqisC AkfYyCcCL+AADi8Z/ITMLmETapypQKFcyP/8ko3FwtIRekDpWUw76QbY2YuxPLHicCgOHf0R9o0j g8AiNsMoqiXdkGIhAHl/FUyGH5/1UUyZ9HUZf42dB1i9GBswFRwxG9IdXfgL --b1_mOVn5HWGsfcHaCWZ49eZWY9kAWoYeplUEw37MWGrZk--