Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
ab27cb48
Commit
ab27cb48
authored
Sep 07, 2016
by
Nikolay Sivov
Committed by
Alexandre Julliard
Sep 07, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp: Support CIE version 4 in parse_cie_details().
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
f85e7d17
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
5 deletions
+14
-5
dwarf.c
dlls/dbghelp/dwarf.c
+14
-5
No files found.
dlls/dbghelp/dwarf.c
View file @
ab27cb48
...
...
@@ -2641,7 +2641,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
&&
version
!=
3
)
if
(
version
!=
1
&&
version
!=
3
&&
version
!=
4
)
{
FIXME
(
"unknown CIE version %u at %p
\n
"
,
version
,
ctx
->
data
-
1
);
return
FALSE
;
...
...
@@ -2649,12 +2649,21 @@ static BOOL parse_cie_details(dwarf2_traverse_context_t* ctx, struct frame_info*
augmentation
=
(
const
char
*
)
ctx
->
data
;
ctx
->
data
+=
strlen
(
augmentation
)
+
1
;
switch
(
version
)
{
case
4
:
/* skip 'address_size' and 'segment_size' */
ctx
->
data
+=
2
;
/* fallthrough */
case
1
:
case
3
:
info
->
code_align
=
dwarf2_leb128_as_unsigned
(
ctx
);
info
->
data_align
=
dwarf2_leb128_as_signed
(
ctx
);
if
(
version
==
1
)
info
->
retaddr_reg
=
dwarf2_parse_byte
(
ctx
);
else
info
->
retaddr_reg
=
dwarf2_leb128_as_unsigned
(
ctx
);
info
->
retaddr_reg
=
version
==
1
?
dwarf2_parse_byte
(
ctx
)
:
dwarf2_leb128_as_unsigned
(
ctx
);
break
;
default:
;
}
info
->
state
.
cfa_rule
=
RULE_CFA_OFFSET
;
end
=
NULL
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment