Repository navigation
Conversation
Can be disabled with GLFW_FORCE_NOFPIC=YES. This can be important on 32-bit systems, where position independant code is more expensive. On 64-bit systems, there is no meaningful performance impact. Closes #199
|
Note that this doesn't do anything for msvc/mingw. Not sure how to handle those systems. @thestinger? |
|
Windows doesn't have position independent code, it has to rewrite code via a relocation table in order to move it to another location. Windows executables and DLLs should be built with |
|
This is great! Thanks! |
|
@thestinger Are those MinGW flags necessary for Rust? |
|
Rust will work fine without the NXCOMPAT, DYNAMICBASE and HIGHENTROPYVA flags. The flags indicate that a library / executable is compatible with the feature and an executable using any library not marked compatible loses the exploit mitigations. Visual Studio flips those flags on by default but MinGW/MinGW-w64 use bad defaults which makes it the problem of every single application / library. There's no drawback to setting them so there's no need for a way to disable it since if the executable and every other library isn't marked compatible it will have no impact. |
|
@thestinger You accidentally a word. |
Can be disabled with GLFW_FORCE_NOFPIC=YES. This can be important on 32-bit
systems, where position independant code is more expensive. On 64-bit systems,
there is no meaningful performance impact.
Closes #199