Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
71932434
Commit
71932434
authored
Apr 21, 2020
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winebuild: Don't use a constructor for dll modules either.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
3872dc55
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
2 additions
and
47 deletions
+2
-47
main.c
tools/winebuild/main.c
+1
-1
parser.c
tools/winebuild/parser.c
+1
-1
spec32.c
tools/winebuild/spec32.c
+0
-45
No files found.
tools/winebuild/main.c
View file @
71932434
...
@@ -389,7 +389,7 @@ static void set_exec_mode( enum exec_mode_values mode )
...
@@ -389,7 +389,7 @@ static void set_exec_mode( enum exec_mode_values mode )
/* get the default entry point for a given spec file */
/* get the default entry point for a given spec file */
static
const
char
*
get_default_entry_point
(
const
DLLSPEC
*
spec
)
static
const
char
*
get_default_entry_point
(
const
DLLSPEC
*
spec
)
{
{
if
(
spec
->
characteristics
&
IMAGE_FILE_DLL
)
return
"
__wine_spec_dll_entry
"
;
if
(
spec
->
characteristics
&
IMAGE_FILE_DLL
)
return
"
DllMain
"
;
if
(
spec
->
subsystem
==
IMAGE_SUBSYSTEM_NATIVE
)
return
"DriverEntry"
;
if
(
spec
->
subsystem
==
IMAGE_SUBSYSTEM_NATIVE
)
return
"DriverEntry"
;
if
(
spec
->
type
==
SPEC_WIN16
)
return
"__wine_spec_exe16_entry"
;
if
(
spec
->
type
==
SPEC_WIN16
)
return
"__wine_spec_exe16_entry"
;
return
"__wine_spec_exe_entry"
;
return
"__wine_spec_exe_entry"
;
...
...
tools/winebuild/parser.c
View file @
71932434
...
@@ -829,7 +829,7 @@ void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 )
...
@@ -829,7 +829,7 @@ void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 )
if
(
spec16
->
characteristics
&
IMAGE_FILE_DLL
)
if
(
spec16
->
characteristics
&
IMAGE_FILE_DLL
)
{
{
spec32
->
characteristics
=
IMAGE_FILE_DLL
;
spec32
->
characteristics
=
IMAGE_FILE_DLL
;
spec32
->
init_func
=
xstrdup
(
"
__wine_spec_dll_entry
"
);
spec32
->
init_func
=
xstrdup
(
"
DllMain
"
);
}
}
/* add an export for the NE module */
/* add an export for the NE module */
...
...
tools/winebuild/spec32.c
View file @
71932434
...
@@ -588,43 +588,6 @@ void output_exports( DLLSPEC *spec )
...
@@ -588,43 +588,6 @@ void output_exports( DLLSPEC *spec )
/*******************************************************************
/*******************************************************************
* output_asm_constructor
*
* Output code for calling a dll constructor.
*/
static
void
output_asm_constructor
(
const
char
*
constructor
)
{
if
(
target_platform
==
PLATFORM_APPLE
)
{
/* Mach-O doesn't have an init section */
output
(
"
\n\t
.mod_init_func
\n
"
);
output
(
"
\t
.align %d
\n
"
,
get_alignment
(
get_ptr_size
())
);
output
(
"
\t
%s %s
\n
"
,
get_asm_ptr_keyword
(),
asm_name
(
constructor
)
);
}
else
{
switch
(
target_cpu
)
{
case
CPU_x86
:
case
CPU_x86_64
:
output
(
"
\n\t
.section
\"
.init
\"
,
\"
ax
\"\n
"
);
output
(
"
\t
call %s
\n
"
,
asm_name
(
constructor
)
);
break
;
case
CPU_ARM
:
output
(
"
\n\t
.section
\"
.text
\"
,
\"
ax
\"\n
"
);
output
(
"
\t
blx %s
\n
"
,
asm_name
(
constructor
)
);
break
;
case
CPU_ARM64
:
case
CPU_POWERPC
:
output
(
"
\n\t
.section
\"
.init
\"
,
\"
ax
\"\n
"
);
output
(
"
\t
bl %s
\n
"
,
asm_name
(
constructor
)
);
break
;
}
}
}
/*******************************************************************
* output_module
* output_module
*
*
* Output the module data.
* Output the module data.
...
@@ -750,14 +713,6 @@ void output_module( DLLSPEC *spec )
...
@@ -750,14 +713,6 @@ void output_module( DLLSPEC *spec )
output_data_directories
(
data_dirs
);
output_data_directories
(
data_dirs
);
if
(
spec
->
characteristics
&
IMAGE_FILE_DLL
)
{
output
(
"
\n\t
%s
\n
"
,
get_asm_string_section
()
);
output
(
"%s
\n
"
,
asm_globl
(
"__wine_spec_file_name"
)
);
output
(
"
\t
%s
\"
%s
\"\n
"
,
get_asm_string_keyword
(),
spec
->
file_name
);
output_asm_constructor
(
"__wine_spec_init_ctor"
);
}
if
(
target_platform
==
PLATFORM_APPLE
)
if
(
target_platform
==
PLATFORM_APPLE
)
output
(
"
\t
.lcomm %s,4
\n
"
,
asm_name
(
"_end"
)
);
output
(
"
\t
.lcomm %s,4
\n
"
,
asm_name
(
"_end"
)
);
}
}
...
...
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