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
4f2e15d0
Commit
4f2e15d0
authored
May 31, 2010
by
Marcus Meissner
Committed by
Alexandre Julliard
Jun 07, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp: Add 2 new darf defines and implement DW_OP_stack_value.
parent
7342bce8
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
0 deletions
+11
-0
dwarf.c
dlls/dbghelp/dwarf.c
+4
-0
dwarf.h
dlls/dbghelp/dwarf.h
+3
-0
symbol.c
dlls/dbghelp/symbol.c
+4
-0
No files found.
dlls/dbghelp/dwarf.c
View file @
4f2e15d0
...
...
@@ -847,6 +847,10 @@ compute_location(dwarf2_traverse_context_t* ctx, struct location* loc,
loc
->
kind
=
loc_dwarf2_block
;
}
break
;
case
DW_OP_stack_value
:
/* Expected behaviour is that this is the last instruction of this
* expression and just the "top of stack" value should be put to loc->offset. */
break
;
default:
if
(
op
<
DW_OP_lo_user
)
/* as DW_OP_hi_user is 0xFF, we don't need to test against it */
FIXME
(
"Unhandled attr op: %x
\n
"
,
op
);
...
...
dlls/dbghelp/dwarf.h
View file @
4f2e15d0
...
...
@@ -379,6 +379,9 @@ typedef enum dwarf_operation_e
DW_OP_form_tls_address
=
0x9b
,
DW_OP_call_frame_cfa
=
0x9c
,
DW_OP_bit_piece
=
0x9d
,
/** Dwarf4 new values */
DW_OP_implicit_value
=
0x9e
,
DW_OP_stack_value
=
0x9f
,
/* Implementation defined extensions */
DW_OP_lo_user
=
0xe0
,
...
...
dlls/dbghelp/symbol.c
View file @
4f2e15d0
...
...
@@ -724,6 +724,10 @@ static void symt_fill_sym_info(struct module_pair* pair,
sym_info
->
Register
=
loc
.
reg
?
loc
.
reg
:
CV_REG_EBP
;
sym_info
->
Address
=
loc
.
offset
;
break
;
case
loc_absolute
:
sym_info
->
Flags
|=
SYMFLAG_VALUEPRESENT
;
sym_info
->
Value
=
loc
.
offset
;
break
;
default:
FIXME
(
"Shouldn't happen (kind=%d), debug reader backend is broken
\n
"
,
loc
.
kind
);
assert
(
0
);
...
...
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