Module: wine Branch: master Commit: dd0e9fe91e647ee5ce95709b7f47b2e1e782a3c9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=dd0e9fe91e647ee5ce95709b7f...
Author: Sebastian Lackner sebastian@fds-team.de Date: Sat May 31 06:29:33 2014 +0200
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..7007db0 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 = 0; 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 );