On Monday, 10 July 2023 at 14:17:36 UTC, Iain Buclaw wrote:
>On Monday, 10 July 2023 at 11:24:37 UTC, Brian Callahan wrote:
>Hi all (but probably mostly Walter) --
OpenBSD has moved to an all-BTI world. Binaries produced by DMD and LDC no longer work because of this. If other OSes make this move, this problem will be further compounded. Is there any thought about enabling IBT/BTI instructions in DMD and LDC?
Thanks.
This is Intel CET, right?
It's on by default at configure-time.
https://github.com/gcc-mirror/gcc/commit/08c1d39d3a822dfe7d91524ec290e0f230504242
Speaking of which, the asm support code for Fibers does not support shadow stacks, so you'll need to fall back to ucontext_t's swapcontext unless someone figures out what the correct way to handle it is.
There is also for AArch64, see -mbranch-protection.
GCC/GDC works fine with -mbranch-protection on AArch64 but I don't know if it's the default.