Commit graph

454 commits

Author SHA1 Message Date
Thomas Faber
40ee59d609
[LIBXML2] Update to version 2.9.12. CORE-17766 2021-09-18 21:42:26 -04: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
Hermès Bélusca-Maïto
9b1edceae1
[REACTOS] Fix some instances of DPRINTs with trailing whitespace before newlines. 2021-09-13 03:52:19 +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
Serge Gautherie
d6002f9475 [CMLIB] arm64: Define PAGE_SIZE
CORE-17518
2021-09-03 23:40:21 +03:00
Kento Oki
3ba1d82c41
[RTL/x64] Fix a typo RtplUnwindInternal -> RtlpUnwindInternal (#3912) 2021-08-16 04:23:02 +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
Victor Perevertkin
49cfac17c5
[FFS] Remove the FFS/UFS driver
The upstream driver is not maintained and the file system itself
is in a semi-abandoned state.
Originally imported at 3a3ef631d1

The driver is written by Lee Jae-Hong, updated by Bo Brantén.
ReactOS porting made by Peter Hater and Pierre Schweitzer.
Follow updates at http://www.acc.umu.se/~bosse/

FS Recognizer code is left to keep the FS support as an
installable driver.

CORE-11040
2021-07-30 17:14:57 +03:00
Victor Perevertkin
2e2190df57
[REISERFS] Remove the ReiserFS driver
The upstream driver is not maintained and the file system itself
is in a semi-abandoned state.
Originally imported at e308102f4a

The driver is written by Mark W Piper, updated by Bo Brantén.
ReactOS porting made by Peter Hater and Pierre Schweitzer.
Follow updates at http://www.acc.umu.se/~bosse/

FS Recognizer code is left to keep the FS support as an
installable driver.

CORE-11005
2021-07-30 17:14:53 +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
Serge Gautherie
9a42267b06 [CPPRT] arm: Add 2 'MSVCRTEX_eh_vector_*structor_iterator' aliases
CORE-17606
2021-07-26 09:58:20 +03: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
41bc57ddf0 [REACTOS] Silence warnings in 3r-party code 2021-07-23 22:03:48 +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
Timo Kreuzer
d24700f82e [RTL/x64] Properly handle UNW_FLAG_CHAININFO 2021-07-03 12:56:48 +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
Jérôme Gardou
835c30232e [NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use
KD64: Raise to HIGH_LEVEL when entering trap
KDBG: lower to DISPATCH_LEVEL when applying IRQL hack & use a worker thread to load symbols
KD&KDBG: Actually unload symbols when required
2021-06-29 11:49:20 +02:00
Hermès Bélusca-Maïto
31322f5df9
[CONUTILS:PAGER][MORE] Implement text line caching + fix some bugs.
- Implement caching of individual (newline-separated) text lines; this
  behaviour can be enabled with a flag (enabled by MORE):
  CON_PAGER_CACHE_INCOMPLETE_LINE.
  This feature is necessary when reading a text file, whose text lines
  may span across two or more successive temporary read buffers, and is
  required for correctly determining whether the lines being read are
  blank and may be squeezed.

- When squeezing blank lines, the blank-line check must be done for each
  line segment corresponding to the screen line (and following) that
  need to be displayed. This matches the behaviour of MS MORE.COM.

- Fix the IsBlankLine() check to not consider FORM-FEEDs as being blank
  characters: This is necessary for correctly handling FORM-FEED
  expansion. Also note that MS MORE.COM only checks for spaces and TABs,
  so we are slightly overdoing these checks (considering other types of
  whitespace).

- Get rid of ConCallPagerLine() and the intermediate CON_PAGER_DONT_OUTPUT
  state flag that were used repeatedly for each and every small line
  chunks. Instead, call directly the user-specified 'PagerLine' callback
  when we are about to start treating the next line segment to be
  displayed (see comment above).

- Fix the exit return condition of ConPagerWorker(): it should return
  TRUE whenever we displayed all the required lines, and FALSE otherwise.
  Otherwise, the previous (buggy) condition on the data being read from
  the text file, may lead to the prompt not showing when a screenful of
  text has been displayed, if it happened that the current text buffer
  becomes empty at the same time (even if, overall, the text file hasn't
  been fully displayed).

- In MorePagerLine(), when we encounter for the first time a blank line
  that will be squeezed with other successive ones, display a single
  blank line. But for that, just display one space and a newline: this
  single space is especially needed in order to force line wrapping when
  the ENABLE_VIRTUAL_TERMINAL_PROCESSING or DISABLE_NEWLINE_AUTO_RETURN
  console modes are enabled. Otherwise the cursor remains at the
  previous line (without wrapping), and just outputting one newline will
  not make it move past 2 lines as one would naively expect.
2021-06-28 21:26:32 +02:00
Hermès Bélusca-Maïto
aff90f530c
[CONUTILS:PAGER] Extract the character-specific handling out of the character-loop.
This also allows to factor out the ConCallPagerLine() call for outputting the pending text.
2021-06-28 21:26:32 +02:00
Hermès Bélusca-Maïto
ff445ca184
[CONUTILS:PAGER][MORE] Fix the default paging region.
- The column extent should cover the whole width of the console screenbuffer.
  On the contrary, the line extent covers only the number of lines that
  cover the current displayed console window.

- Since the console can be resized while the pager is prompting, we need
  to actually recalculate in the prompt routine the default number of
  lines for a screen.

- Reset s_nNextLineNo when paging a new file.
2021-06-28 21:26:31 +02:00
Hermès Bélusca-Maïto
f74a3f6e29
[CONUTILS:PAGER][MORE] Code style/formatting.
- Shorten the names of the flags: CON_PAGER_FLAG_*** --> CON_PAGER_***.
- Reorder few members in the CON_PAGER pager structure where they make sense.
- ScreenColumns, ScreenRows --> PageColumns, PageRows: keeping the open
  possibility for having a pager controlling a region of different size
  than the screen.
- Add doxygen documentation for ConWritePaging().
2021-06-28 21:26:30 +02:00
Jérôme Gardou
d1f5c31820 [SDK] Add GCC overrides for SAL annotations
GCC has some functions, variables & type attributes which can be used as aliases
for some of the SAL annotations. Although it's not as rich & precise, it's still useful
since we actually enable -Werror on GCC builds whereas we don't use such an option
on MSVC builds.

For now, _Must_inspect_result_ is aliased to warn_result_unused attribute.
2021-06-28 10:20:57 +02:00
Jérôme Gardou
e55eeb2d9c [WDF] Synchronize function attributes between declaration & definition
Addendum to 1f377076d7
2021-06-28 10:20:57 +02:00
Jérôme Gardou
46394ab80d [RTL] In RtlReleasePrivilege, raise exception if restoring old privileges fails
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
fb9ebe17bf [RTL] When taking system volume ownership, assert that we succeeded to restore privileges
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
9c5b39e25a [RTL] Check and cascade down RtlGUIDFromString value
CORE-17637
2021-06-28 10:20:57 +02:00
Joachim Henze
81f8bcea8c [DSOUND][WAVE] Workaround crash when recording sound in Scratch 1.4 CORE-13202
It regressed by SVN r44721 == git 356d4bab16092de335705e02b0e87698ec35c393
when #define USE_MMIXER_LIB was removed.

Thanks to the patches author Doug Lyons.

VBox https://reactos.org/testman/compare.php?ids=77914,77919 LGTM
 KVM https://reactos.org/testman/compare.php?ids=77913,77918 LGTM
2021-06-27 23:04:36 +02:00
Hervé Poussineau
979b7d4d8e [TCPIP] Fix bugcheck when using fragmented datagrams
Memory was allocated from paged pool, and freed at DISPATCH_LEVEL,
leading to the following bugcheck:

*** Fatal System Error: 0x000000c2
                       (0x00000009,0x00000002,0x00000001,0xB7C8A268)

Entered debugger on embedded INT3 at 0x0008:0x8058324B.
kdb:> bt
Eip:
<ntoskrnl.exe:18324c (sdk/lib/rtl/i386/debug_asm.S:56 (RtlpBreakWithStatusInstruction))>
<ntoskrnl.exe:89b21 (ntoskrnl/ke/bug.c:1066 (KeBugCheckWithTf))>
<ntoskrnl.exe:8a08b (ntoskrnl/ke/bug.c:1413 (KeBugCheckEx))>
<ntoskrnl.exe:abb1d (ntoskrnl/mm/ARM3/expool.c:431 (ExFreePoolWithTag))>
<tcpip.sys:13e42 (sdk/lib/drivers/ip/network/receive.c:114 (FreeIPDR))>
<tcpip.sys:14e09 (sdk/include/ddk/wdm.h:11462 (IPDatagramReassemblyTimeout))>
<tcpip.sys:11604 (sdk/lib/drivers/ip/network/ip.c:135 (IPTimeoutDpcFn))>
<ntoskrnl.exe:8b7d0 (ntoskrnl/ke/dpc.c:282 (KiTimerExpiration))>
<ntoskrnl.exe:8c2c8 (ntoskrnl/ke/dpc.c:592 (KiRetireDpcList))>
<ntoskrnl.exe:1420b2 (ntoskrnl/ke/i386/thrdini.c:294 (KiIdleLoop))>
<ntoskrnl.exe:23a54a (ntoskrnl/ke/i386/kiinit.c:687 (KiSystemStartupBootStack))>
2021-06-27 17:45:53 +02:00
He Yang
42e111f26b
[ATL] Close m_hKey in CRegKey destructor and when attaching to a new key (#3764) 2021-06-24 23:50:01 +02:00
Jérôme Gardou
27fcfe66a2 [TCPIP][IP] Use an ERESOURCE as mutex for address files & connection end points
Spinlocks are not reentrant (and this is done a lot), using them forces us to have
an horrible hack in the kernel, which unschedules threads which are at DISPATCH_LEVEL
thus allowing another thread to take ownership of the spinlock while the unscheduled
thread should already hold it.

CORE-6473
2021-06-21 11:42:01 +02:00