On Mon Dec 8 12:06:26 2025 +0000, Martin Storsjö wrote:
How does this work, to limit the need of BTI only to the unix side? Is there some control bit somewhere that limits the extent of the BTI checks that gets cleared/set when switching between the unix and win32 sides? (The only parts of BTI I'm familiar with is in pure linux contexts, where BTI gets enabled for a process if the executable, and presumably all directly linked libraries, have the BTI enable flag set. And that flag gets set if all object files are built with that flag enabled, or if linking with `-Wl,-z,force-bti`. And is there a similar flag for PE executables that would allow the OS/wine to enable BTI for the win32 side as well?) I don't have the hardware to test it, but my understanding is that this is done through the PROT_BTI flag, which is set on executable pages of libraries that support BTI.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9671#note_125136