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
546fa127
Commit
546fa127
authored
Apr 22, 2019
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server: Add flag for builtin dlls in the image information.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
11ee7a70
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
8 additions
and
3 deletions
+8
-3
virtual.c
dlls/ntdll/virtual.c
+1
-1
server_protocol.h
include/wine/server_protocol.h
+1
-0
mapping.c
server/mapping.c
+5
-2
protocol.def
server/protocol.def
+1
-0
No files found.
dlls/ntdll/virtual.c
View file @
546fa127
...
...
@@ -3203,7 +3203,7 @@ void virtual_fill_image_information( const pe_image_info_t *pe_info, SECTION_IMA
info
->
DllCharacteristics
=
pe_info
->
dll_charact
;
info
->
Machine
=
pe_info
->
machine
;
info
->
ImageContainsCode
=
pe_info
->
contains_code
;
info
->
u
.
ImageFlags
=
pe_info
->
image_flags
&
~
IMAGE_FLAGS_WineFakeDll
;
info
->
u
.
ImageFlags
=
pe_info
->
image_flags
&
~
(
IMAGE_FLAGS_WineBuiltin
|
IMAGE_FLAGS_WineFakeDll
)
;
info
->
LoaderFlags
=
pe_info
->
loader_flags
;
info
->
ImageFileSize
=
pe_info
->
file_size
;
info
->
CheckSum
=
pe_info
->
checksum
;
...
...
include/wine/server_protocol.h
View file @
546fa127
...
...
@@ -720,6 +720,7 @@ typedef struct
#define IMAGE_FLAGS_ImageDynamicallyRelocated 0x04
#define IMAGE_FLAGS_ImageMappedFlat 0x08
#define IMAGE_FLAGS_BaseBelow4gb 0x10
#define IMAGE_FLAGS_WineBuiltin 0x40
#define IMAGE_FLAGS_WineFakeDll 0x80
struct
rawinput_device
...
...
server/mapping.c
View file @
546fa127
...
...
@@ -558,6 +558,7 @@ static int load_clr_header( IMAGE_COR20_HEADER *hdr, size_t va, size_t size, int
/* retrieve the mapping parameters for an executable (PE) image */
static
unsigned
int
get_image_params
(
struct
mapping
*
mapping
,
file_pos_t
file_size
,
int
unix_fd
)
{
static
const
char
builtin_signature
[]
=
"Wine builtin DLL"
;
static
const
char
fakedll_signature
[]
=
"Wine placeholder DLL"
;
IMAGE_COR20_HEADER
clr
;
...
...
@@ -565,7 +566,7 @@ static unsigned int get_image_params( struct mapping *mapping, file_pos_t file_s
struct
{
IMAGE_DOS_HEADER
dos
;
char
buffer
[
sizeof
(
fakedll_signature
)
];
char
buffer
[
32
];
}
mz
;
struct
{
...
...
@@ -702,7 +703,9 @@ static unsigned int get_image_params( struct mapping *mapping, file_pos_t file_s
mapping
->
image
.
gp
=
0
;
/* FIXME */
mapping
->
image
.
file_size
=
file_size
;
mapping
->
image
.
loader_flags
=
clr_va
&&
clr_size
;
if
(
mz_size
==
sizeof
(
mz
)
&&
!
memcmp
(
mz
.
buffer
,
fakedll_signature
,
sizeof
(
fakedll_signature
)
))
if
(
mz_size
==
sizeof
(
mz
)
&&
!
memcmp
(
mz
.
buffer
,
builtin_signature
,
sizeof
(
builtin_signature
)
))
mapping
->
image
.
image_flags
|=
IMAGE_FLAGS_WineBuiltin
;
else
if
(
mz_size
==
sizeof
(
mz
)
&&
!
memcmp
(
mz
.
buffer
,
fakedll_signature
,
sizeof
(
fakedll_signature
)
))
mapping
->
image
.
image_flags
|=
IMAGE_FLAGS_WineFakeDll
;
/* load the section headers */
...
...
server/protocol.def
View file @
546fa127
...
...
@@ -736,6 +736,7 @@ typedef struct
#define IMAGE_FLAGS_ImageDynamicallyRelocated 0x04
#define IMAGE_FLAGS_ImageMappedFlat 0x08
#define IMAGE_FLAGS_BaseBelow4gb 0x10
#define IMAGE_FLAGS_WineBuiltin 0x40
#define IMAGE_FLAGS_WineFakeDll 0x80
struct rawinput_device
...
...
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