dbghelp: Add partial support for version 3 of DWARF CIEs which are generated by Clang/LLVM.
This commit is contained in:
parent
0bfa11455c
commit
500df92108
|
@ -2629,7 +2629,7 @@ static BOOL parse_cie_details(dwarf2_traverse_context_t* ctx, struct frame_info*
|
|||
|
||||
/* parse the CIE first */
|
||||
version = dwarf2_parse_byte(ctx);
|
||||
if (version != 1)
|
||||
if (version != 1 && version != 3)
|
||||
{
|
||||
FIXME("unknown CIE version %u at %p\n", version, ctx->data - 1);
|
||||
return FALSE;
|
||||
|
@ -2639,7 +2639,10 @@ static BOOL parse_cie_details(dwarf2_traverse_context_t* ctx, struct frame_info*
|
|||
|
||||
info->code_align = dwarf2_leb128_as_unsigned(ctx);
|
||||
info->data_align = dwarf2_leb128_as_signed(ctx);
|
||||
info->retaddr_reg = dwarf2_parse_byte(ctx);
|
||||
if (version == 1)
|
||||
info->retaddr_reg = dwarf2_parse_byte(ctx);
|
||||
else
|
||||
info->retaddr_reg = dwarf2_leb128_as_unsigned(ctx);
|
||||
info->state.cfa_rule = RULE_CFA_OFFSET;
|
||||
|
||||
end = NULL;
|
||||
|
|
Loading…
Reference in New Issue