TTimo Kreuzer[RSYM] Make the ROSSYM_ENTRY::Address field ULONG
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[ASMPP] Improve MASM translation for Clang IAS (#8981) * [ASMPP] Translate MASM NOT as bitwise complement MASM NOT is a bitwise operator. Emitting C/GAS logical negation changes numeric constant values, for example X87XAM_BAD becomes 0 instead of 0xf800. * [ASMPP] Support additional MASM expression operators Map MASM expression operators through a single helper and add support for shr, eq, ne, lt, le, gt, and ge. This keeps existing and/or/shl/not handling while allowing expressions outside the instruction-token set. * [ASMPP] Translate MASM if expressions Handle plain MASM if through the expression translator so operators like ne are emitted as Clang/GAS syntax. Keep ifdef, ifndef, else, and endif on the existing directive path. * [ASMPP] Handle RIP-relative numeric offsets Keep constant +/- offsets before the emitted [rip] suffix so Clang IAS sees forms like symbol+4[rip] instead of the invalid symbol[rip]+4. * [ASMPP] Balance FRAME procedure unwind directives Clang IAS rejects .func/.endfunc and requires .seh_endproc or .cfi_endproc to match an active frame. Track whether each PROC line contains FRAME, including forms such as PROC PRIVATE FRAME, and emit the closing unwind directive only for framed procedures. * [ASMPP] Simplify whitespace skipping for RIP offsets | 3 个月前 | |
[CABMAN] Fix GCC13 buffer format overflow warning (#7408) CORE-19724 sdk/tools/cabman/dfp.cxx:1136:36: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 1136 | sprintf(InfLine, "%s=%s", GetFileName(SrcName).c_str(), DstName); | ^ sdk/tools/cabman/dfp.cxx:1136:20: note: 'sprintf' output 2 or more bytes (assuming 4097) into a destination of size 4096 | 1 年前 | |
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93. Excluded: 3rd-party code (incl. wine) and most of the win32ss. | 4 年前 | |
[FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces | 5 年前 | |
[SEH][GCC] Prevent inlining of functions using REACTOS seh pragma | 5 个月前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
[SDK][XDK] Add more definitions for ARM64 and start fixing PE binaries (#4142) - Add context structure and definitions, NEON128 structure, runtime function entry, dispatcher context, scope table All definitions are based on the latest SDK for arm64. [SDK] Use _TARGET_PE64 in the pefixup [GENINC] Add AA64 identifier for ARM64 PE binaries CORE-17518 | 4 年前 | |
[HHPCOMP:CHMC] chmc_crunch_lzx(): Disable a dead check (#4880) CORE-18642 | 3 年前 | |
[CMAKE] Replace custom functions to built-in ones add_target_compile_definitions -> target_compile_definitions add_target_compile_flags -> target_compile_options add_target_include_directories -> target_include_directories | 6 年前 | |
Add a shared "port" directory for POSIX functions needed by multiple host tools (getopt/mkstemps) and import the one and only getopt from glibc. This finally fixes our duplicated getopt functions from different sources and gives us an up to date and the most compatible implementation. isohybrid actually relies on a glibc-specific getopt behavior that we previously hacked into the reactos_support_code.c implementation derived from BSD/mingw-w64. widl also needs getopt and previously used an even older BSD-derived code. | 7 年前 | |
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93. Excluded: 3rd-party code (incl. wine) and most of the win32ss. | 4 年前 | |
[LOG2LINES] Compile the tool for MSVC builds | 3 年前 | |
[SDK:CMLIB][MKHIVE][BOOT:ENVIRON][NTOS:CONFIG] Add missing HvGetCell casts. Replace some ASSERT(FALSE). | 4 年前 | |
[REACTOS] Fix 'seperate' typos | 1 年前 | |
[BOOTDATA][CMAKE][MKSHELLLINK] Improve shell link shortcuts creation for the LiveImage (#8936) CORE-15156, CORE-19691, CORE-19692 Finally get rid of the livecd_start.cmd hack introduced waaaay back in commit ff6d7b0236 (r54514)! See also commits ea682b6909 (r54512) and 71867403fd (r54513). For target paths, use the shell "special shell folder" syntax: `shell:windows\...` or `shell:system\...`, introduced in commit 7b081be46d (PR #7158) by Whindmar Saksit. Specify an explicit icon path and index for the "Read Me.lnk" shortcut. Includes ideas from PR #7154 by Katayama Hirofumi MZ. The generated shell links are confirmed to work on ReactOS, but also on Windows 2003 and Windows 7. - Change the MKSHELLLINK icon parameter syntax to be: `-i [icon_path[,nr]]` where, either both `icon_path` and icon index are given, separated by a comma ',' , or, either the `icon_path` is given but the index is optional (default: 0), or, only the icon index is given, in which case the icon path is set to the target instead. - Use a `VERBATIM` command-line for `add_custom_command()`, so that *nix builds can cope with parameters containing backslashes. - The shortcut target path, working directory, command-line arguments, and icon path all may specify explicit Win32 environment variables (like `%SystemRoot%`, `%HOMEDRIVE%`, etc.). Because these environment variables are specified as data given to the build tool via CMake, **AND** we have to workaround keeping these variables unexpanded when they are transmitted to the tool via CMD.EXE (on builds made on Windows), specify these variables in an "escaped" format, using `^%` instead: `^%SystemRoot^%`, etc. Additionally these paths may be explicitly quoted and passed that way to the MKSHELLLINK tool. In order to deal with both unquoting the strings and unescaping the environment variables, introduce a helper function and invoke them on the aforementioned strings. | 3 个月前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
[OBJ2BIN] Use section flags instead of a hardcoded ".text" name (#5317) A 32-bit ASM file can turn into an empty binary file in certain cases (compiled with MSVC). MASM/ML produces a ".text$mn" section instead of the ".text", which makes obj2bin generate an empty binary file. The problem didn't occur with our 16-bit artifacts (16-bit stubs, bootsectors...), because their object files all have similar sections pattern: the ".text" section and empty ".text$mn" section, which didn't matter since it is empty. On the contrary, the .text$mn section(s) aren't empty for 32-bit stubs. | 5 个月前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
[FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces | 5 年前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
[SMDLL][SMLIB] Deprecate the legacy ROS-specific SMDLL and improve SM client functions. (#4821) This DLL was exporting legacy NT-incompatible or ROS-specific SM client functions, that have been since 10 years now (2012) replaced by the new NT-compatible SM: - SmConnectApiPort(): was just SmConnectToSm(). - SmCompleteSession(): The legacy SMSS used it for when a subsystem initialization was finished. Now (NT-compatible) this function is called by subsystems **only** when a subsystem session **terminates**: SmSessionComplete(). - SmExecuteProgram(): was just the client side of SmLoadDeferedSubSystem() (whose server side is not implemented yet). The legacy SM "old" SmExecPgm implementation actually was "SmLoadDeferedSubSystem"... - SmLookupSubsystem(): is a utility-only function to read any registry value inside "Session Manager\SubSystems". Move SMDLL's readme into SMLIB and update its contents. Collect some residual useful functions into smutils.c (and moved in SMLIB, though not compiled yet): - SmExecuteProgram(), now implemented as a wrapper around SmExecPgm(); - SmLookupSubsystem(), described above; - SmQueryInformation(), that retrieves a list of currently-running subsystems. [SMLIB] Validate SbApiPortName's length in SmConnectToSm(). Fix CommandLine length validation in SmStartCsr(). Add documentation (+ SAL annotations) to the NT-compatible SMSS client functions. smmsg.h: Add both Win32 and Win64 struct sizes C_ASSERTs for those whose size change between these two processor architecture sizes. [SMLIB] Introduce SmSendMsgToSm() as helper to send data into the SM LPC port. + Make the other API functions use it. It should be observed that in Vista+, both functions SmConnectToSm() and this new SmSendMsgToSm() are exported by NTDLL under the names RtlConnectToSm() and RtlSendMsgToSm() (and use the same signature). See: https://www.geoffchappell.com/studies/windows/win32/ntdll/history/names60.htm [NTDLL] Correctly stub RtlConnectToSm() and RtlSendMsgToSm(). [NTDLL_VISTA] Link to SMLIB and simply export RtlConnectToSm() and RtlSendMsgToSm(). | 3 年前 | |
[RSYM] Make the ROSSYM_ENTRY::Address field ULONG This is an RVA, so there is no reason to expand it to 64 bit on x64. Fixes crash of dbghelp_apitest rsym on x64, as the test was using ULONG while dbghelp was using ULONG_PTR and rsym itself was using TARGET_ULONG_PTR. | 1 个月前 | |
[SPEC2DEF] Fix a memory leak. | 2 个月前 | |
[TXT2NLS] Explicitly include <cstdint> | 3 年前 | |
[CMAKE] Replace custom functions to built-in ones add_target_compile_definitions -> target_compile_definitions add_target_compile_flags -> target_compile_options add_target_include_directories -> target_include_directories | 6 年前 | |
[REACTOS] Fix typos in comments (#5591) Fixing typos in code comments enhances code readability and comprehension for developers and collaborators. | 2 年前 | |
[WIDL] Remove a hack that inserted WIN32_LEAN_AND_MEAN into headers This was supposedly to improve compile times, but it breaks our headers. | 3 个月前 | |
[WINHTTP] Winesync to Wine-10.0 | 5 个月前 | |
[WIDL][WPP] Sync to wine-10.0 Update widl/wpp tools to Wine-10.0. This is needed for compiling WinRT idl files, and for various winesyncs. | 9 个月前 | |
[XML2SDB] Add basic support for including/excluding shims based on platform CORE-20159 | 9 个月前 | |
[MKSHELLLINK] Support creating Unicode-aware shortcuts (#8936) Support the creation of shortcuts that can use Unicode versions of their name (description), relative path, working directory, command- line arguments, and icon location. This option can be selected at runtime with a switch. Additionally: - Ensure that `wchar_t` is 16-bit wide. - Introduce and use a "poor-man" ANSI-to-UTF16LE `my_mbstowcs()` routine to convert the ANSI strings, for the Unicode scenario mentioned above. We cannot use the host mbstowcs() routine, since on *nix systems the iconv library being used may have been compiled with a 32-bit `wchar_t` (even if the tool is compiled with: `-fshort-wchar -fwide-exec-charset=UTF-16LE`), as this is the case with the GitHub actions build bots. | 3 个月前 | |
[TOOLS] Fix/suppress all MSVC/x64 warnings (#1525) | 7 年前 | |
[REACTOS] Introduce .clang-format file And set up a Travis job for checking formatting on PRs | 6 年前 | |
[SDK] Fix missing comma in check_packing.py | 3 年前 | |
[SDK][TOOLS] Add do_code_format.sh to sdk/tools (#2191) do_code_format.sh --- A command line tool using clang-format | 6 年前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
[WLNTFYTESTS] Add extended tests for the Winlogon notifications Introduce and use a minimal testing framework (minitest.h) based on an updated version of `wine/test.h`. Each notification handler becomes its own test. Useful macro and function helpers have been introduced to simplify the code that is duplicated for each handler. See commit 38d07d3a24 (PR #8234) for the details of how to install and use the notification dll. These tests can exercise the notifications in the four cases, where asynchronous events and user impersonation can be independently enabled or disabled. To do this, the `Asynchronous` and `Impersonate` registry `REG_DWORD` values, inside the `WLNotifyTests` subkey of: `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify` must be set to their intended values[^1]. ---- [^1]: https://learn.microsoft.com/en-us/windows/win32/secauthn/registry-entries ---- Current test results: - When each notification is emitted, the DLL is loaded then unloaded: ``` err:(modules\rostests\win32\winlogon\wlntfytests\wlntfytests.c:1307) WLNOTIFY(ac.b0): Entering `DllMain`(hInst: 0x10000000, dwReason: 0x1, pReserved: 0x00000000) ... err:(modules\rostests\win32\winlogon\wlntfytests\wlntfytests.c:1307) WLNOTIFY(ac.b0): Entering `DllMain`(hInst: 0x10000000, dwReason: 0x0, pReserved: 0x00000000) ``` This doesn't happen on Windows. And indeed, it should _not_ happen, because otherwise the DLL would loose any of its internal global state between consecutive notification calls. This currently happens in ReactOS, where we can observe the following: ``` modules\rostests\win32\winlogon\wlntfytests\wlntfytests.c:788: Test failed: **** WLEventLogon: ERROR: Wrong state NON-INITIALIZED, expected Startup or Logoff ... err:(modules\rostests\win32\winlogon\wlntfytests\wlntfytests.c:1036) **** WLEventLogon: Changing state NON-INITIALIZED to Logon ``` and similar for every other notification. - Test results for each notification: ``` WLEventStartup: 30 tests executed (0 marked as todo, 1 failure), 0 skipped. WLEventLogon: 30 tests executed (0 marked as todo, 4 failures), 2 skipped. WLEventStartShell: 30 tests executed (0 marked as todo, 4 failures), 2 skipped. -- Note: missing WLEventPostShell -- WLEventLock: 30 tests executed (0 marked as todo, 4 failures), 2 skipped. WLEventUnlock: 30 tests executed (0 marked as todo, 4 failures), 2 skipped. WLEventStartScreenSaver: 30 tests executed (0 marked as todo, 10 failures), 0 skipped. WLEventStopScreenSaver: 30 tests executed (0 marked as todo, 9 failures), 0 skipped. WLEventLogoff: 30 tests executed (0 marked as todo, 5 failures), 2 skipped. WLEventShutdown: 31 tests executed (0 marked as todo, 5 failures), 0 skipped. ``` | 1 年前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
[PEFIXUP] Recalculate checksums for kernel-mode images (#8969) lld can leave the PE checksum field zero for reproducible output. This is acceptable for user-mode images, but Windows rejects kernel-mode images without a valid checksum. Keep preserving linker-produced zero checksums for other images, but force checksum recalculation when pefixup is operating on a kernel-mode image. This was found while validating Clang-built amd64 kmtest drivers against Windows 7: the same driver source built with GCC loaded, while the Clang/lld-built .sys failed with ERROR_BAD_EXE_FORMAT / 0xC1. Recalculating the PE checksum made the Clang-built driver load and the tests run correctly. | 3 个月前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
[WIDL] Minor cleanups following wine-10.0 sync (#8461) Addendum to commit 8608467b84 (PR #8305). - Remove redundant `#ifndef __REACTOS__ ... #endif` inside such an already existing block. See https://github.com/reactos/reactos/pull/8305#discussion_r2510118529 - Move the `getenv("TEMP")` ReactOS-specific fix to a better place. - Reduce diff with respect to what we had prior to the sync. See https://github.com/reactos/reactos/pull/8305#discussion_r2509976210 | 9 个月前 | |
[SDK] Add script to update caroots.inf CORE-16744 | 8 个月前 |