In FreeBSD 13.0 release appeared new memory protection mechanism: W^X (write XOR execute) . But unfortunately, some ports are still not adapted their code to be able to run in this mode. One of them is net-p2p/transmission-remote-gui, written in pascal language.
exec_new_vmspace: mapping stack size 0x20000000 prot 0x7 failed mach error 2 errno 13
Workaround  with setting `elfctl -e +wxneeded` didn't help either.
Also wonder, what could possibly make this port incompatible with W^X?
Whether FreePascal does have some custom runtime routines that triggers it?
I thought it could be seen only with languages with JIT runtimes, like Java…
(In reply to Andrey Korobkov from comment #0)
Hi, maybe the main reason could be fpc/lazarus use syscalls and if I'm not mistaken this kind of protection avoid this kind of procedures. But fpc/lazarus have a FPC_USE_LIBC option for use LIBC instead of direct syscalls. I don't know if it is well updated and maybe it could break somethings