Commit de3a8366 authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

dbghelp: Fix handling of BA_OP_ChangeCodeLength (PDB).

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: 's avatarEric Pouech <eric.pouech@gmail.com>
parent f3e9a1b7
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment