On 2023-02-19 09:56, w6b7rk5yu4mt25v3 via Cygwin wrote:
Quoted from https://cygwin.com/pipermail/cygwin-cvs/2020q3/014516.html:
"The file mapping will be only a single page, 4K, and since 64 bit systems don't
support the AT_ROUND_TO_PAGE flag, the remainder of the 64K slot will result in a SEGV
when accessed."
"The justification is that there's very likely no application actually utilizing the
map beyond EOF, and we know that all bytes beyond EOF are set to 0 anyway."
Unfortunately, the application I'm trying to port do exactly that. If you set
JIT_PAGE_SIZE to 64k (same as PAGE_SIZE) to satisfy mprotect then it will
expect the whole 64k to be accessible. On other systems, no problems. On
Cygwin, crashed with segmentation fault. I was right. Not the application's
bug, but Cygwin's quirk (I called it as a quirk but not a bug, because it's a
limitation of the platform).
SMOP: YMMV
Round up the page size yourself and allocate that value if allocation round up
not supported on platform or version.
I think if 1 byte is mapped, access to byte 2 should be SEGV/UB/)\;`a__!
)/ /-." ~~
sb/dwb
Goodbye. It's better to use WSL directly than messing with Cygwin nowadays.
For small amounts of Windows interoperability with MS "Linux".
May be useful for comparing compatibility, but so are VMs, with fewer MS
"quirks".
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
-- Antoine de Saint-Exupéry
--
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