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
b8f6345d
Commit
b8f6345d
authored
Jan 17, 2011
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libwine: Remove redundant wine_switch_to_stack implementations.
parent
173b2c5b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1 addition
and
26 deletions
+1
-26
port.c
libs/wine/port.c
+1
-26
No files found.
libs/wine/port.c
View file @
b8f6345d
...
...
@@ -54,36 +54,11 @@ void wine_pthread_set_functions( const struct wine_pthread_functions *functions,
*
* Switch to the specified stack and call the function.
*/
#if defined(__sparc__) && defined(__GNUC__)
__ASM_GLOBAL_FUNC
(
wine_switch_to_stack
,
"mov %o0, %l0
\n\t
"
/* store first argument */
"mov %o1, %l1
\n\t
"
/* store second argument */
"sub %o2, 96, %sp
\n\t
"
/* store stack */
"call %l0, 0
\n\t
"
/* call func */
"mov %l1, %o0
\n\t
"
/* delay slot: arg for func */
"ta 0x01"
)
/* breakpoint - we never get here */
#elif defined(__powerpc__) && defined(__APPLE__)
__ASM_GLOBAL_FUNC
(
wine_switch_to_stack
,
"mtctr r3
\n\t
"
/* func -> ctr */
"mr r3,r4
\n\t
"
/* args -> function param 1 (r3) */
"mr r1,r5
\n\t
"
/* stack */
"subi r1,r1,0x100
\n\t
"
/* adjust stack pointer */
"bctrl
\n
"
/* call ctr */
"1:
\t
b 1b"
)
/* loop */
#elif defined(__ALPHA__) && defined(__GNUC__)
__ASM_GLOBAL_FUNC
(
wine_switch_to_stack
,
"mov $16,$0
\n\t
"
/* func */
"mov $17,$16
\n\t
"
/* arg */
"mov $18,$30
\n\t
"
/* stack */
"jsr $31,($0),0
\n\t
"
/* call func */
"L1:
\t
br $31,L1"
)
/* loop */
#else
void
DECLSPEC_NORETURN
wine_switch_to_stack
(
void
(
*
func
)(
void
*
),
void
*
arg
,
void
*
stack
)
{
wine_call_on_stack
(
(
int
(
*
)(
void
*
))
func
,
arg
,
stack
);
abort
();
}
#endif
/***********************************************************************
...
...
@@ -196,5 +171,5 @@ __ASM_GLOBAL_FUNC( wine_call_on_stack,
"ret
\n\t
"
/* return */
"restore
\n\t
"
)
/* delay slot: pop */
#else
#error You must implement wine_
switch_to
_stack for your platform
#error You must implement wine_
call_on
_stack for your platform
#endif
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