Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
5aa859de
Commit
5aa859de
authored
Dec 14, 2009
by
Eric Pouech
Committed by
Alexandre Julliard
Dec 15, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winedbg: Allow internal (host) integral variables to hold 64bit value on 64bit platforms.
parent
4ce6c90c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
11 deletions
+29
-11
debugger.h
programs/winedbg/debugger.h
+2
-2
expr.c
programs/winedbg/expr.c
+8
-8
types.c
programs/winedbg/types.c
+19
-1
No files found.
programs/winedbg/debugger.h
View file @
5aa859de
...
...
@@ -328,8 +328,8 @@ extern int display_enable(int displaynum, int enable);
extern
void
expr_free_all
(
void
);
extern
struct
expr
*
expr_alloc_internal_var
(
const
char
*
name
);
extern
struct
expr
*
expr_alloc_symbol
(
const
char
*
name
);
extern
struct
expr
*
expr_alloc_sconstant
(
int
val
);
extern
struct
expr
*
expr_alloc_uconstant
(
unsigned
val
);
extern
struct
expr
*
expr_alloc_sconstant
(
long
int
val
);
extern
struct
expr
*
expr_alloc_uconstant
(
long
unsigned
val
);
extern
struct
expr
*
expr_alloc_string
(
const
char
*
str
);
extern
struct
expr
*
expr_alloc_binary_op
(
int
oper
,
struct
expr
*
,
struct
expr
*
);
extern
struct
expr
*
expr_alloc_unary_op
(
int
oper
,
struct
expr
*
);
...
...
programs/winedbg/expr.c
View file @
5aa859de
...
...
@@ -37,12 +37,12 @@ struct expr
{
struct
{
int
value
;
long
int
value
;
}
s_const
;
struct
{
unsigned
int
value
;
long
unsigned
int
value
;
}
u_const
;
struct
...
...
@@ -165,7 +165,7 @@ struct expr* expr_alloc_symbol(const char* name)
return
ex
;
}
struct
expr
*
expr_alloc_sconstant
(
int
value
)
struct
expr
*
expr_alloc_sconstant
(
long
int
value
)
{
struct
expr
*
ex
;
...
...
@@ -176,7 +176,7 @@ struct expr* expr_alloc_sconstant(int value)
return
ex
;
}
struct
expr
*
expr_alloc_uconstant
(
unsigned
int
value
)
struct
expr
*
expr_alloc_uconstant
(
long
unsigned
int
value
)
{
struct
expr
*
ex
;
...
...
@@ -350,13 +350,13 @@ struct dbg_lvalue expr_eval(struct expr* exp)
break
;
case
EXPR_TYPE_U_CONST
:
rtn
.
cookie
=
DLV_HOST
;
rtn
.
type
.
id
=
dbg_itype_unsigned_int
;
rtn
.
type
.
id
=
dbg_itype_unsigned_
long_
int
;
rtn
.
type
.
module
=
0
;
rtn
.
addr
.
Offset
=
(
ULONG_PTR
)
&
exp
->
un
.
u_const
.
value
;
break
;
case
EXPR_TYPE_S_CONST
:
rtn
.
cookie
=
DLV_HOST
;
rtn
.
type
.
id
=
dbg_itype_signed_int
;
rtn
.
type
.
id
=
dbg_itype_signed_
long_
int
;
rtn
.
type
.
module
=
0
;
rtn
.
addr
.
Offset
=
(
ULONG_PTR
)
&
exp
->
un
.
s_const
.
value
;
break
;
...
...
@@ -690,10 +690,10 @@ int expr_print(const struct expr* exp)
dbg_printf
(
"$%s"
,
exp
->
un
.
intvar
.
name
);
break
;
case
EXPR_TYPE_U_CONST
:
dbg_printf
(
"%u"
,
exp
->
un
.
u_const
.
value
);
dbg_printf
(
"%
l
u"
,
exp
->
un
.
u_const
.
value
);
break
;
case
EXPR_TYPE_S_CONST
:
dbg_printf
(
"%d"
,
exp
->
un
.
s_const
.
value
);
dbg_printf
(
"%
l
d"
,
exp
->
un
.
s_const
.
value
);
break
;
case
EXPR_TYPE_STRING
:
dbg_printf
(
"
\"
%s
\"
"
,
exp
->
un
.
string
.
str
);
...
...
programs/winedbg/types.c
View file @
5aa859de
...
...
@@ -784,6 +784,24 @@ BOOL types_get_info(const struct dbg_type* type, IMAGEHLP_SYMBOL_TYPE_INFO ti, v
switch
(
type
->
id
)
{
case
dbg_itype_unsigned_long_int
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
ADDRSIZE
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btUInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for u-long int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_signed_long_int
:
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagBaseType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
ADDRSIZE
;
break
;
case
TI_GET_BASETYPE
:
X
(
DWORD
)
=
btInt
;
break
;
default:
WINE_FIXME
(
"unsupported %u for s-long int
\n
"
,
ti
);
return
FALSE
;
}
break
;
case
dbg_itype_unsigned_int
:
switch
(
ti
)
{
...
...
@@ -851,7 +869,7 @@ BOOL types_get_info(const struct dbg_type* type, IMAGEHLP_SYMBOL_TYPE_INFO ti, v
switch
(
ti
)
{
case
TI_GET_SYMTAG
:
X
(
DWORD
)
=
SymTagPointerType
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
4
;
break
;
case
TI_GET_LENGTH
:
X
(
DWORD64
)
=
ADDRSIZE
;
break
;
case
TI_GET_TYPE
:
X
(
DWORD
)
=
dbg_itype_char
;
break
;
default:
WINE_FIXME
(
"unsupported %u for a string
\n
"
,
ti
);
return
FALSE
;
}
...
...
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