The aim of this MR is to mark some debug formats loaded by dbghelp as
deprecated.
The idea is to remove them from dbghelp:
- after Wine 11 is released (for the ones still working)
- during PDB rewrite landing (after Wine 10 is released) if this
can help the process
The considered debug formats are:
1) COFF inside PE images
2) CodeView inside PE images
3) OMAP inside PE images
4) split debug info in .DBG files
5) PDB (in JG format). This is an early format, which has been superseded
by the DS format. clang only supports/understands the later DS format.
I retested on a small 'Hello World' application, using a MSVC compiler
from 1998 (version 12.0).
This compiler allows to emit COFF in PE images, split .DBG and PDB/JG debug
formats (it doesn't even seem to be able to emit Codeview inside PE images,
nor OMAP).
And from MSVC 14.0 onwards, none of these formats are available (only PDB DS).
Test results with MSVC 12.0:
- COFF inside PE image: doesn't work
- split .DBG: doesn't work
- PDB JG: does work (even if exceptions are caught)
work = can set BP on main, can backtrace (with line number) when that BP is hit
(using winedbg + builtin dbghelp)
--
v2: dbghelp: Emit deprecation FIXME for embedded, .dbg and PDB JG formats.
winedump: Use correct computation for first section out of a .DBG file.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7148
The aim of this MR is to mark some debug formats loaded by dbghelp as
deprecated.
The idea is to remove them from dbghelp:
- after Wine 11 is released (for the ones still working)
- during PDB rewrite landing (after Wine 10 is released) if this
can help the process
The considered debug formats are:
1) COFF inside PE images
2) CodeView inside PE images
3) OMAP inside PE images
4) split debug info in .DBG files
5) PDB (in JG format). This is an early format, which has been superseded
by the DS format. clang only supports/understands the later DS format.
I retested on a small 'Hello World' application, using a MSVC compiler
from 1998 (version 12.0).
This compiler allows to emit COFF in PE images, split .DBG and PDB/JG debug
formats (it doesn't even seem to be able to emit Codeview inside PE images,
nor OMAP).
And from MSVC 14.0 onwards, none of these formats are available (only PDB DS).
Test results with MSVC 12.0:
- COFF inside PE image: doesn't work
- split .DBG: doesn't work
- PDB JG: does work (even if exceptions are caught)
work = can set BP on main, can backtrace (with line number) when that BP is hit
(using winedbg + builtin dbghelp)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7148
About the multicriteria sort, there is clearly a hierarchy involved, and some options are mutually-exclusive (e.g DIR /O:SD on Windows 10 sorts by size, not time). Looking at the available options, it appears to me that G is the only one that can be combined, and with only one additional option. In the code, we probably need separate handling for N,E,S,D each by themselves, and separate handling for these combined with G.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131#note_92002
"DIR /o" (no order specifier after /o) hasn't functioned the same as it does on Windows. This change makes the functionality of /o by itself equivalent to behavior on Windows.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131