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
b4da46eb
Commit
b4da46eb
authored
Dec 12, 2009
by
Eric Pouech
Committed by
Alexandre Julliard
Dec 14, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp: A couple of fixes for dwarf2 support on a 64bit platform.
parent
c6eb8104
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
3 deletions
+18
-3
dwarf.c
dlls/dbghelp/dwarf.c
+18
-3
No files found.
dlls/dbghelp/dwarf.c
View file @
b4da46eb
...
...
@@ -217,7 +217,7 @@ static unsigned char dwarf2_parse_byte(dwarf2_traverse_context_t* ctx)
static
unsigned
short
dwarf2_get_u2
(
const
unsigned
char
*
ptr
)
{
return
*
(
const
unsigned
short
*
)
ptr
;
return
*
(
const
UINT16
*
)
ptr
;
}
static
unsigned
short
dwarf2_parse_u2
(
dwarf2_traverse_context_t
*
ctx
)
...
...
@@ -229,7 +229,7 @@ static unsigned short dwarf2_parse_u2(dwarf2_traverse_context_t* ctx)
static
unsigned
long
dwarf2_get_u4
(
const
unsigned
char
*
ptr
)
{
return
*
(
const
unsigned
long
*
)
ptr
;
return
*
(
const
UINT32
*
)
ptr
;
}
static
unsigned
long
dwarf2_parse_u4
(
dwarf2_traverse_context_t
*
ctx
)
...
...
@@ -239,6 +239,11 @@ static unsigned long dwarf2_parse_u4(dwarf2_traverse_context_t* ctx)
return
uvalue
;
}
static
DWORD64
dwarf2_get_u8
(
const
unsigned
char
*
ptr
)
{
return
*
(
const
UINT64
*
)
ptr
;
}
static
unsigned
long
dwarf2_get_leb128_as_unsigned
(
const
unsigned
char
*
ptr
,
const
unsigned
char
**
end
)
{
unsigned
long
ret
=
0
;
...
...
@@ -309,6 +314,13 @@ static unsigned dwarf2_leb128_length(const dwarf2_traverse_context_t* ctx)
return
ret
+
1
;
}
/******************************************************************
* dwarf2_get_addr
*
* Returns an address.
* We assume that in all cases word size from Dwarf matches the size of
* addresses in platform where the exec is compiled.
*/
static
unsigned
long
dwarf2_get_addr
(
const
unsigned
char
*
ptr
,
unsigned
word_size
)
{
unsigned
long
ret
;
...
...
@@ -318,6 +330,9 @@ static unsigned long dwarf2_get_addr(const unsigned char* ptr, unsigned word_siz
case
4
:
ret
=
dwarf2_get_u4
(
ptr
);
break
;
case
8
:
ret
=
dwarf2_get_u8
(
ptr
);
break
;
default:
FIXME
(
"Unsupported Word Size %u
\n
"
,
word_size
);
ret
=
0
;
...
...
@@ -2033,7 +2048,7 @@ static BOOL dwarf2_parse_compilation_unit(const dwarf2_section_t* sections,
cu_ctx
.
word_size
=
dwarf2_parse_byte
(
&
cu_ctx
);
TRACE
(
"Compilation Unit Header found at 0x%x:
\n
"
,
comp_unit_start
-
sections
[
section_debug
].
address
);
(
int
)(
comp_unit_start
-
sections
[
section_debug
].
address
)
);
TRACE
(
"- length: %lu
\n
"
,
cu_length
);
TRACE
(
"- version: %u
\n
"
,
cu_version
);
TRACE
(
"- abbrev_offset: %lu
\n
"
,
cu_abbrev_offset
);
...
...
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