Timo Kreuzer
7757ebfbad
[WINESYNC] ucrtbase: Implement _malloc_base.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 5325b8c95112be75f4fa0e2e2e45bcc88434fb5d by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
0dfd5665c0
[WINESYNC] ucrtbase: Implement _calloc_base.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id fdc57d497bb305e90680c3b450fa172042fd79cd by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
1d6ec8555d
[WINESYNC] msvcrt: Handle overflow in calloc().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 50dd4b892825c75db35cd1f378291b51fa782f3e by Nikolay Sivov <nsivov@codeweavers.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
977e236102
[WINESYNC] msvcrt: memmove_s shouldn't zero its output buffer on error.
...
wine commit id 49560458426cf25b6a36bbf9bad35aa75c9f7aa7 by Dan Kegel <dank@kegel.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
8fa0886fb9
[CRT] Reduce diff to wine by adjusting white space
2023-02-02 14:58:08 +01:00
Timo Kreuzer
f34e425e1a
[WINESYNC] msvcrt: Don't fail when _aligned_offset_malloc is used with size=0.
...
wine commit id 7771552f247660acc472b4862f32c4f8426be180 by Piotr Caban <piotr@codeweavers.com>
2023-01-24 18:53:13 +01:00
Timo Kreuzer
739c9a1e77
[WINESYNC] msvcrt: Fixed strncpy_s behavior when count equals 0.
...
wine commit id bdf9a9f9bd56354f70a7431a9682183b84353211 by Piotr Caban <piotr@codeweavers.com>
2023-01-24 18:53:13 +01:00
Timo Kreuzer
c36ea58f32
[CRT] Add a number of functions from wine
...
This adds _aligned_msize, _recalloc, wmemmove_s, memcpy_s, wmemcpy_s
2023-01-24 18:53:13 +01:00
Timo Kreuzer
d0a52a6d71
[CRT] Reduce diff
...
- use msvcrt_set_errno
- MSVCRT_CHECK_PMT already sets the error.
- NULL check is already in HeapFree
2023-01-24 18:53:13 +01:00
Timo Kreuzer
c47506a5f4
[CRT] Use the original wine heap functions
2023-01-24 18:53:13 +01:00
Timo Kreuzer
cf40758d76
[CRT] reduce diff to wine of heap code
...
No functional changes intended.
2023-01-24 18:53:13 +01:00
Timo Kreuzer
73ef1c3c8b
[CRT] Get back MSVCRT prefix in wine heap code
2023-01-24 18:53:13 +01:00
Timo Kreuzer
dacbc603b6
[CRT] Add simplistic fallback implementation of sincos to make GCC 11 happy
2022-12-01 15:21:59 +02:00
Timo Kreuzer
28c41b7d22
[CRT] Replace amd64 math functions/stubs with libm
2022-12-01 15:21:59 +02:00
Timo Kreuzer
1ad4106b84
[CRT] Add basic version of handle_error
2022-12-01 15:21:59 +02:00
Timo Kreuzer
3d497ca883
[CRT] Improve _matherr handling
2022-12-01 15:21:59 +02:00
Timo Kreuzer
4d50f81419
[CRT] Implement _set_statfp
2022-12-01 15:21:59 +02:00
Timo Kreuzer
7277e26944
[LIBM] Fix ldexp.c / ldexpf.c
2022-12-01 15:21:59 +02:00
Timo Kreuzer
4f348ee971
[LIBM] Add ldexp.c and ldexpf.c from aocl-libm-ose
2022-12-01 15:21:59 +02:00
Timo Kreuzer
105426b81a
[LIBM] Fix up some asm files
...
This allows to compile them with GAS after translation
2022-12-01 15:21:59 +02:00
Timo Kreuzer
af6d3bb18f
[LIBM] Convert tables from asm to C
2022-12-01 15:21:59 +02:00
Timo Kreuzer
9e8ed3f817
[LIBM] Fix build
2022-12-01 15:21:59 +02:00
Timo Kreuzer
4afb647c78
[LIBM] Import win-libm from AMD
...
Source: https://github.com/amd/win-libm
2022-12-01 15:21:59 +02:00
Timo Kreuzer
3aa3b3af56
[CRT] Implement portable ceil/floor
2022-08-26 00:44:46 +02:00
Timo Kreuzer
76086220fa
[CRT] Fix amd64 floating point control functions
2022-08-22 11:22:08 +02:00
Timo Kreuzer
bc9409daba
[CRT] Add round and roundf and add it to msvcrtex to make clang v14 happy
2022-07-17 17:32:32 +02:00
Timo Kreuzer
b85afdfd25
[CRT] Implement portable + amd64 asm version of fabs/fabsf
...
Note: older versions of ML64 are broken and don't understand the register form of movq.
See https://stackoverflow.com/questions/24789339/move-quadword-between-xmm-and-general-purpose-register-in-ml64
2022-06-26 19:13:47 +02:00
Victor Perevertkin
447ef2aa4a
[CMAKE] Do not use USE_CLANG_CL variable in CMake scripts
2022-05-27 01:37:37 +03:00
Victor Perevertkin
f155b9377f
[CMAKE] Elimitate the use of GCC and CLANG variables
2022-05-27 01:37:34 +03:00
Justin Miller
4363e74ddc
[REACTOS] Finally get some ARM64 applications building ( #4517 )
...
- Add some missing ARM64 exports to ntdll, kernel32 and user32
- Create mmtypes header file based on WoA debug symbols
- Get the remaining headers in order, so we can build ARM64 apps
- Adjust subsystem version for binaries so they can run on WoA host
- Get calc, notepad and more base apps to build for ARM64 platform
CORE-17518
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-25 17:06:32 +03:00
Thomas Faber
4cf9b7985e
[CRT] Fix MSVC version of call_handler
2022-01-21 20:00:41 -05:00
Serge Gautherie
724774505e
[CRT/arm64] Build wine/except_arm64.c
...
Follow-up to 9efafd6
(0.4.14-dev-934).
CORE-17518
2022-01-11 20:52:34 +03:00
Serge Gautherie
1449523c6d
[CRT] mem/: Fix msvc14.0-amd64 build
...
Addendum to aea4cfb
.
2021-12-28 01:55:38 +03:00
Serge Gautherie
0a6750da12
[CRT] stdio/file.c: Import 3 Wine one-liner fixes ( #4101 )
...
* [FORMATTING][CRT] stdio/file.c: Reduce diff with Wine.
* [CRT] _wfreopen(): Fix TRACE() format modifier
Import wine-1.4-rc3 f8b29a0
by Eric Pouech.
* [CRT] msvcrt_init_io(): Ignore inherited FDs with invalid handles
Import wine-6.2-32-g611742d by Paul Gofman,
except test part, which shall be WineSync separately.
* [CRT] _dup2(): Fix clearing NOINHERIT flag
Import wine-6.20-44-g1420d28 by Piotr Caban.
2021-11-18 23:23:12 +01:00
Doug Lyons
252a7530d0
[CRT] Do Not lock ioinfo when spawning functions ( #4099 ) CORE-15176
...
This fixes CORE-15176 'Gimp 2.6.11 hangs when opening a file'.
It regressed by 0.4.9-dev-446-g bffd8201d0
I do intend to port this fix back.
2021-11-11 18:30:43 +01:00
Justin Miller
be223b9de7
[SDK] Allow ARM64 MSVC to complete configuration ( #4045 )
...
- Add some of the missing CMake adjustments to continue the configure and compile process with ARM64 MSVC
- Created quick stubs for the functions in SDK needed to finish the configuration process
- Put in an ARM64 option for spec2def
CORE-17518 CORE-17615
2021-10-22 18:52:32 +03:00
Victor Perevertkin
55f1f3000a
[CMAKE] Remove /fallback compile flag from clang-cl builds
...
This option is not needed anymore and was removed from LLVM 13
2021-10-14 20:30:27 +03:00
Hermès Bélusca-Maïto
9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93
.
...
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Stanislav Motylkov
3f4c98a425
[ARM] Fix some compilation errors for ARM
...
CORE-17634 CORE-17604
2021-09-09 19:40:20 +03:00
Roman Masanin
9c4e3234ba
[CRT/ARM] Integer to float conversion implementation ( #3866 )
...
CORE-17713 CORE-17706 CORE-17604
2021-09-09 16:02:03 +03:00
Roman Masanin
554bbb6bab
[CRT/ARM] Floating point control functions implementation ( #3870 )
...
Implement controlfp, statusfp, fpreset, clearfp. CORE-17757 CORE-17604
2021-09-08 16:04:48 +03:00
Victor Perevertkin
6ef6fabfc5
[FREELDR][NTOS][HALPPC][SDK] Remove PowerPC code
...
Remove PowerPC-related code from the kernel, HAL, SDK and
Freeloader.
2021-08-15 15:35:51 +03:00
Jérôme Gardou
0782375f8b
[CRT] Add one missing entry to _syserr_list array, fix _sys_nerr definition
...
Partial revert of 296e07b94d
2021-08-05 15:35:19 +02:00
Timo Kreuzer
e91f201be2
[CRT] Implement crt_process_init()
2021-08-04 02:03:07 +02:00
Timo Kreuzer
8043b76e85
[CRT] Improve CMake files
2021-08-04 02:03:07 +02:00
Timo Kreuzer
950e814377
[CRT] Fix _fmode
...
Remove mingw-w64 version of _fmode. _fmode should not be linked directly into the executable. Instead, the export from msvcrt should be used. On Windows 10 it's defined to *__p__fmode(), which is exported from ucrtbase.dll
Also _fmode in msvcrt.dll is initialized with 0.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
296e07b94d
[CRT] Fix some data exports
...
* Fix initialization of _commode. In msvcrt it is allocated from .bss, i.e. initialized with 0.
* _fileinfo is initialized with -1
* _aexit_rtn is a pointer, not a function
* Fix _sys_nerr
2021-08-04 02:03:07 +02:00
Timo Kreuzer
379957424c
[CRT] Fix some _CRTIMP
...
Get rid of the ugly __MINGW_IMP_SYMBOL hacks.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
b05cc36208
[CRT] Fix CRT headers a bit
...
* Remove unused internal version of float.h
* Define _STATIC_ASSERT in crtdefs.h
* Add some missing declarations
2021-08-04 02:03:07 +02:00
Timo Kreuzer
0f3d052af9
[CRT] Remove _fmode and _commode initialization
...
This "initialization" copies the value of the local variable to the one exported from msvcrt, which is the same. Also there shouldn't be a local version of the variable in the first place.
2021-08-04 02:03:07 +02:00
Victor Perevertkin
03506b90e0
[MSVCRTEX] Add some routines required for clang optimizations
...
- Include exp2* in all clang builds
- Include __aulldiv for i386 ones
Those are required, at least for clang-cl Release configuration
2021-08-02 20:23:18 +03:00
Roman Masanin
be3c532bf4
[ARM/CRT] Refactor several functions ( #3865 )
...
- Make __fto64 function more readable
- Call worker function directly for __rt_sdiv/udiv
- Adapt __rt_sdiv64/udiv64 asm shims accordingly
- Add header files to CMake source list
CORE-17607 CORE-17614 CORE-17703 CORE-17604
Addendum to f2bc1f0e
, e448094e
and 54406bf4
.
2021-07-31 11:24:03 +03:00
Stanislav Motylkov
54406bf4f0
[CRT/ARM] __fto64: Assembly wrappers are actually not needed anymore
...
Addendum to e448094e
. CORE-17703 CORE-17604
2021-07-30 22:48:03 +03:00
Roman Masanin
e448094e74
[CRT/ARM] Implement __dtoi64/dtou64/stoi64/stou64 functions ( #3848 )
...
CORE-17703 CORE-17604
2021-07-30 14:20:23 +03:00
Roman Masanin
fd8baca9f2
[CRT/ARM] Fix modulus on division ( #3856 )
...
This fixes all tests added in 759bdedc
. Addendum to f2bc1f0e
.
CORE-17607 CORE-17614 CORE-17604
2021-07-29 13:44:16 +03:00
Timo Kreuzer
da2a5673e7
[CRT] Fix _matherror and _setusermatherror
...
We previously used 2 different versions: one from wine and one from mingw-w64.
The former was used in msvcrt, the latter was statically compiled into the executable. When using MS libs, there is only one _matherr, which is statically linked into the executable and does nothing (it's not really a function for users to be called).
_setusermatherror should only exist in msvcrt and not statically, which wouldn't work at all.
2021-07-27 22:08:58 +02:00
Timo Kreuzer
f1e2c6cbd0
[CRT/arm] Update file headers to new format and change license to MIT
...
* Add Raman Masanin to copyrights
* Add some comments
* Return long long from __rt_sdiv (no functional difference, just for clarity)
2021-07-27 14:42:55 +02:00
Roman Masanin
f2bc1f0e11
__rt_div fixes for arm ( #3843 )
...
[CRT/arm] Fix __rt_udiv and __rt_sdiv
2021-07-24 20:23:58 +02:00
Timo Kreuzer
5d8e834897
[REACTOS] Fix a number of MSVC warnings
2021-07-23 22:03:48 +02:00
Timo Kreuzer
7100a24fc3
[CRT] Remove checkstk_ms from build (it was unused)
2021-07-20 23:13:03 +02:00
Timo Kreuzer
8c4aff39a8
[CRT] Refactor CMake files
2021-07-20 23:13:03 +02:00
Timo Kreuzer
aea4cfba55
[CRT] Add some missing #pragma function
2021-07-11 21:45:29 +02:00
Jérôme Gardou
0ffbbab5a2
[CRT] Revert unwanted part of f30136bc79
2021-06-29 12:48:25 +02:00
Jérôme Gardou
f30136bc79
[NTOS:KE] Test spinlock ownership on both UP & MP build
...
There is no reason not to, and this avoids introducing bugs stupidly.
2021-06-29 11:49:20 +02:00
Victor Perevertkin
34593d933b
[FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces
2021-06-11 15:33:08 +03:00
Timo Kreuzer
0520c75aaf
[CRT] Implement __C_specific_handler
2021-06-05 13:52:42 +02:00
Stanislav Motylkov
11687e9e43
[CRT][ARM] Fix uninitialized variables caught by RTC
...
CORE-17613
2021-06-02 13:18:40 +03:00
Timo Kreuzer
db0c59cbd4
[CRT] Use the asm version of sqrt on amd64
2021-05-28 11:52:42 +02:00
Jérôme Gardou
802665a4ac
[CRT] Also use alias _rot functions for clang-cl amd64 build
2021-05-03 22:00:57 +02:00
Jérôme Gardou
439aefb31d
[CRT] Sync tlssup.c with mingw-w64
...
This allows amd64 built binary to be loaded.
2021-04-28 13:10:23 +02:00
Jérôme Gardou
fe3278d4d6
[CRT] We never use the mthread library
2021-04-28 13:10:23 +02:00
Jérôme Gardou
d31856cda1
[CRT] Do not include unneeded PSEH header
2021-04-28 13:10:23 +02:00
Jérôme Gardou
e470b58376
[REACTOS] Explicitly link against pseh & include pseh headers in a few places
2021-04-28 13:10:23 +02:00
Serge Gautherie
b8ae966634
[CRT] exp2*.c: Add an explicit type for 'TWO' variable
...
Addendum to 199adee
.
2021-04-27 10:36:54 +03:00
Jérôme Gardou
3731fd1661
[CRT] Properly declare rot functions in public headers
2021-04-09 15:12:13 +02:00
Jérôme Gardou
620f333252
[CRT] Fix rot functions aliases in non-x86 clang builds
2021-04-09 15:00:07 +02:00
Jérôme Gardou
199adee3fe
[CRT] Add a generic C version of exp2(f) and use it for all architecture
2021-04-09 14:59:07 +02:00
Jérôme Gardou
3a14c97d0c
[LIBCNTPR] Fix a typo
...
There is no console to display to.
2021-03-25 11:54:49 +01:00
Jérôme Gardou
162f51e6b8
[OLDNAMES] Add missing isascii
2021-03-17 18:52:58 +01:00
Jérôme Gardou
0c34c067c4
[CRT] Add CFI annotatiions to memmove function
2021-03-09 19:42:49 +01:00
Jérôme Gardou
2306c83e5c
[CMAKE] Explicitly declare libcntpr as a static lib
2021-03-03 08:34:32 +01:00
Hervé Poussineau
bbf7b5b72a
[CRT/x64] Correctly implement fabs for GCC
...
Note that MSVC does not recognize 'fabs' as a valid label name.
See fee844b6ff
and 2f7cf157d8
2021-02-01 19:57:12 +01:00
Hervé Poussineau
c345f7f137
[ASM x64] Make UNIMPLEMENTED macro self-suffisant
...
This fixes link errors with MsgUnimplemented not defined on binaries not linking to CRT.
2021-01-28 20:31:16 +01:00
Jérôme Gardou
af3527d4d2
[MSVCRTEX] Do not include _CI* math functions
...
They are exported by msvcrt
CORE-17423
2021-01-21 09:43:43 +01:00
Mark Jansen
69dffed3f7
[CMAKE] Fix MSVC configuring
2021-01-15 20:43:10 +01:00
Hervé Poussineau
0cce1348c6
[CRT/x64] Make _fpreset/_logb public, as they are exported using the .spec file
2021-01-07 21:12:11 +01:00
Hervé Poussineau
a644e7f5fd
[CRT/x64] Disable MSVCRT__setjmp function, which references non-existent function __wine_setjmpex
...
_setjmp is already defined in sdk/lib/crt/setjmp/amd64/setjmp.s
2021-01-07 21:12:11 +01:00
Hervé Poussineau
80b1b0b294
[CRT] Fix hack for GCC x64, when CRT is linking against RosBE libstdc++
2021-01-05 19:24:23 +01:00
Jérôme Gardou
c8d07514c8
[CMAKE] Fix GCC -fstack-protector usage
2021-01-05 13:38:57 +01:00
Jérôme Gardou
8a6d653044
[CRT] Fix _onexit
...
Avoid calling malloc in CR initialisation code.
Have executables call msvcrt implementation, while the DLLs keep their own function tables
CORE-17362
2020-12-30 19:03:52 +01:00
Jérôme Gardou
6c6d9bee68
[CRT] Do not call atexit at process initialization
...
There is no guarantee that the underlying APIs are initialized at this point
CORE-17362
2020-12-30 19:03:52 +01:00
Jérôme Gardou
26863538a4
[CRT] Format source a bit.
...
This is horrendous.
2020-12-30 19:03:52 +01:00
Jérôme Gardou
b96e88894a
[CMAKE] Turn import libs into regular C static libs
...
Embed msvcrtex into libmsvcrt
Idea taken from Thomas Faber
2020-12-28 12:13:30 +01:00
Jérôme Gardou
281389b7e7
[CRT] Use ASM aliases for CLang builds
2020-11-16 16:58:10 +01:00
Jérôme Gardou
15c9f63b65
[MSVCRTEX] Add some floating point functions for CLang build
...
Clang makes optimisations requiring functions not present in msvcrt
2020-11-16 16:58:10 +01:00
Timo Kreuzer
2c791cdde7
[CRT] Remove duplicated atexit/onexit code
...
This removes the broken wine version of atexit and onexit. It keeps only dllonexit, which is implemented properly. The previous __call_atexit is moved to where the mingw onexit/atexit code is and adjusts it to work with the existing code. A call to __call_atexit is added in __tmainCRTStartup after the main function was called.
2020-11-01 09:33:14 +01:00
Jérôme Gardou
23e04ae1ee
[CMAKE] Use an INTERFACE library to perform the msvcrt <-> msvcrtex binding
2020-10-22 18:07:27 +02:00
Jérôme Gardou
ab825334dd
Apply suggestions from code review
...
Beautification and clarity
Co-authored-by: Victor Perevertkin <victor@perevertkin.ru>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2020-10-20 21:44:54 +02:00
Jérôme Gardou
00ed72d7e8
[CMAKE] Get rid of add_compile_flags
...
Use add_compile_options and the like instead
2020-10-20 21:44:54 +02:00
Timo Kreuzer
64d7db506c
[CRT] Return from fpreset()
2020-09-20 23:08:17 +02:00