This adds support for `CROSSDEBUG="dwarf pdb"` (or the equivalent `CROSSCFLAGS`) to enable embedding DWARF debug info alongside PDB files, as well as `CROSSDEBUG="split-dwarf pdb"` to generate both split DWARF and PDB files from a single Clang-based build. This makes it easier to produce a Wine build that can be debugged using both Windows and Unix tools.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8193
Follow-up of !2786, which appears to have been abandoned.
Depends on !8182
# Execute minimal test case
1. in dlls/ws2_32/tests/sock.c wrap all calls to test functions after `Init()` until `test_afunix()` with #if 0 ... #endif
2. checkout wine into ~/src/wine
3. build into ~/src/wine-build
4. run `(cd ~/src/wine-build; WINEPREFIX=~/src/wine/.wine ../wine/tools/runtest -q -P wine -T . -M ws2_32.dll -p dlls/ws2_32/tests/i386-windows/ws2_32_test.exe sock)`
# How to debug wineserver
Since `wineserver` runs in the background, simple calls to printf() will show nothing when the test case is executed. A workaround is to open a file and call fprintf() to write debug messages to this file, which can then be inspected.
--
v29: ws2_32: Add note in bind() for AF_UNIX sockets
ws2_32/tests: In tests for AF_UNIX sockets print actual directory used
ws2_32/tests: In AF_UNIX socket tests always print used path in case of errors
ws2_32/tests: Add test for AF_UNIX sockets
server: Fix getsockname() and accept() on AF_UNIX sockets.
server: Introduce error when attempting to create a SOCK_DGRAM AF_UNIX socket.
server: Allow for deletion of socket files.
ws2_32: Add support for AF_UNIX sockets.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7650
Follow-up of !2786, which appears to have been abandoned.
Depends on !8182
# Execute minimal test case
1. in dlls/ws2_32/tests/sock.c wrap all calls to test functions after `Init()` until `test_afunix()` with #if 0 ... #endif
2. checkout wine into ~/src/wine
3. build into ~/src/wine-build
4. run `(cd ~/src/wine-build; WINEPREFIX=~/src/wine/.wine ../wine/tools/runtest -q -P wine -T . -M ws2_32.dll -p dlls/ws2_32/tests/i386-windows/ws2_32_test.exe sock)`
# How to debug wineserver
Since `wineserver` runs in the background, simple calls to printf() will show nothing when the test case is executed. A workaround is to open a file and call fprintf() to write debug messages to this file, which can then be inspected.
--
v28: ws2_32: Add note in bind() for AF_UNIX sockets
ws2_32/tests: In tests for AF_UNIX sockets print actual directory used
ws2_32/tests: In AF_UNIX socket tests always print used path in case of errors
ws2_32/tests: Add test for AF_UNIX sockets
server: Fix getsockname() and accept() on AF_UNIX sockets.
server: Introduce error when attempting to create a SOCK_DGRAM AF_UNIX socket.
server: Allow for deletion of socket files.
ws2_32: Add support for AF_UNIX sockets.
ws2_32: Add afunix.h header.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7650