Check for return value of functions called in startup code and exit process on failure.
Pali Rohár (6): crt: Fix __getmainargs() and __wgetmainargs() ABI for msvcrt40.dll and msvcrt.dll crt: Check for return value from __(w)getmainargs() calls crt: Process return value from _(w)setargv() crt: Add mingw-w64 emulation of _initterm_e function into pre-msvcr80 import libraries crt: Fix definition of __xi_a[] and __xi_z[] arrays crt: Fix executing of functions in __xi_a[] ... __xi_z[] array mingw-w64-crt/Makefile.am | 13 +++++++-- mingw-w64-crt/crt/cinitexe.c | 7 ++--- mingw-w64-crt/crt/crtdll.c | 3 +- mingw-w64-crt/crt/crtexe.c | 14 ++++++--- mingw-w64-crt/lib-common/msvcrt.def.in | 8 ++++-- mingw-w64-crt/lib32/msvcr40d.def.in | 4 +-- mingw-w64-crt/lib32/msvcrt40.def.in | 4 +-- mingw-w64-crt/lib32/msvcrtd.def.in | 4 +-- mingw-w64-crt/misc/_initterm_e.c | 25 ++++++++++++++++ mingw-w64-crt/misc/crtdll__getmainargs.c | 4 +++ mingw-w64-crt/misc/msvcrt20__getmainargs.c | 4 +++ mingw-w64-crt/misc/msvcrt20__wgetmainargs.c | 4 +++ mingw-w64-crt/misc/msvcrt40__getmainargs.c | 19 ++++++++++++ mingw-w64-crt/misc/msvcrt40__wgetmainargs.c | 19 ++++++++++++ mingw-w64-crt/misc/msvcrt__getmainargs.c | 32 +++++++++++++++++++++ mingw-w64-crt/misc/msvcrt__wgetmainargs.c | 32 +++++++++++++++++++++ 16 files changed, 176 insertions(+), 20 deletions(-) create mode 100644 mingw-w64-crt/misc/_initterm_e.c create mode 100644 mingw-w64-crt/misc/msvcrt40__getmainargs.c create mode 100644 mingw-w64-crt/misc/msvcrt40__wgetmainargs.c create mode 100644 mingw-w64-crt/misc/msvcrt__getmainargs.c create mode 100644 mingw-w64-crt/misc/msvcrt__wgetmainargs.c -- 2.20.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public