• Eric Pouech's avatar
    dbghelp/dwarf: Workaround functions with multiple range of addresses. · acfcd84a
    Eric Pouech authored
    gcc can emit functions with code spread across non contiguous code areas.
    We used to register those functions with an address range enclosing all ranges
    (meaning that all addresses not actually belonging to the function but
    lying in that address range could be returned by dbghelp as belonging
    to the function).
    
    Work around this by registering the function with only the first range
    of addresses (this will avoid the errors described above), but will
    fail to mark the other address ranges as part of the function.
    
    dbghelp doesn't seem to have explicit support of those cases, even if
    pdb/codeview also support functions with multi range of addresses
    (see S_SEPCODE).
    Signed-off-by: 's avatarEric Pouech <eric.pouech@gmail.com>
    Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
    acfcd84a
dwarf.c 150 KB