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
24a7de70
Commit
24a7de70
authored
Oct 06, 2021
by
Eric Pouech
Committed by
Alexandre Julliard
Oct 06, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp: Manage parent/child relationship between SymTagExe and SymTagCompiland.
Signed-off-by:
Eric Pouech
<
eric.pouech@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
8e50fea6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
0 deletions
+12
-0
dbghelp_private.h
dlls/dbghelp/dbghelp_private.h
+1
-0
symbol.c
dlls/dbghelp/symbol.c
+4
-0
type.c
dlls/dbghelp/type.c
+7
-0
No files found.
dlls/dbghelp/dbghelp_private.h
View file @
24a7de70
...
...
@@ -169,6 +169,7 @@ struct symt_block
struct
symt_module
/* in fact any of .exe, .dll... */
{
struct
symt
symt
;
/* module */
struct
vector
vchildren
;
/* compilation units */
struct
module
*
module
;
};
...
...
dlls/dbghelp/symbol.c
View file @
24a7de70
...
...
@@ -191,6 +191,7 @@ struct symt_module* symt_new_module(struct module* module)
{
sym
->
symt
.
tag
=
SymTagExe
;
sym
->
module
=
module
;
vector_init
(
&
sym
->
vchildren
,
sizeof
(
struct
symt
*
),
8
);
}
return
sym
;
}
...
...
@@ -199,6 +200,7 @@ struct symt_compiland* symt_new_compiland(struct module* module,
ULONG_PTR
address
,
unsigned
src_idx
)
{
struct
symt_compiland
*
sym
;
struct
symt_compiland
**
p
;
TRACE_
(
dbghelp_symt
)(
"Adding compiland symbol %s:%s
\n
"
,
debugstr_w
(
module
->
modulename
),
source_get
(
module
,
src_idx
));
...
...
@@ -210,6 +212,8 @@ struct symt_compiland* symt_new_compiland(struct module* module,
sym
->
source
=
src_idx
;
vector_init
(
&
sym
->
vchildren
,
sizeof
(
struct
symt
*
),
32
);
sym
->
user
=
NULL
;
p
=
vector_add
(
&
module
->
top
->
vchildren
,
&
module
->
pool
);
*
p
=
sym
;
}
return
sym
;
}
...
...
dlls/dbghelp/type.c
View file @
24a7de70
...
...
@@ -549,6 +549,7 @@ BOOL symt_get_info(struct module* module, const struct symt* type,
switch
(
type
->
tag
)
{
case
SymTagExe
:
v
=
&
((
const
struct
symt_module
*
)
type
)
->
vchildren
;
break
;
case
SymTagCompiland
:
v
=
&
((
const
struct
symt_compiland
*
)
type
)
->
vchildren
;
break
;
case
SymTagUDT
:
v
=
&
((
const
struct
symt_udt
*
)
type
)
->
vchildren
;
break
;
case
SymTagEnum
:
v
=
&
((
const
struct
symt_enum
*
)
type
)
->
vchildren
;
break
;
...
...
@@ -595,6 +596,9 @@ BOOL symt_get_info(struct module* module, const struct symt* type,
case
TI_GET_CHILDRENCOUNT
:
switch
(
type
->
tag
)
{
case
SymTagExe
:
X
(
DWORD
)
=
vector_length
(
&
((
const
struct
symt_module
*
)
type
)
->
vchildren
);
break
;
case
SymTagCompiland
:
X
(
DWORD
)
=
vector_length
(
&
((
const
struct
symt_compiland
*
)
type
)
->
vchildren
);
break
;
...
...
@@ -703,6 +707,9 @@ BOOL symt_get_info(struct module* module, const struct symt* type,
case
TI_GET_LEXICALPARENT
:
switch
(
type
->
tag
)
{
case
SymTagCompiland
:
X
(
DWORD
)
=
symt_ptr2index
(
module
,
&
((
const
struct
symt_compiland
*
)
type
)
->
container
->
symt
);
break
;
case
SymTagBlock
:
X
(
DWORD
)
=
symt_ptr2index
(
module
,
((
const
struct
symt_block
*
)
type
)
->
container
);
break
;
...
...
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