When compiling a binary in MSVC (windows) it outputs a section called ".pdata" and shoves some other info into .RDATA for unwinding.
GCC has the compiler options:
-fno-asynchronous-unwind-tables -fno-unwind-tables
which (in my testing) entirely gets rid of ALL this stuff in the output binary, but MSVC doesn't seem to have anything similar...
My current compiler flags are:
/Zc:threadSafeInit-
/GR-
/TP
/GS-
...
I have "Enable C++ Exceptions" off and in the linker i'm using "/SAFESEH:NO".
in addition i'm defining:
#define _HAS_EXCEPTIONS 0
before including STL headers (to get rid of all try / catch usage).
and then, upon opening the output EXE in IDA...
how can i get rid of this section / unwind info?