Open ZeppLu opened 9 months ago
Yes, the previous version of Bear was doing this. The SIP enabled just become so dominant that had to come up with the compiler wrappers. But it's feasible to enable it again.
Notes after some investigation (currently too busy to work on it):
csrutil enable --without debug
is sufficient for DYLD_*
environment variables to work
This gist can check SIP status programatically, and the above configuration corresponds to CSR_ALLOW_TASK_FOR_PID
bit
Describe the bug
Currently
bear
silently enforces wrapper mode on macOS. This behavior causes cross compilers (eg mingw) fail to be recognized.However, if SIP is disabled, we can actually use
DYLD_INSERT_LIBRARIES
without any problem. Here is a minimal example:Expected behavior
On macOS, dynamically check for SIP status at runtime, to determine whether we can use preload mode.
Additionally, a warning log when wrapper mode is being enforced would be helpful
Environment: