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
Alexandre Julliard
7c91993eba
Don't depend on ELF features for PIC code.
...
A couple of optimizations.
2005-07-05 21:06:00 +00:00
Alexandre Julliard
2b33634018
Intercept functions for 16-bit relay debugging by patching the
...
CALLFROM16 table instead of having the wine_call_from_16 functions
call out the relay functions explicitly.
2005-07-05 12:52:07 +00:00
Alexandre Julliard
e56d9deac4
Added vararg argument type so that the relay code can distinguish from
...
a normal cdecl function.
Don't rely on the relay thunk preserving the stack pointer.
2005-07-05 11:50:40 +00:00
Alexandre Julliard
1a0f2863db
Moved all 16-bit relay code to the text section.
...
Changed a few symbol names for better consistency.
2005-07-03 11:28:44 +00:00
Alexandre Julliard
71914125ce
Moved most of the implementation of CALL32_CBClient(Ex) to the C
...
code.
2005-07-01 16:24:32 +00:00
Alexandre Julliard
445fb59802
Replaced all uses of the __ASM_NAME macro by the asm_name function to
...
allow run-time determination of the correct format.
2005-06-27 18:59:54 +00:00
Alexandre Julliard
803c8d9693
Beginnings of an infrastructure to allow specifying the target CPU and
...
platform at run-time.
2005-06-27 11:23:24 +00:00
Wolfgang Thaller
32984a640e
Use __ASM_NAME and HAVE_ASM_DOT_SIZE in a few places in winebuild
...
where they have been missing (needed for Darwin/x86).
2005-06-20 13:38:39 +00:00
Alexandre Julliard
27e868e9ad
Generate proper PIC code for CALL32_CBClient.
2005-06-16 15:57:36 +00:00
Alexandre Julliard
efcc2b83d8
Store a relative pointer for registry entry points to avoid some text
...
relocations.
2005-06-16 11:04:41 +00:00
Alexandre Julliard
827a69f8ca
Avoid referencing stackframe.h from outside kernel32.
2005-05-16 14:20:16 +00:00
Marcus Meissner
9b626b7bed
Use correct movw instead of movl when handling segment registers.
2005-04-13 11:17:00 +00:00
Eric Pouech
d3f8f78c3a
- added size information about most of the generated thunks (import,
...
16/32 relay...)
- marked the wine thunks by inserting specific symbols (to be managed
by wine's dbghelp)
- removed the stabs generation:
+ mostly used by winedbg, and the previous item will replace it for
dbghelp
+ still broken for gdb anyway
- enhanced const correctness
2004-05-18 21:27:44 +00:00
Dmitry Timoshkov
d16829846d
Add a few missing __ASM_NAME macros.
2004-03-27 20:44:41 +00:00
Jukka Heinonen
54a8a25b5e
DPMI programs now handle pending events.
2004-03-16 01:15:11 +00:00
Alexandre Julliard
4cb001967a
Switch back to the main process stack before calling exception
...
handlers.
2003-10-28 00:30:55 +00:00
Alexandre Julliard
67d9f38059
Added __wine_set_signal_fs function to avoid sharing the
...
SYSLEVEL_Win16CurrentTeb variable between kernel and ntdll.
On the kernel side, replaced SYSLEVEL_Win16CurrentTeb by
CallTo16_TebSelector stored directly in the asm relay code to avoid a
run-time relocation.
2003-10-08 22:59:22 +00:00
Daniel Marmier
9bb19ac2d2
Fixed warnings with gcc option "-Wwrite-strings".
2003-10-03 03:35:20 +00:00
Alexandre Julliard
b91e9cb3e6
Renamed a few more TEB fields.
2003-08-28 03:44:41 +00:00
Alexandre Julliard
a5b961c2b0
Moved selector fixup for the relay code to the callto16 exception
...
handler.
Make sure to only use pop instructions to modify segment registers in
the relay code to simplify the selector fixup.
2003-08-25 23:48:30 +00:00
Alexandre Julliard
3be5d62b29
Moved 16-bit calls initialization and exception handling to kernel32.
...
Store the call_to_16 return address on the stack from the C code so
that we don't need two variants of call_to_16_regs.
2003-08-25 00:56:37 +00:00
Alexandre Julliard
3a5b7cf105
Extended WOWCallback16Ex to support register functions too. This
...
allows simplifying the wine_call_to_16 assembly code by moving part of
it to C code, and getting rid of the extra kernel exports.
2003-08-23 23:30:51 +00:00
Alexandre Julliard
78675ba234
Store %gs in the TEB on every call to 16-bit code, and don't restore
...
it from the TEB for signals that did not happen in 16-bit code.
2003-03-25 00:36:16 +00:00
Alexandre Julliard
551797bc57
Properly save/restore %gs register across 16-bit calls.
2003-02-27 21:11:13 +00:00
Alexandre Julliard
7aee90762a
Merged wine_call_to_16_long and wine_call_to_16_short into a single
...
function.
2002-10-18 00:29:32 +00:00
Alexandre Julliard
6006757996
Setup exception frame around 16-bit calls to unwind stack properly.
2002-08-13 03:29:17 +00:00
Alexandre Julliard
65c6d38581
Replace all uses of PREFIX and @function by the __ASM_NAME and
...
__ASM_FUNC macros.
2002-07-22 20:47:11 +00:00
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Alexandre Julliard
894b188fcf
Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch]
2002-04-25 21:40:56 +00:00
Alexandre Julliard
e16bb784a3
Got rid of #ifdef USE_STABS.
2002-04-01 21:07:16 +00:00
Patrik Stridvall
235da7975b
Made winebuild (almost) compile and work on Windows.
2002-03-11 05:09:02 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Gavriel State
f98c52b11f
Some older versions of GDB need to have the filename data available
...
for each section, so we need to output it again for the data section.
2002-02-12 18:46:14 +00:00
Alexandre Julliard
eb9a863116
Exported CALL32_Regs from ntdll, renamed to __wine_call_from_32_regs
...
to follow the naming convention for this type of functions.
Split 16 and 32-bit relay functions into separate files, and moved the
32-bit ones to dlls/ntdll.
2001-12-11 00:50:33 +00:00
Francois Gouget
e5ddd26dd7
When including config.h, include it first.
2001-10-14 16:18:52 +00:00
Alexandre Julliard
99eac46f65
Output correct assembly function headers for all functions.
2001-08-28 17:26:49 +00:00
Bob Goodwin
d349241ff4
Mask out garbage in the upper half of stack pointer.
2001-06-08 20:25:34 +00:00
Josh DuBois
0b64cfb3f7
More portable .align directive.
...
Ignore -delay directive on ppc only.
Added code to call the dll constructors.
2001-02-13 02:06:38 +00:00
Ulrich Weigand
0108d83818
Fixed winebuild to work on non-Intel architectures.
2000-12-29 05:17:33 +00:00
Dimitrie O. Paun
31b6d090df
Modified winebuild to use the __ASM_FUNC macro for greater portability.
2000-12-01 21:27:43 +00:00
Alexandre Julliard
e296bf3717
Renamed CallTo16* functions to wine_call_to_16* and export them from
...
kernel32.spec.
2000-11-29 19:39:30 +00:00
Alexandre Julliard
ab687979fd
Moved standard syslevel APIs declaration to winbase.h.
...
Use exported syslevel function wherever possible.
Moved SEGPTR declaration to windef16.h.
2000-11-15 23:41:46 +00:00
Alexandre Julliard
914406f854
Moved LDT handling to libwine.so. Changed the interface to use the
...
exported LDT_ENTRY structure.
2000-11-14 01:54:49 +00:00
Alexandre Julliard
745ec84c8b
Export the CallFrom16xxx functions from kernel32. Renamed them
...
__wine_call_from_16 to follow the naming convention.
2000-11-13 04:54:45 +00:00
Alexandre Julliard
aa5a1162a3
Patch flat cs of 16-bit entry points if current %cs is different from
...
compiled value, and retrieve flat ds from a global variable. This
should avoid problems with win4lin kernels.
2000-10-29 01:28:30 +00:00