Commit Graph

3301 Commits

Author SHA1 Message Date
Biswapriyo Nath
189b6fbdfa crt: Add new APIs in cfgmgr32 import library
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-10-12 23:11:06 +08:00
Biswapriyo Nath
737142b23d crt: Add new API in tbs import library
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-10-12 09:00:44 +08:00
Martin Storsjö
544f756363 crt: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-10-11 11:13:26 +03:00
Pali Rohár
766949b899 crt: Rename file ucrt_compat.c to ucrt_tzset.c
Now this file contains only tzset() and _tzset() functions and
tzname/timezone/daylight global variables.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-10-11 11:13:26 +03:00
Pali Rohár
7cdac1f6d6 crt: Remove -Winline from ucrt_compat.c
In ucrt_compat.c there is no included or used inline function anymore.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-10-11 11:13:26 +03:00
Pali Rohár
bb938a7a4b crt: Split UCRT _amsg_exit() into separate file
Also add missing __MINGW_ATTRIB_NORETURN attribute into header file
internal.h where is function _amsg_exit() declared.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-10-11 11:13:26 +03:00
Pali Rohár
51f5fd310f crt: Split UCRT __ms_fwprintf() into separate file
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-10-11 11:13:26 +03:00
Pali Rohár
200b20f657 crt: Use common mingw-w64 implementation of _get_output_format() also for UCRT builds
Pre-msvcr80.dll builds, including msvcrt.dll builds use _get_output_format()
implementation from mingw-w64 output_format.c source file. Use it also for
UCRT builds instead of current stub in ucrt_compat.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-10-11 11:13:26 +03:00
Pali Rohár
3e3fc0eaf4 crt: Remove _ftime_s symbol alias from msvcrt.def.in
Header file sys/timeb_s.h defines _ftime_s only as a macro which expands
either to _ftime32_s or _ftime64_s based on _USE_32BIT_TIME_T setting.
MS VC++ 2005+ header files also defines only _ftime_s as a macro and do not
provide any _ftime_s function declaration or symbol alias in import library.

_ftime_s symbol alias is currently defined only in mingw-w64 msvcrt.def.in
file, not in any other .def file, neither in UCRT ones.

So _ftime_s symbol alias is not needed in msvcrt.def.in file, remove it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-10-09 23:46:15 +03:00
Biswapriyo Nath
893f14bb28 crt: Add new ioring apis
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-10-09 22:36:19 +08:00
LIU Hao
aa7bbd5e2d crt: Regenerate Makefile.in
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-10-04 12:07:11 +08:00
Biswapriyo Nath
f34de05bc4 crt: Add new APIs in wscapi import library
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-10-04 12:06:09 +08:00
Pali Rohár
d2491a9358 crt: Provide onexit symbol alias
Now when there is working _onexit() function, provide also onexit() aliased
function, which already has declaration in stdlib.h header file.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-28 00:07:24 +03:00
Martin Storsjö
23414487df crt: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-28 00:07:24 +03:00
Pali Rohár
e36d0410e8 crt: Fix _onexit() function for DLL builds
MS documentation for _onexit function says:

  In the case when _onexit is called from within a DLL, routines registered
  with _onexit run when the DLL is unloaded, after DllMain is called with
  DLL_PROCESS_DETACH.

And for this functionality msvc statically links _onexit functionality for
DLL builds, and do not let applications to use msvcrt.dll's _onexit symbol
directly.

Fix this issue in mingw-w64 by redefining _onexit function to calls private
mingw-w64 atexit() function, which already distinguish between EXE and DLL
builds. Include this _onexit function into every CRT import library and
disable original _onexit symbol in all def files.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-28 00:05:36 +03:00
Martin Storsjö
4121f43d8f crt: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-27 23:50:16 +03:00
Pali Rohár
ee481ee939 crt: Move ftime symbol definition from _ftime.c to crt-aliases.def.in
This simplify symbol definition and move it to the common place into
crt-aliases.def.in file where are also other symbol aliases.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-27 23:48:15 +03:00
Pali Rohár
41626f0d8c crt: msvcrtd.def.in: Include 64-bit fixed size and time function aliases
File msvcrtd.def.in contains only symbols from Microsoft Visual C++ 6.0
version of msvcrtd.dll as opposite of msvcrt.def.in which contains also
other symbols available in later OS system versions of msvcrt.dll versions.
There is no OS system versions of msvcrtd.dll.

