https://bugs.winehq.org/show_bug.cgi?id=51206
Bug ID: 51206 Summary: Wine fails to load a stripped PE version of ntdll.dll Product: Wine Version: 6.9 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: dmitry@baikal.ru Distribution: ---
Using strip on a PE version of ntdll removes 'Wine builtin DLL' marker from the DOS header and leads to inability to load it:
$ wine winver wine: failed to load /home/../wine32/dlls/ntdll/ntdll.dll.so error c0000135 0024:err:environ:run_wineboot failed to start wineboot c00000e5
Older versions of llvm-strip (before 11.0.0) also used to replace DOS stub by an internal version, however starting from 11.0.0 llvm-strip retains existing DOS header.
Stripping other DLLs is not that fatal, they just lose their "builtin" flag.