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
82a3f8fc
Commit
82a3f8fc
authored
Mar 11, 2009
by
Ken Thomases
Committed by
Alexandre Julliard
Mar 12, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp/stabs: Decode the Stabs type more carefully.
parent
1ecd634c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
3 deletions
+24
-3
stabs.c
dlls/dbghelp/stabs.c
+24
-3
No files found.
dlls/dbghelp/stabs.c
View file @
82a3f8fc
...
...
@@ -63,9 +63,24 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
dbghelp_stabs
);
/* Masks for n_type field */
#ifndef N_STAB
#define N_STAB 0xe0
#endif
#ifndef N_TYPE
#define N_TYPE 0x1e
#endif
#ifndef N_EXT
#define N_EXT 0x01
#endif
/* Values for (n_type & N_TYPE) */
#ifndef N_UNDF
#define N_UNDF 0x00
#endif
#ifndef N_ABS
#define N_ABS 0x02
#endif
#define N_GSYM 0x20
#define N_FUN 0x24
...
...
@@ -1197,6 +1212,7 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
struct
pending_block
pending
;
BOOL
ret
=
TRUE
;
struct
location
loc
;
unsigned
char
type
;
nstab
=
stablen
/
sizeof
(
struct
stab_nlist
);
strs_end
=
strs
+
strtablen
;
...
...
@@ -1244,8 +1260,13 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
ptr
=
stabbuff
;
}
if
(
stab_ptr
->
n_type
&
N_STAB
)
type
=
stab_ptr
->
n_type
;
else
type
=
(
stab_ptr
->
n_type
&
N_TYPE
);
/* only symbol entries contain a typedef */
switch
(
stab_ptr
->
n_
type
)
switch
(
type
)
{
case
N_GSYM
:
case
N_LCSYM
:
...
...
@@ -1275,7 +1296,7 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
}
}
switch
(
stab_ptr
->
n_
type
)
switch
(
type
)
{
case
N_GSYM
:
/*
...
...
@@ -1527,7 +1548,7 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
/* Always ignore these, they seem to be used only on Darwin. */
break
;
default:
ERR
(
"Unknown stab type 0x%02x
\n
"
,
stab_ptr
->
n_
type
);
ERR
(
"Unknown stab type 0x%02x
\n
"
,
type
);
break
;
}
stabbuff
[
0
]
=
'\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