This op is heavily used by clang with PDB debug info, while MSVC barely uses it.
This fixes a bunch of problems when loading PDB files generated by clang (eg. the PDB files from wine-gecko).
Signed-off-by: Eric Pouech eric.pouech@gmail.com
From: Eric Pouech eric.pouech@gmail.com
This op is heavily used by clang with PDB debug info, while MSVC barely uses it.
This fixes a bunch of problems when loading PDB files generated by clang (eg. the PDB files from wine-gecko).
Signed-off-by: Eric Pouech eric.pouech@gmail.com --- dlls/dbghelp/msc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c index 85d12063076..5e7a1badadf 100644 --- a/dlls/dbghelp/msc.c +++ b/dlls/dbghelp/msc.c @@ -2199,8 +2199,9 @@ static struct symt_function* codeview_create_inline_site(const struct msc_debug_ inlined->ranges[index++].high = top_func->ranges[0].low + offset; break; case BA_OP_ChangeCodeLength: - /* this op doesn't seem widely used... */ - inline_site_update_last_range(inlined, index, inlined->ranges[index - 1].low + cvba.arg1); + /* this op isn't widely used by MSVC, but clang uses it a lot... */ + offset += cvba.arg1; + inline_site_update_last_range(inlined, index, top_func->ranges[0].low + offset); break; case BA_OP_ChangeFile: chksms = CV_RECORD_GAP(hdr_files, cvba.arg1);