Zebediah Figura
6bcfab4ca6
winebuild: Use the lretw mnemonic in wine_call_to_16().
...
We already use it in the __wine_spec_callfrom16_* functions.
2023-06-02 09:32:23 +02:00
Zebediah Figura
63a6f01a70
winebuild: Use segment prefixes in 16-bit stack switching code instead of writing out byte values.
...
Presumably at one point there were assemblers that choked on
these. However, currently we use segment prefixes elsewhere in
wine (namely, in the syscall dispatcher), and it seems fair to assume
that a sane compiler should support them.
2023-06-02 09:32:23 +02:00
Alexandre Julliard
f9ee0d2f05
tools: Avoid using wine/port.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Zebediah Figura
ea66623c3c
winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to krnl386.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 11:00:23 +02:00
Zebediah Figura
1f3eb3996d
winebuild: Move the CALL32_CBClient[Ex] implementation to krnl386.
...
Except for the return thunk.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 10:59:35 +02:00
Zebediah Figura
bbe2eaecc9
winebuild: Fix a typo in a comment.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 21:50:58 +02:00
Jacek Caban
ea5e89a545
winebuild: Make mingw a separated platform from msvc.
...
Based on winegcc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 09:02:04 +01:00
Alexandre Julliard
b636f9816f
krnl386: Move the 16-bit stack out of the WOW32Reserved field.
...
Based on a patch by Sebastian Lackner.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Alexandre Julliard
2746797ad5
winebuild: Support building krnl386.exe in PE format.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 10:55:25 +02:00
Alexandre Julliard
7b494f13e7
winebuild: Store wine_ldt_copy pointer in the NE header at load time.
...
Avoids having to import libwine from 16-bit modules.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:01:01 +02:00
Alexandre Julliard
075e561f5c
winebuild: Don't change %fs and %gs when calling 16-bit register functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:00:59 +02:00
Alexandre Julliard
96c77a8cf6
winebuild: Stop building the DPMI event check routine.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 17:16:13 +01:00
Alexandre Julliard
e3a236e6ce
winebuild: Remove 32-bit register function support.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-26 10:43:09 +02:00
Alexandre Julliard
9e59362ae3
ntdll: Move the plaform-specific thread data to the SystemReserved2 TEB field.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-19 19:13:30 +02:00
Qian Hong
604c4dba80
ntdll: Correctly document the offset of ntdll_thread_data.
...
This is a follow up of 16ddc62405
.
2015-04-21 14:30:45 +09:00
Sebastian Lackner
4c8b3f63be
winebuild: Conditionally use different code for restoring the context structure.
...
Fixes a regression introduced by 44fbc018ed
.
2015-03-03 18:12:30 +09:00
Sebastian Lackner
44fbc018ed
winebuild: Do not access memory below ESP when restoring thread contexts.
...
Based on a patch by John Reiser.
2015-02-27 15:05:54 +09:00
Frédéric Delanoy
355a0aef8b
winebuild: Avoid dead code in BuildCallFrom16Core (Coverity).
2011-11-28 16:40:47 +01:00
Alexandre Julliard
bea2be5cce
winebuild: Get rid of support for register entry points on x86_64.
2011-01-27 14:12:41 +01:00
Alexandre Julliard
5c2db41cdc
winebuild: Add cfi annotations to the relay functions for i386.
2010-04-12 12:33:19 +02:00
Alexandre Julliard
e550e8a100
winebuild: Add a wrapper function to output cfi directives.
2010-04-11 12:49:00 +02:00
Alexandre Julliard
539da1b073
winebuild: Output the 16-bit asm relay functions as needed and get rid of --relay16 mode.
2010-01-16 15:58:48 +01:00
Alexandre Julliard
10e4a55b6c
winebuild: Output the asm relay functions as needed and get rid of --relay32 mode.
2010-01-16 15:50:27 +01:00
Alexandre Julliard
102dd9e92f
winebuild: Rename __wine_call_from_32_regs for consistency with 64-bit.
2010-01-16 15:41:48 +01:00
Alexandre Julliard
873e027e01
winebuild: Add unwind annotations to all the generated functions for x86_64.
2009-06-16 14:26:51 +02:00
Alexandre Julliard
e00b4582a1
winebuild: Properly restore %rax and %rbx in call_from_regs on x86_64.
2009-06-10 13:22:04 +02:00
Alexandre Julliard
880d00fb43
winebuild: Use iretq on x86_64 to restore more system registers and flags.
2009-05-01 18:03:23 +02:00
Alexandre Julliard
b374e7e36e
winebuild: Don't include any Windows header to avoid data types dependencies.
2009-04-09 20:58:43 +02:00
Alexandre Julliard
89f6bc2ef4
winebuild: Hardcode the stack frame offsets instead of using the data structures.
2009-04-09 20:30:10 +02:00
Alexandre Julliard
d71284f0b4
winebuild: Hardcode the i386 register context offsets instead of using the data structure.
2009-04-09 20:01:56 +02:00
Alexandre Julliard
465ddc51dc
winebuild: Implement register entry points for x86_64.
2009-01-06 17:01:44 +01:00
Alexandre Julliard
e31188d9da
winebuild: Improve the calling sequence for register functions.
...
Pass parameters on the stack instead of retrieving them from the code
stream; this ensures that the code contains only valid instructions.
2009-01-06 12:51:18 +01:00
Alexandre Julliard
8a87aaa9d9
winebuild: Generate the __wine_call_from_32_regs function along with the 16-bit kernel routines.
2008-12-27 19:50:25 +01:00
Alexandre Julliard
5625c6079e
Get rid of the global thread.h header.
2008-03-01 11:57:00 +01:00
Austin English
90f89fa74d
tools: Spelling fixes.
2008-01-18 12:52:09 +01:00
Alexandre Julliard
44c9758d05
ntdll: Move private data to make room in the TEB for the activation context data.
2007-07-19 16:56:10 +02:00
Alexandre Julliard
715804999e
winebuild: Added output() function to properly deal with write errors.
2006-08-11 20:41:29 +02:00
Alexandre Julliard
d489a0a312
winebuild: Get rid of the data16 prefix, it shouldn't be needed anymore and causes warnings.
2006-06-19 21:16:50 +02:00
Alexandre Julliard
fb15dabdcd
winebuild: Fix a few printf format warnings by casting size_t.
2006-06-13 14:14:59 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Marcus Meissner
1ed3ca0883
winebuild: Output a .note.GNU-stack section to allow nonexecutable stack.
2006-01-21 19:23:36 +01:00
Alexandre Julliard
76ece8530a
winebuild: Moved offset definitions to relay.c since they are only
...
needed there.
Hardcoded a couple of TEB offsets to support cross-compilation.
2006-01-20 19:45:57 +01:00
Alexandre Julliard
4ce433d826
ntdll: Move the %gs register to the ntdll_thread_regs structure.
2006-01-20 16:54:11 +01:00
Alexandre Julliard
8651ceb18e
ntdll: Make __wine_call_from_32_restore_regs take a context pointer.
...
Changed exception raise functions to call it explicitly.
2005-12-19 09:59:50 +01:00
Alexandre Julliard
c367dc4f2e
Enforce 16-byte stack alignment when returning from 16-bit code and
...
when calling a register function.
2005-11-28 17:38:40 +01:00
Alexandre Julliard
2aae74dff0
Factor out a couple of useful helper functions.
2005-09-21 11:50:04 +00:00
Alexandre Julliard
c5c6968e96
Fixed stack offset of %eax register.
2005-09-20 11:38:29 +00:00
Alexandre Julliard
96508ad686
Moved return value handling to the individual relay thunks so that we
...
only need one version of wine_call_from_16.
Patch the wine_call_from_16 address along with the cs value directly
in the 16-bit code segment to avoid the need for special magic in the
import thunks.
2005-09-18 12:25:22 +00:00
Alexandre Julliard
89024a63d3
Make the users of wine_call_from_32_regs save %eax so that we don't
...
need a special hack in the import thunk.
Added a get_pc_thunk_eax function to simplify the code a bit.
2005-09-18 11:13:54 +00:00
Alexandre Julliard
13baa7b364
Added a common function to declare global symbols, and make them
...
hidden on platforms that support it.
2005-09-15 18:48:39 +00:00