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
e08b80a7
Commit
e08b80a7
authored
Sep 02, 2021
by
Eric Pouech
Committed by
Alexandre Julliard
Sep 03, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp: Mostly get rid of symt_cache in dwarf debug information.
Signed-off-by:
Eric Pouech
<
eric.pouech@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
c9b04836
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
28 deletions
+3
-28
dwarf.c
dlls/dbghelp/dwarf.c
+3
-28
No files found.
dlls/dbghelp/dwarf.c
View file @
e08b80a7
...
...
@@ -164,10 +164,7 @@ typedef struct dwarf2_traverse_context_s
/* symt_cache indexes */
#define sc_void 0
#define sc_int1 1
#define sc_int2 2
#define sc_int4 3
#define sc_num 4
#define sc_num 1
typedef
struct
dwarf2_parse_context_s
{
...
...
@@ -181,7 +178,7 @@ typedef struct dwarf2_parse_context_s
struct
sparse_array
debug_info_table
;
ULONG_PTR
load_offset
;
ULONG_PTR
ref_offset
;
struct
symt
*
symt_cache
[
sc_num
];
/* void
, int1, int2, int4
*/
struct
symt
*
symt_cache
[
sc_num
];
/* void */
char
*
cpp_name
;
}
dwarf2_parse_context_t
;
...
...
@@ -1166,7 +1163,6 @@ static struct symt* dwarf2_parse_base_type(dwarf2_parse_context_t* ctx,
struct
attribute
size
;
struct
attribute
encoding
;
enum
BasicType
bt
;
int
cache_idx
=
-
1
;
if
(
di
->
symt
)
return
di
->
symt
;
TRACE
(
"%s, for %s
\n
"
,
dwarf2_debug_ctx
(
ctx
),
dwarf2_debug_di
(
di
));
...
...
@@ -1190,24 +1186,6 @@ static struct symt* dwarf2_parse_base_type(dwarf2_parse_context_t* ctx,
default:
bt
=
btNoType
;
break
;
}
di
->
symt
=
&
symt_new_basic
(
ctx
->
module
,
bt
,
name
.
u
.
string
,
size
.
u
.
uvalue
)
->
symt
;
switch
(
bt
)
{
case
btVoid
:
assert
(
size
.
u
.
uvalue
==
0
);
cache_idx
=
sc_void
;
break
;
case
btInt
:
switch
(
size
.
u
.
uvalue
)
{
case
1
:
cache_idx
=
sc_int1
;
break
;
case
2
:
cache_idx
=
sc_int2
;
break
;
case
4
:
cache_idx
=
sc_int4
;
break
;
}
break
;
default:
break
;
}
if
(
cache_idx
!=
-
1
&&
!
ctx
->
symt_cache
[
cache_idx
])
ctx
->
symt_cache
[
cache_idx
]
=
di
->
symt
;
if
(
dwarf2_get_di_children
(
ctx
,
di
))
FIXME
(
"Unsupported children
\n
"
);
return
di
->
symt
;
...
...
@@ -1269,7 +1247,7 @@ static struct symt* dwarf2_parse_array_type(dwarf2_parse_context_t* ctx,
{
/* fake an array with unknown size */
/* FIXME: int4 even on 64bit machines??? */
idx_type
=
ctx
->
symt_cache
[
sc_int4
]
;
idx_type
=
&
symt_new_basic
(
ctx
->
module
,
btInt
,
"int"
,
4
)
->
symt
;
min
.
u
.
uvalue
=
0
;
cnt
.
u
.
uvalue
=
0
;
}
...
...
@@ -1347,9 +1325,6 @@ static struct symt* dwarf2_parse_unspecified_type(dwarf2_parse_context_t* ctx,
basic
=
symt_new_basic
(
ctx
->
module
,
btVoid
,
name
.
u
.
string
,
size
.
u
.
uvalue
);
di
->
symt
=
&
basic
->
symt
;
if
(
!
ctx
->
symt_cache
[
sc_void
])
ctx
->
symt_cache
[
sc_void
]
=
di
->
symt
;
if
(
dwarf2_get_di_children
(
ctx
,
di
))
FIXME
(
"Unsupported children
\n
"
);
return
di
->
symt
;
}
...
...
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