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
1e0af22a
Commit
1e0af22a
authored
Aug 25, 2010
by
Eric Pouech
Committed by
Alexandre Julliard
Aug 26, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp: dwarf debug info: a few more fixes to dwarf parsing.
parent
1bfd8998
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
1 deletion
+21
-1
dbghelp_private.h
dlls/dbghelp/dbghelp_private.h
+1
-0
dwarf.c
dlls/dbghelp/dwarf.c
+16
-0
memory.c
programs/winedbg/memory.c
+4
-1
No files found.
dlls/dbghelp/dbghelp_private.h
View file @
1e0af22a
...
...
@@ -132,6 +132,7 @@ enum location_error {loc_err_internal = -1, /* internal while computing */
loc_err_too_complex
=
-
2
,
/* couldn't compute location (even at runtime) */
loc_err_out_of_scope
=
-
3
,
/* variable isn't available at current address */
loc_err_cant_read
=
-
4
,
/* couldn't read memory at given address */
loc_err_no_location
=
-
5
,
/* likely optimized away (by compiler) */
};
struct
location
...
...
dlls/dbghelp/dwarf.c
View file @
1e0af22a
...
...
@@ -1511,6 +1511,22 @@ static void dwarf2_parse_variable(dwarf2_subprogram_t* subpgm,
di
->
symt
=
&
symt_new_constant
(
subpgm
->
ctx
->
module
,
subpgm
->
compiland
,
name
.
u
.
string
,
param_type
,
&
v
)
->
symt
;
}
else
{
/* variable has been optimiezd away... report anyway */
loc
.
kind
=
loc_error
;
loc
.
reg
=
loc_err_no_location
;
if
(
subpgm
->
func
)
{
symt_add_func_local
(
subpgm
->
ctx
->
module
,
subpgm
->
func
,
is_pmt
?
DataIsParam
:
DataIsLocal
,
&
loc
,
block
,
param_type
,
name
.
u
.
string
);
}
else
{
WARN
(
"dropping global variable %s which has been optimized away
\n
"
,
name
.
u
.
string
);
}
}
if
(
is_pmt
&&
subpgm
->
func
&&
subpgm
->
func
->
type
)
symt_add_function_signature_parameter
(
subpgm
->
ctx
->
module
,
(
struct
symt_function_signature
*
)
subpgm
->
func
->
type
,
...
...
programs/winedbg/memory.c
View file @
1e0af22a
...
...
@@ -676,7 +676,7 @@ BOOL memory_get_register(DWORD regno, DWORD_PTR** value, char* buffer, int len)
const
struct
dbg_internal_var
*
div
;
/* negative register values are wine's dbghelp hacks
* see dlls/dbghelp/dbghelp_
internal.h for the details
* see dlls/dbghelp/dbghelp_
private.h for the details
*/
switch
(
regno
)
{
...
...
@@ -692,6 +692,9 @@ BOOL memory_get_register(DWORD regno, DWORD_PTR** value, char* buffer, int len)
case
-
4
:
if
(
buffer
)
snprintf
(
buffer
,
len
,
"<couldn't read memory>"
);
return
FALSE
;
case
-
5
:
if
(
buffer
)
snprintf
(
buffer
,
len
,
"<has been optimized away by compiler>"
);
return
FALSE
;
}
for
(
div
=
be_cpu
->
context_vars
;
div
->
name
;
div
++
)
...
...
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