File msvcrt.def.in already contains 64-bit fixed size and time function
aliases which are defined per-architecture, as msvcrt.dll contains
different set of symbols for different architectures, and so cannot use
some common aliases from include file crt-aliases.def.in.

On the other hand, msvcrtd.dll is i386-only library, fixed to VC++ 6.0
version and can use all common aliases from crt-aliases.def.in.

Currently msvcrtd.def.in do not have defined custom 64-bit fixed size and
time function aliases and neither from crt-aliases.def.in file. Fix this
problem and enable these aliases from crt-aliases.def.in file.

This change allows to use functions like _findfirst32(), _fstat32() or
_ctime32() in applications linking with msvcrtd.dll library.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-27 23:46:08 +03:00
Pali Rohár
3f7c8f53ad crt: Enable HUGE symbol alias
It is available in msvc, so enable it also in mingw-w64 import libraries

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-27 23:36:07 +03:00
Pali Rohár
469e8e419b crt: Provide __daylight(), __dstbias(), __timezone() and __tzname() functions for pre-msvcr80 builds
These functions return pointer to global variables with same name but
without the first leading underscore. These functions are available also
under name with leading "__p" prefix.

Functions __daylight(), __dstbias(), __timezone() and __tzname() are
available in msvcr80+ libraries and also in UCRT.

Functions __daylight(), __dstbias() are also available in later versions of
i386 and x64 msvcrt.dll and are available in all ARM versions of msvcrt.dll.

Functions __p__daylight(), __p__timezone() and __p__tzname() are available
since msvcrt20.dll and are present in all later msvcrt versions except the
UCRT and non-i386 OS system version of msvcrt.dll.

Function __p__dstbias() is available since msvcrt40.dll and is present also
in all later msvcrt versions except the UCRT and non-i386 OS system version
of msvcrt.dll.

Global variables _daylight, _timezone and _tzname are available in all
msvcrt versions except UCRT.

Global variable _dstbias is present since msvcrt40.dll, except UCRT and
non-i386 OS system versions of msvcrt.dll.

Define __daylight, __dstbias, __timezone and __tzname for all CRT import
libraries either as aliases to __p__daylight, __p__dstbias, __p__timezone,
and __p__tzname or as function wrappers around variables _daylight,
_dstbias, _timezone and _tzname, based on what each DLL library provides.

With this change also unifies time.h file to define _daylight, _dstbias,
_timezone and _tzname for all CRT builds via functions. This removes
another ifdef _UCRT and improves ABI compatibility between UCRT and
non-UCRT builds.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-27 15:01:17 +03:00
Martin Storsjö
f4f972fed3 crt: Use (void*) casts to silence warnings about function pointer casts
Modern GCC and Clang warn for these casts, with warnings like these:

../secapi/_chsize_s.c:20:6: warning: cast from 'FARPROC' (aka 'long long (*)()') to 'errno_t ((*))(int, long long) __attribute__((cdecl))' (aka 'int (*)(int, lo
ng long)') converts to incompatible function type [-Wcast-function-type-mismatch]
   20 |         f = (errno_t __cdecl (*)(int, long long))
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   21 |             GetProcAddress (__mingw_get_msvcrt_handle (), "_chsize_s");
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

By casting to (void*) instead, we can let the compiler do the second
cast to the target function type implicitly, and also silencing these
warnings.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-27 00:27:28 +03:00
Martin Storsjö
0b7a22bea5 crt: Mark _wassert with __MINGW_ATTRIB_NORETURN
This avoids warnings from Clang, pointing out that this function
could be marked noreturn.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-23 13:32:48 +03:00
LIU Hao
bc2e948f80 crt: Include functiondiscoverykeys.h in uuid library
Suggested-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-09-20 22:25:16 +08:00
Biswapriyo Nath
b9cacd918c crt: Add new APIs in user32 import library
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-09-19 15:18:25 +08:00
Martin Storsjö
663355341b crt: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-18 13:59:02 +03:00
Pali Rohár
694c52ba74 crt: Provide __p__osplatform() for all CRT import libraries
_osplatform is available only in i386 and x64 versions of msvcrt.dll,
msvcr70.dll, msvcr71.dll and msvcr80.dll.

