• Martin Storsjo's avatar
    kernel32: Add a special case to EnumProcessModules for the local process. · fbda8db3
    Martin Storsjo authored
    LLVM's libunwind uses EnumProcessModules for locating .eh_frame
    sections when unwinding dwarf exceptions (used on i686).
    
    When running wine in docker (without adding custom additional
    permissions), EnumProcessModules currently fails as it uses
    ReadProcessMemory, which requires the SYS_PTRACE capability.
    
    The current implementation also is slower than necessary (by a
    couple orders of magnituide), for accessing the current process.
    Currently, unwinding 10000 exception throws with libunwind on i686
    takes 24 seconds when run in wine, while it runs in less than 0.1
    second with this patch.
    Signed-off-by: 's avatarMartin Storsjo <martin@martin.st>
    Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
    fbda8db3
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
Makefile.in Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...