Add patch to fix exception test failures on x86_64.

This commit is contained in:
Sebastian Lackner 2014-05-31 14:12:22 +02:00
parent 979900f060
commit 24d682fd91
3 changed files with 56 additions and 1 deletions

View File

@ -0,0 +1,51 @@
From bd3cb03661dfab43f6feff572d4a4bd37a47d137 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 31 May 2014 06:29:33 +0200
Subject: ntdll/tests: Fix exception test failures on x86_64.
---
dlls/ntdll/signal_x86_64.c | 1 +
dlls/ntdll/tests/exception.c | 8 ++++----
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index c6e9a9b..bd8f3c7 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -2684,6 +2684,7 @@ PRUNTIME_FUNCTION WINAPI RtlLookupFunctionEntry( ULONG64 pc, ULONG64 *base, UNWI
func = lookup_function_info( pc, base, &module );
if (!func)
{
+ *base = NULL;
if (module)
WARN( "no exception table found in module %p pc %lx\n", module->BaseAddress, pc );
else
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
index 817a19c..8a80928 100644
--- a/dlls/ntdll/tests/exception.c
+++ b/dlls/ntdll/tests/exception.c
@@ -1487,8 +1487,8 @@ static void test_dynamic_unwind(void)
func = pRtlLookupFunctionEntry( (ULONG_PTR)code_mem + code_offset + 16, &base, NULL );
ok( func == NULL,
"RtlLookupFunctionEntry returned unexpected function, expected: NULL, got: %p\n", func );
- ok( base == 0xdeadbeef,
- "RtlLookupFunctionEntry modified base address, expected: 0xdeadbeef, got: %lx\n", base );
+ ok( !base || broken(base == 0xdeadbeef),
+ "RtlLookupFunctionEntry modified base address, expected: 0, got: %lx\n", base );
/* Test with pointer inside of our function */
base = 0xdeadbeef;
@@ -1546,8 +1546,8 @@ static void test_dynamic_unwind(void)
func = pRtlLookupFunctionEntry( (ULONG_PTR)code_mem + code_offset + 32, &base, NULL );
ok( func == NULL,
"RtlLookupFunctionEntry returned unexpected function, expected: NULL, got: %p\n", func );
- ok( base == 0xdeadbeef,
- "RtlLookupFunctionEntry modified base address, expected: 0xdeadbeef, got: %lx\n", base );
+ ok( !base || broken(base == 0xdeadbeef),
+ "RtlLookupFunctionEntry modified base address, expected: 0, got: %lx\n", base );
ok( !count,
"RtlLookupFunctionEntry issued %d unexpected calls to dynamic_unwind_callback\n", count );
--
1.7.9.5

View File

@ -0,0 +1,3 @@
Revision: 1
Author: Sebastian Lackner
Title: Fix exception test failures for ntdll on x86_64.

View File

@ -6,7 +6,7 @@ diff --git a/libs/wine/config.c b/libs/wine/config.c
index a273502..5fa0cd5 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -478,6 +478,43 @@ const char *wine_get_version(void)
@@ -478,6 +478,44 @@ const char *wine_get_version(void)
return PACKAGE_VERSION;
}
@ -36,6 +36,7 @@ index a273502..5fa0cd5 100644
+ { "325645ba-d39d-4de4-9c94-3fe694eedaab:1", "Sebastian Lackner", "kernel32: Silence repeated CompareStringEx FIXME." },
+ { "acff3012-0f75-4710-9941-08b5ce4c61f3:2", "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME." },
+ { "c7263660-be78-439b-979f-e745a8d87120:1", "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME." },
+ { "d69df50e-8cb7-43f6-833f-d2cfd68a096e:1", "Sebastian Lackner", "Fix exception test failures for ntdll on x86_64." },
+ { "eec5dea8-879d-417b-9f97-364deaae6576:1", "Sebastian Lackner", "Add tests for IVMRMonitorConfig." },
+ { "e46b26df-3c1b-419c-9579-f0d1e1c50bea:1", "Sebastian Lackner", "Workaround for broken implementation of shlwapi url functions." },
+ { NULL, NULL, NULL }