Include emulation of __p__osplatform() functions for all other CRT
libraries, including UCRT.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-18 13:58:15 +03:00
Pali Rohár
5f9f1d2e8c crt: Provide __p__osver(), __p__winmajor(), __p__winminor() and __p__winver() for msvcr90+ and UCRT
_osver, _winmajor, _winminor and _winver are exported from CRT DLL library
up to the msvcr80.dll version. Add support for __p_ functions also for
msvcr90+ and UCRT import libraries.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-18 13:58:15 +03:00
Pali Rohár
811ff2774b crt: Provide __p__winver() function also for ARM msvcrt.dll import library
ARM32 and ARM64 OS system version of msvcrt.dll do not have neither _winver
global variable, nor __p__winver() function. But they have _winmajor and
_winminor global variables.

Provide __p__winver() function emulation for ARM msvcrt import library via
via values of _winmajor and _winminor global variables.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-18 13:57:43 +03:00
Martin Storsjö
d5d0722b53 crt: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-18 13:43:32 +03:00
Pali Rohár
4751f2753a crt: Define and use __p_ function for _osplatform
Global variable _osplatform for i386 is provided in new versions of
msvcrt.dll and then also in msvcr70.dll, msvcr71.dll and msvcr80.dll.
For x64 it is provided in all msvcrt.dll and msvcr80.dll versions.

Function __p__osplatform() which returns pointer to global variable
_osplatform is provided only in i386 and x64 versions of msvcr80.dll.

On ARM systems there is no _osplatform platform variable and neither
__p__osplatform() function. UCRT does not provide them for any arch.

Provide missing function __p__osplatform() for i386 and x64 versions of
msvcrt.dll, then for i386 msvcr70.dll and msvcr71.dll and change definition
of _osplatform in header file to use __p__osplatform() function.

This aligns definition with msvc and avoid referencing another global
variable from mingw-w64 header files.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-18 13:42:29 +03:00
Martin Storsjö
4a3a91e603 crt: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-18 13:39:28 +03:00
Pali Rohár
0fc345169f crt: Fix stat, _stat, _stat32, fstat, _fstat and _fstat32 for crtdll.dll builds
crtdll.dll's struct _stat is different than msvcrt.dll's struct _stat.
crtdll.dll's dev_t type (used in struct _stat) is short but msvcrt.dll's
dev_t type is unsigned int.

Fix this problem by providing mingw-w64 _stat32() and _fstat32() compatible
wrappers around crtdll.dll's _stat() and _fstat() functions. And then
redefining _stat, _fstat and fstat symbol aliases to the wrapper functions.

Advantage of this approach over adding #ifdef for crtdll builds into header
file for dev_t type is ABI compatibility between crtdll builds and other
CRT builds, at the expense of a bit more glue code in crtdll.dll import
library.

Note that mingw-w64 already provides custom stat() implantation which calls
_stat32() and therefore it already resolves to the correct function. No
need to update stat() function or its alias.

This change makes it possible to use stat functions from mingw-w64 header
files also with crtdll.dll library (via wrappers in crtdll import library).

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-18 13:38:52 +03:00
Pali Rohár
e81c74532a crt: Disable gcc warning for imaxdiv function alias
gcc 8+ throws warning during imaxdiv.c compilation:

  misc/imaxdiv.c:34:1: warning: ‘lldiv’ alias between functions of incompatible types ‘lldiv_t(long long int,  long long int)’ {aka ‘struct <anonymous>(long long int,  long long int)’} and ‘imaxdiv_t(intmax_t,  intmax_t)’ {aka ‘struct <anonymous>(long long int,  long long int)’} [-Wattribute-alias]
    lldiv (long long, long long);
    ^~~~~
  misc/imaxdiv.c:23:1: note: aliased declaration here
    imaxdiv(intmax_t numer, intmax_t denom)

lldiv_t and imaxdiv_t structures are compatible, they have same members,
just defined for each function separately. This is how they are defined
also in MS VC++ header files.

Warning could be avoided by using typedef between structures, but this may
cause problems for C++ applications which overloaded functions which have
lldiv_t or imaxdiv_t parameters.

