This matches what was done for _fmode in 2e64b9e4537d564478f17b873b2f655f518325ed. This fixes using a crtexe.c built without optimizations with UCRT (and fixes UCRT in general after the previous commit).
Signed-off-by: Martin Storsjö <[email protected]> --- mingw-w64-crt/Makefile.am | 4 ++++ mingw-w64-crt/crt/crtexe.c | 4 ++-- mingw-w64-crt/misc/__p__commode.c | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 mingw-w64-crt/misc/__p__commode.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 9a1fe0739..d38e524c8 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -257,6 +257,7 @@ src_msvcrt64=\ $(src_msvcrt) \ misc/__p___argv.c \ misc/__p__acmdln.c \ + misc/__p__commode.c \ misc/__p__fmode.c \ misc/__p__wcmdln.c \ misc/_create_locale.c \ @@ -267,6 +268,7 @@ src_msvcrtarm32=\ $(src_msvcrt) \ misc/__p___argv.c \ misc/__p__acmdln.c \ + misc/__p__commode.c \ misc/__p__fmode.c \ misc/__p__wcmdln.c \ misc/_getpid.c \ @@ -359,6 +361,7 @@ src_msvcrtarm64=\ math/arm64/truncf.S \ misc/__p___argv.c \ misc/__p__acmdln.c \ + misc/__p__commode.c \ misc/__p__fmode.c \ misc/__p__wcmdln.c \ misc/_getpid.c \ @@ -368,6 +371,7 @@ src_msvcr80_64=\ $(src_msvcrt_common) \ misc/__p___argv.c \ misc/__p__acmdln.c \ + misc/__p__commode.c \ misc/__p__fmode.c \ misc/__p__wcmdln.c diff --git a/mingw-w64-crt/crt/crtexe.c b/mingw-w64-crt/crt/crtexe.c index bea6c04a2..b730dc479 100644 --- a/mingw-w64-crt/crt/crtexe.c +++ b/mingw-w64-crt/crt/crtexe.c @@ -50,7 +50,7 @@ extern void _fpreset (void); #define SPACECHAR _T(' ') #define DQUOTECHAR _T('\"') -extern int * __MINGW_IMP_SYMBOL(_commode); +int *__cdecl __p__commode(void); #undef _fmode extern int _fmode; @@ -142,7 +142,7 @@ pre_c_init (void) __set_app_type (_CONSOLE_APP); * __p__fmode() = _fmode; - * __MINGW_IMP_SYMBOL(_commode) = _commode; + * __p__commode() = _commode; #ifdef WPRFLAG _wsetargv(); diff --git a/mingw-w64-crt/misc/__p__commode.c b/mingw-w64-crt/misc/__p__commode.c new file mode 100644 index 000000000..bd79f5af7 --- /dev/null +++ b/mingw-w64-crt/misc/__p__commode.c @@ -0,0 +1,17 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#include <_mingw.h> + +extern int * __MINGW_IMP_SYMBOL(_commode); + +int *__cdecl __p__commode(void); +int *__cdecl __p__commode(void) +{ + return __MINGW_IMP_SYMBOL(_commode); +} + +typeof(__p__commode) *__MINGW_IMP_SYMBOL(__p__commode) = __p__commode; -- 2.17.1 _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
