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
7f88738f
Commit
7f88738f
authored
Dec 10, 2009
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp: Moved addr_to_linear() to stack.c.
parent
ec73f0b7
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
29 additions
and
63 deletions
+29
-63
Makefile.in
dlls/dbghelp/Makefile.in
+0
-1
dbghelp_private.h
dlls/dbghelp/dbghelp_private.h
+0
-1
memory.c
dlls/dbghelp/memory.c
+0
-61
stack.c
dlls/dbghelp/stack.c
+29
-0
No files found.
dlls/dbghelp/Makefile.in
View file @
7f88738f
...
...
@@ -16,7 +16,6 @@ C_SRCS = \
elf_module.c
\
image.c
\
macho_module.c
\
memory.c
\
minidump.c
\
module.c
\
msc.c
\
...
...
dlls/dbghelp/dbghelp_private.h
View file @
7f88738f
...
...
@@ -441,7 +441,6 @@ extern BOOL elf_read_wine_loader_dbg_info(struct process* pcs);
extern
BOOL
elf_synchronize_module_list
(
struct
process
*
pcs
);
struct
elf_thunk_area
;
extern
int
elf_is_in_thunk_area
(
unsigned
long
addr
,
const
struct
elf_thunk_area
*
thunks
);
extern
DWORD
WINAPI
addr_to_linear
(
HANDLE
hProcess
,
HANDLE
hThread
,
ADDRESS
*
addr
);
/* macho_module.c */
#define MACHO_NO_MAP ((const void*)-1)
...
...
dlls/dbghelp/memory.c
deleted
100644 → 0
View file @
ec73f0b7
/*
* File memory.c - managing memory
*
* Copyright (C) 2004, Eric Pouech
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <assert.h>
#include "dbghelp_private.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
dbghelp
);
/******************************************************************
* addr_to_linear
*
* converts an address into its linear value
*/
DWORD
WINAPI
addr_to_linear
(
HANDLE
hProcess
,
HANDLE
hThread
,
ADDRESS
*
addr
)
{
LDT_ENTRY
le
;
switch
(
addr
->
Mode
)
{
case
AddrMode1616
:
if
(
GetThreadSelectorEntry
(
hThread
,
addr
->
Segment
,
&
le
))
return
(
le
.
HighWord
.
Bits
.
BaseHi
<<
24
)
+
(
le
.
HighWord
.
Bits
.
BaseMid
<<
16
)
+
le
.
BaseLow
+
LOWORD
(
addr
->
Offset
);
break
;
case
AddrMode1632
:
if
(
GetThreadSelectorEntry
(
hThread
,
addr
->
Segment
,
&
le
))
return
(
le
.
HighWord
.
Bits
.
BaseHi
<<
24
)
+
(
le
.
HighWord
.
Bits
.
BaseMid
<<
16
)
+
le
.
BaseLow
+
addr
->
Offset
;
break
;
case
AddrModeReal
:
return
(
DWORD
)(
LOWORD
(
addr
->
Segment
)
<<
4
)
+
addr
->
Offset
;
case
AddrModeFlat
:
return
addr
->
Offset
;
default:
FIXME
(
"Unsupported (yet) mode (%x)
\n
"
,
addr
->
Mode
);
return
0
;
}
FIXME
(
"Failed to linearize address %04x:%08x (mode %x)
\n
"
,
addr
->
Segment
,
addr
->
Offset
,
addr
->
Mode
);
return
0
;
}
dlls/dbghelp/stack.c
View file @
7f88738f
...
...
@@ -56,6 +56,35 @@ static const char* wine_dbgstr_addr(const ADDRESS* addr)
}
}
static
DWORD
WINAPI
addr_to_linear
(
HANDLE
hProcess
,
HANDLE
hThread
,
ADDRESS
*
addr
)
{
LDT_ENTRY
le
;
switch
(
addr
->
Mode
)
{
case
AddrMode1616
:
if
(
GetThreadSelectorEntry
(
hThread
,
addr
->
Segment
,
&
le
))
return
(
le
.
HighWord
.
Bits
.
BaseHi
<<
24
)
+
(
le
.
HighWord
.
Bits
.
BaseMid
<<
16
)
+
le
.
BaseLow
+
LOWORD
(
addr
->
Offset
);
break
;
case
AddrMode1632
:
if
(
GetThreadSelectorEntry
(
hThread
,
addr
->
Segment
,
&
le
))
return
(
le
.
HighWord
.
Bits
.
BaseHi
<<
24
)
+
(
le
.
HighWord
.
Bits
.
BaseMid
<<
16
)
+
le
.
BaseLow
+
addr
->
Offset
;
break
;
case
AddrModeReal
:
return
(
DWORD
)(
LOWORD
(
addr
->
Segment
)
<<
4
)
+
addr
->
Offset
;
case
AddrModeFlat
:
return
addr
->
Offset
;
default:
FIXME
(
"Unsupported (yet) mode (%x)
\n
"
,
addr
->
Mode
);
return
0
;
}
FIXME
(
"Failed to linearize address %04x:%08x (mode %x)
\n
"
,
addr
->
Segment
,
addr
->
Offset
,
addr
->
Mode
);
return
0
;
}
static
BOOL
CALLBACK
read_mem
(
HANDLE
hProcess
,
DWORD
addr
,
void
*
buffer
,
DWORD
size
,
LPDWORD
nread
)
{
...
...
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