So rather locally disable this warning for gcc. Current code should be OK.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-18 12:18:30 +03:00
LIU Hao
22a2510bef crt: Fix libscrnsave
1. Remove trailing whitespace.
2. Silence warnings about conversion between function pointers.
3. Silence warnings about unused parameters.
4. For 64-bit targets, parse handle values as 64-bit integers.
5. Handle `WM_ACTIVATE` properly. Previously it fell through to `WM_MOUSEMOVE`
   which worked by accident.

Reference: https://learn.microsoft.com/en-us/windows/win32/api/scrnsave/nf-scrnsave-defscreensaverproc
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-09-17 21:52:45 +08:00
Pali Rohár
a4679991ed headers: Fix wspiapi.h warning: cast between incompatible function types
When casting from function pointer which takes some parameters and returns
void to function pointer which returns non-void and may take some
parameters, then gcc throws following warning:

  warning: wspiapi.h:50:20: warning: cast between incompatible function types from ‘void (__attribute__((stdcall)) *)(struct addrinfo *)’ to ‘int (__attribute__((stdcall)) *)()’ [-Wcast-function-type]

Avoid this warning by first casting to (void(*)(void)) pointer and then to
final (FARPROC) function pointer. Casting from and to (void(*)(void)) gcc
and clang does not throw incompatible cast warnings.

See: https://gcc.gnu.org/gcc-14/porting_to.html#incompatible-pointer-types
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-17 00:11:51 +03:00
Martin Storsjö
a328601030 crt: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-14 23:32:48 +03:00
Pali Rohár
bf26669a86 crt: Define and use __p_ functions for _osver, _winmajor, _winminor and _winver
_osver, _winmajor, _winminor and _winver global variables are available
since the first crtdll.dll library up to the msvcr80.dll (both i386 and
x64), including OS system version of msvcrt.dll. ARM versions of msvcrt.dll
is missing _winver variable (but others are present). __p_ functions which
return pointers to these variables are missing just in crtdll.dll,
msvcrt10.dll and non-i386 versions of msvcrt.dll.

Provide missing __p_ functions for libraries which provides global
variables and defines _osver, _winmajor, _winminor and _winver via
__p_ functions in header files.

This aligns definitions of these version macros with msvc (which also
defines them via __p_ functions) and also with other definitions in
mingw-w64 header files (which also use __p_ functions instead of global
__MINGW_IMP_SYMBOL).

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-14 23:32:10 +03:00
Martin Storsjö
79197aa4bc crt: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-14 23:26:18 +03:00
Pali Rohár
df662961ab crt: Include __p__iob() symbol into x64 and ARM versions of msvcrt.dll
In file msvcrt.def.in is mentioned that symbol __p__iob is provided by
mingw-w64 emulation. But it is not yet. Functions __p__iob() and
__iob_func() returns same pointer to first member of _iob[] array, so
define __p__iob symbol for non-i386 builds as alias to __iob_func symbol.
Symbol __iob_func is present in all non-i386 versions of msvcrt.dll
library.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-14 23:25:11 +03:00
Pali Rohár
afea8d03f4 crt: Include __p___mb_cur_max, __p__pctype and __p__pwctype symbols into x64 and ARM versions of msvcrt.dll
In file msvcrt.def.in is mentioned that symbols __p___mb_cur_max,
__p__pctype and __p__pwctype are provided by mingw-w64 emulation, but
source files which provide them are missing in Makefile.am sections for
building msvcrt.dll import libraries. Fix this problem.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-14 23:25:11 +03:00
Pali Rohár
37a5ac28da crt: Fix atexit() function for every import library
mingw-w64 startup code already provides its own atexit() functions.
Implementation for DLL and EXE builds differs because version for DLL
builds has to be called at the time when unloading DLL library whereas
version for EXE builds is called at process termination. DLL version of
atexit() stores atexit's function pointers into own table which is called
from DLL unload hook. EXE version just calls CRT's _onexit() function.

Some msvcrt def files provide atexit function symbol without DATA keyword,
which is than exported from msvcrt import library. And so it conflicts with
the atexit symbol from startup file and makes atexit function unusable.

UCRT libraries do not have this problem because they provide atexit
function under different name _crt_atexit.

Fix msvcrt symbol conflicts by renaming atexit function to _crt_atexit in
every CRT def file. This will ensure compatibility with UCRT and also that
applications would call atexit function from mingw-w64 startup file and not
from CRT import library.

