Fixes for compiling with g++ 4.3.2

Hilko Bengen bengen@hidden
Tue Dec 16 19:02:18 CET 2008


"Mike McCormack" <wine.msi@hidden> writes:

> Did you manage to get the tests to run after fixing compiling?

Not all of them.

1. Using CC=gcc-4.2 CXX=g++-4.2
-------------------------------

In most attempts, the `thread' test leads to a process called
`ttclient' consuming 100% CPU time; if I kill -9 that process, it
outputs "failed to get registers".

Sometimes, after I have killed the `ttclient' process during the
`thread' test, I get an error in the `wine-port' test.

Occasionally, the `thread' test fails with a "1014: debug: 185: wait
failed" message.

wine-port
1018: debug: 115: Expected STATUS_SUCCESS, got c0000033
process 0010
        thread 1014
1 threads 1 processes left

2. CC=gcc-4.3 CXX=g++-4.2
-------------------------

I have been able to observe the same errors with the `thread' and the
`wine-port' test cases.

3. CC=gcc-4.2 CXX=g++-4.3
-------------------------

I have been able to observe the same errors with the `thread' and the
`wine-port' test cases.

The `file' test (./loader/ntl -q \??\c:\tests\file.exe) eats CPU time
and rapidly leaks memory every time I call it.

Strange: If I run ./runtest -q file straight from the shell, without
using make, I don't get this behavior, but a bunch of failed tests.

1014: debug: 234: failed to query directory 80000006
1014: debug: 139: information wrong 00000062
1014: debug: 144: FileNameLength wrong 4
1014: debug: 145: FileName wrong
1014: debug: 146: FileAttributes wrong 00000010
1014: debug: 256: query failed c000000f
1014: debug: 139: information wrong 00000001
1014: debug: 144: FileNameLength wrong 2
1014: debug: 145: FileName wrong
1014: debug: 146: FileAttributes wrong 00000010
1014: debug: 276: query failed c000000f
1014: debug: 139: information wrong 00000001
1014: debug: 144: FileNameLength wrong 2
1014: debug: 145: FileName wrong
1014: debug: 146: FileAttributes wrong 00000010
1014: debug: 297: query failed c000000f
1014: debug: 139: information wrong 00000001
1014: debug: 144: FileNameLength wrong 2
1014: debug: 145: FileName wrong
1014: debug: 146: FileAttributes wrong 00000010
1014: debug: 306: query failed c000000f
1014: debug: 139: information wrong 00000001
1014: debug: 144: FileNameLength wrong 2
1014: debug: 145: FileName wrong
1014: debug: 146: FileAttributes wrong 00000010
1014: debug: 311: query failed c000000f
1014: debug: 139: information wrong 00000001
1014: debug: 144: FileNameLength wrong 2
1014: debug: 145: FileName wrong
1014: debug: 146: FileAttributes wrong 00000010
1014: debug: 30 failed, 117 passed

4. CC=gcc-4.3 CXX=g++-4.3
-------------------------

Same as (3).

5. General
----------

Whenever the terminal window is resized while the tests run, I am
presented with the debugger prompt, apparently because of SIGWINCH
being caught. This can't be right, can it? Here's a patch.

diff --git a/loader/ptrace_base.cpp b/loader/ptrace_base.cpp
index f0c017f..59c9146 100644
--- a/loader/ptrace_base.cpp
+++ b/loader/ptrace_base.cpp
@@ -328,6 +328,9 @@ void ptrace_address_space_impl::run( void *TebBaseAddress, PCONTEXT ctx, int sin
 		if (WIFSTOPPED(status) && WEXITSTATUS(status) == SIGALRM)
 			break;
 
+		if (WIFSTOPPED(status) && WEXITSTATUS(status) == SIGWINCH)
+			break;
+
 		if (WIFSTOPPED(status) && single_step)
 			break;

Cheers,
-Hilko


More information about the ring3k mailing list