-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Wine Staging 432c0b5, wine-tkg-git 6e3413a.
- Loading branch information
1 parent
2ec8405
commit ff6328a
Showing
6 changed files
with
316 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 0 additions & 34 deletions
34
patches/9989-misc/ps0113-cmd-Do-not-change-errorlevel-when-setting-environm.patch
This file was deleted.
Oops, something went wrong.
37 changes: 15 additions & 22 deletions
37
patches/9989-misc/ps0114-winebuild-Clear-RFLAGS-before-entering-syscall.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,26 @@ | ||
From: "Rémi Bernon" <rbernon@codeweavers.com> | ||
Subject: [PATCH] winebuild: Clear RFLAGS before entering syscall. | ||
Message-Id: <20210601084301.2074741-1-rbernon@codeweavers.com> | ||
Date: Tue, 1 Jun 2021 10:43:01 +0200 | ||
commit c9dc803a0abbf4ea5106fd4607bb9e09928c5d8c | ||
Author: Rémi Bernon <rbernon@codeweavers.com> | ||
Date: Mon May 31 16:12:07 2021 +0200 | ||
|
||
We pushed the flags, but kept them set. Far Cry sets NT flags, which | ||
causes later iretd instruction to raise a GP fault exception. | ||
|
||
This fixes a regression from e341d1f695311725752c287057f6c6ab60fdf2a3. | ||
|
||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50793 | ||
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> | ||
--- | ||
tools/winebuild/import.c | 2 ++ | ||
1 file changed, 2 insertions(+) | ||
winebuild: Clear RFLAGS before entering syscall. | ||
|
||
We pushed the flags, but kept them set. Far Cry sets NT flags, which | ||
causes later iretd instruction to raise a GP fault exception. | ||
|
||
This fixes a regression from e341d1f695311725752c287057f6c6ab60fdf2a3. | ||
|
||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50793 | ||
|
||
diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c | ||
index b745f16db42..ad773e2a0d9 100644 | ||
index a194ae50104..ddd7b261d89 100644 | ||
--- a/tools/winebuild/import.c | ||
+++ b/tools/winebuild/import.c | ||
@@ -1447,6 +1447,8 @@ static void output_syscall_dispatcher( int count, const char *variant ) | ||
@@ -1437,6 +1437,8 @@ static void output_syscall_dispatcher(void) | ||
output( "\tmovl $0,0x00(%%ecx)\n" ); /* frame->restore_flags */ | ||
output( "\tpopl 0x08(%%ecx)\n" ); /* frame->eip */ | ||
output( "\tpushfl\n" ); | ||
output( "\tpopl 0x04(%%ecx)\n" ); /* frame->eflags */ | ||
+ output( "\tpushl $0x202\n" ); | ||
+ output( "\tpopfl\n" ); | ||
output( "\tpopl 0x04(%%ecx)\n" ); /* frame->eflags */ | ||
output( "%s\n", asm_globl("__wine_syscall_dispatcher_prolog_end") ); | ||
output( "\tmovl %%esp,0x0c(%%ecx)\n" ); /* frame->esp */ | ||
output( "\tmovw %%cs,0x10(%%ecx)\n" ); | ||
|
||
-- | ||
2.31.0 | ||
|
87 changes: 87 additions & 0 deletions
87
patches/9989-misc/ps0124-p0001-ntdll-tests-Expand-path-name-tests-with-path.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
From: Akihiro Sagawa <sagawa.aki@gmail.com> | ||
Subject: [PATCH 1/2] ntdll/tests: Expand path name tests with path + device name. | ||
Message-Id: <20210619182511.F926.375B48EC@gmail.com> | ||
Date: Sat, 19 Jun 2021 18:25:33 +0900 | ||
|
||
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com> | ||
--- | ||
dlls/ntdll/tests/path.c | 44 +++++++++++++++++++++++------------------ | ||
1 file changed, 25 insertions(+), 19 deletions(-) | ||
|
||
diff --git a/dlls/ntdll/tests/path.c b/dlls/ntdll/tests/path.c | ||
index f2588c0bd98..74ad971392c 100644 | ||
--- a/dlls/ntdll/tests/path.c | ||
+++ b/dlls/ntdll/tests/path.c | ||
@@ -317,6 +317,11 @@ static void test_RtlGetFullPathName_U(void) | ||
{ "...", "C:\\windows\\", NULL}, | ||
{ "./foo", "C:\\windows\\foo", "foo"}, | ||
{ "foo/..", "C:\\windows", "windows"}, | ||
+ { "\\windows\\nul", "\\\\.\\nul", NULL}, | ||
+ { "C:\\nonexistent\\nul", "\\\\.\\nul", NULL}, | ||
+ { "C:\\con\\con", "\\\\.\\con", NULL}, | ||
+ { "C:NUL.", "\\\\.\\NUL", NULL}, | ||
+ { "C:NUL", "\\\\.\\NUL", NULL}, | ||
{ "AUX", "\\\\.\\AUX", NULL}, | ||
{ "COM1", "\\\\.\\COM1", NULL}, | ||
{ "?<>*\"|:", "C:\\windows\\?<>*\"|:", "?<>*\"|:"}, | ||
@@ -471,6 +476,9 @@ static void test_RtlDosPathNameToNtPathName_U(void) | ||
{L"...", L"\\??\\C:\\windows\\", -1}, | ||
{L"./foo", L"\\??\\C:\\windows\\foo", 15}, | ||
{L"foo/..", L"\\??\\C:\\windows", 7}, | ||
+ {L"\\windows\\nul", L"\\??\\nul", -1}, | ||
+ {L"C:NUL.", L"\\??\\NUL", -1}, | ||
+ {L"C:NUL", L"\\??\\NUL", -1}, | ||
{L"AUX" , L"\\??\\AUX", -1}, | ||
{L"COM1" , L"\\??\\COM1", -1}, | ||
{L"?<>*\"|:", L"\\??\\C:\\windows\\?<>*\"|:", 15}, | ||
@@ -551,32 +559,30 @@ static void test_RtlDosPathNameToNtPathName_U(void) | ||
{L"cOnOuT$", L"\\??\\cOnOuT$", -1, L"\\??\\C:\\windows\\cOnOuT$" /* winxp */ }, | ||
{L"CONERR$", L"\\??\\C:\\windows\\CONERR$", 15}, | ||
}; | ||
+ static const WCHAR *error_paths[] = { | ||
+ NULL, L"", L" ", L"C:\\nonexistent\\nul", L"C:\\con\\con" | ||
+ }; | ||
|
||
GetCurrentDirectoryA(sizeof(curdir), curdir); | ||
SetCurrentDirectoryA("C:\\windows\\"); | ||
|
||
- ret = pRtlDosPathNameToNtPathName_U(NULL, &nameW, &file_part, NULL); | ||
- ok(!ret, "Got %d.\n", ret); | ||
- | ||
- ret = pRtlDosPathNameToNtPathName_U(L"", &nameW, &file_part, NULL); | ||
- ok(!ret, "Got %d.\n", ret); | ||
- | ||
- ret = pRtlDosPathNameToNtPathName_U(L" ", &nameW, &file_part, NULL); | ||
- ok(!ret, "Got %d.\n", ret); | ||
- | ||
- if (pRtlDosPathNameToNtPathName_U_WithStatus) | ||
+ for (i = 0; i < ARRAY_SIZE(error_paths); ++i) | ||
{ | ||
- status = pRtlDosPathNameToNtPathName_U_WithStatus(NULL, &nameW, &file_part, NULL); | ||
- ok(status == STATUS_OBJECT_NAME_INVALID || status == STATUS_OBJECT_PATH_NOT_FOUND /* 2003 */, | ||
- "Got status %#x.\n", status); | ||
+ winetest_push_context("%s", debugstr_w(error_paths[i])); | ||
|
||
- status = pRtlDosPathNameToNtPathName_U_WithStatus(L"", &nameW, &file_part, NULL); | ||
- ok(status == STATUS_OBJECT_NAME_INVALID || status == STATUS_OBJECT_PATH_NOT_FOUND /* 2003 */, | ||
- "Got status %#x.\n", status); | ||
+ ret = pRtlDosPathNameToNtPathName_U(error_paths[i], &nameW, &file_part, NULL); | ||
+ todo_wine_if(i == 3 || i == 4) | ||
+ ok(!ret, "Got %d.\n", ret); | ||
+ | ||
+ if (pRtlDosPathNameToNtPathName_U_WithStatus) | ||
+ { | ||
+ status = pRtlDosPathNameToNtPathName_U_WithStatus(error_paths[i], &nameW, &file_part, NULL); | ||
+ todo_wine_if(i == 3 || i == 4) | ||
+ ok(status == STATUS_OBJECT_NAME_INVALID || broken(status == STATUS_OBJECT_PATH_NOT_FOUND /* 2003 */), | ||
+ "Got status %#x.\n", status); | ||
+ } | ||
|
||
- status = pRtlDosPathNameToNtPathName_U_WithStatus(L" ", &nameW, &file_part, NULL); | ||
- ok(status == STATUS_OBJECT_NAME_INVALID || status == STATUS_OBJECT_PATH_NOT_FOUND /* 2003 */, | ||
- "Got status %#x.\n", status); | ||
+ winetest_pop_context(); | ||
} | ||
|
||
for (i = 0; i < ARRAY_SIZE(tests); ++i) | ||
|
Oops, something went wrong.