Also change atexit implementation in exe startup file to directly call
_crt_atexit() function instead of _onexit(). This will simplify usage as
UCRT does not have _onexit() function (mingw-w64 provides only _onexit
wrapper around _crt_atexit) and msvcrt's atexit() function (renamed to
_crt_atexit() in def file) is doing same thing as msvcrt _onexit().

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-09-11 00:13:30 +02:00
Martin Storsjö
ff3f23c078 crt: Use _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS in narrow printfs
Currently, _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS only affects the
format for wide strings, but include it everywhere for consistency.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-09-06 13:49:07 +03:00
Pali Rohár
6a33003ead crt: Fix return value of IMAGE_TLS_CALLBACK functions and remove explicit pointer casting
Fixes compile warnings:

    crt/tlssup.c:104:53: warning: cast between incompatible function types from ‘BOOL (__attribute__((stdcall)) *)(void *, DWORD,  void *)’ to ‘void (__attribute__((stdcall)) *)(void *, DWORD,  void *)’ [-Wcast-function-type]
     const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback = (const PIMAGE_TLS_CALLBACK) __dyn_tls_init;
                                                         ^
    crt/tlssup.c:105:52: warning: cast between incompatible function types from ‘BOOL (__attribute__((stdcall)) *)(void *, DWORD,  void *)’ to ‘void (__attribute__((stdcall)) *)(void *, DWORD,  void *)’ [-Wcast-function-type]
     _CRTALLOC(".CRT$XLC") PIMAGE_TLS_CALLBACK __xl_c = (PIMAGE_TLS_CALLBACK) __dyn_tls_init;
                                                        ^
    crt/tlssup.c:171:52: warning: cast between incompatible function types from ‘BOOL (__attribute__((stdcall)) *)(void *, DWORD,  void *)’ to ‘void (__attribute__((stdcall)) *)(void *, DWORD,  void *)’ [-Wcast-function-type]
     _CRTALLOC(".CRT$XLD") PIMAGE_TLS_CALLBACK __xl_d = (PIMAGE_TLS_CALLBACK) __dyn_tls_dtor;
                                                        ^

TLS callback function must return void, not BOOL.

`__dyn_tls_init` and `__dyn_tls_dtor` have external linkage in Microsoft UCRT.

Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-09-04 11:33:33 +08:00
LIU Hao
83429508ff crt: Regenerate Makefile.in
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-09-02 23:00:24 +08:00
Biswapriyo Nath
fd33149ac4 crt: Add new functions in wintrust import library
Required for https://sourceforge.net/p/mingw-w64/bugs/993/

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-09-02 22:59:54 +08:00
Biswapriyo Nath
b1ee648aa5 crt: Move wintrust to lib-common
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-09-02 22:59:54 +08:00
Biswapriyo Nath
4cf86b8792 crt/libsrc: Enable scrnsave code
Required for https://sourceforge.net/p/mingw-w64/mailman/message/58809472/

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-08-26 10:14:43 +08:00
Martin Storsjö
b2bac2bb07 crt: Avoid using powf in UCRT on i386, temporarily
This reverts parts of 52c98b1273.

While powf indeed is available in UCRT on i386 too, it's missing
in Wine's i386 ucrtbase.dll (as of Wine 9.15). This probably stems
from the same mistake originally. (Most of the float math functions,
suffixed with -f, are unavailable in the i386 UCRT, but powf is
available.)

This was fixed in upstream Wine in commit
5393ba55464f3346bad7b98e11733348f2b64c6f, which will be part of
the upcoming Wine 9.16.

Thus, to allow built executables to run on current Wine versions,
avoid linking against this function, as a temporary workaround.

After a grace period, to let fixed versions of Wine become more
widely available, we can revert this, to link against powf
on i386 too.

At that point, we can stop including math/powf.c in src_ucrtbase32
in Makefile.am too.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-08-23 10:42:40 +03:00
Pali Rohár
121331cffd crt: Deduplicate symbols from ucrtbase.def.in and ucrtbased.def.in files into ucrtbase-common.def.in
List of symbols in ucrtbase.def.in and ucrtbased.def.in are very similar.
So move them into one common file ucrtbase-common.def.in and based on
DEF_DEBUG definition choose if the symbol list is for debug ucrtbased.dll
or release ucrtbase.dll library.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-08-19 23:45:04 +03:00
Martin Storsjö
536d7e5d6c crt: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-08-19 23:19:20 +03:00