Alexandre Julliard
4ce9af2ba5
ntdll: Clear the direction flag before calling exception handlers.
2008-03-20 14:27:35 +01:00
Alexandre Julliard
5625c6079e
Get rid of the global thread.h header.
2008-03-01 11:57:00 +01:00
Alexandre Julliard
0375b7a1f3
ntdll: Don't fetch extended FPU context if there's no FPU context at all.
2008-01-22 10:20:12 +01:00
Alexandre Julliard
2cba11aa6f
ntdll: Don't try to restore extended fpu context if not supported.
...
Remove an extra fpu context save left over from testing.
2008-01-18 12:02:31 +01:00
Alexandre Julliard
992de9f487
ntdll: Mac OS support for saving and restoring the extended FPU context on exceptions.
2008-01-15 20:36:40 +01:00
Alexandre Julliard
bd352bcd1c
ntdll: Linux support for saving and restoring the extended FPU context on exceptions.
2008-01-15 20:36:40 +01:00
Eric Pouech
aff968fb47
valgrind: Made Wine compliant will latest Valgrind macros (the one removed from 3.3.0 and deprecated since 3.2.0).
2007-12-24 13:30:39 +01:00
Alexandre Julliard
3b244b95b2
server: Use SIGQUIT instead of SIGTERM to terminate a thread.
...
This allows keeping the default SIGTERM behavior of killing the whole
process.
2007-12-20 12:19:35 +01:00
Peter Beutner
db28edc790
ntdll: Better trap exception handling.
2007-11-12 14:14:28 +01:00
Peter Beutner
fc5316760b
ntdll: Don't try to handle kill(SIGTRAP).
2007-11-12 14:14:23 +01:00
Alexandre Julliard
0156dbba4f
ntdll: Increase the signal stack size to avoid crashes on nested signals.
2007-11-08 13:53:47 +01:00
Francois Gouget
b2bc712323
Assorted spelling fixes.
2007-09-27 20:12:53 +02: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
b5953831c3
ntdll: Use the standard exception handling for vm86 GP faults too.
2007-06-25 19:47:58 +02:00
Alexandre Julliard
c5134b77c6
ntdll: Support setting the CPU context on the current thread without segment registers.
2007-05-08 20:09:25 +02:00
Andrew Talbot
ab2a48ae43
ntdll: Remove superfluous semicolons.
2007-04-12 16:16:58 +02:00
Andrew Talbot
0108667754
ntdll: Replace inline static with static inline.
2007-03-17 20:03:57 +01:00
Alexandre Julliard
cdb833bf33
ntdll: Fixed some exception codes and parameters.
2007-03-14 12:02:43 +01:00
Alexandre Julliard
7d12fbcc5b
ntdll: Changed some Solaris defines so that we can access the signal error code.
2007-03-14 09:53:59 +01:00
Alexandre Julliard
0d16a7bbe4
Fixed some compilation issues on Mac OS X Leopard.
2007-03-12 16:14:18 +01:00
Peter Beutner
4a831ec716
ntdll: Handle SIMD exceptions.
2007-03-09 11:53:26 +01:00
Alexandre Julliard
c388c58b9f
ntdll: Make the server signal mask global.
2007-01-18 12:20:56 +01:00
Joel Parker
2319999a05
Remove redundant semicolons for ANSI compatibility.
2007-01-17 11:58:15 +01:00
Peter Beutner
6f88a7b7d4
ntdll: Fix single stepping over popf instruction.
2006-12-04 12:23:20 +01:00
Hans Leidekker
f7b0ba7aa7
ntdll: Win64 printf format warning fixes.
2006-10-18 12:35:26 +02:00
Marcus Meissner
86c0bb3be5
ntdll: Clear alignment check flag before entering exception handler.
2006-10-03 11:24:52 +02:00
Marcus Meissner
57a04062fe
ntdll: Align stack to 4 bytes.
2006-09-28 12:23:32 +02:00
Robert Shearman
5881d91cfc
ntdll: Avoid crashing in check_atl_thunk if an execution exception was raised with a bad address.
2006-09-28 11:55:50 +02:00
Marcus Meissner
07d84bf656
ntdll: Avoid ebx being clobbered in exception handler.
2006-09-25 21:27:14 +02:00
Alexandre Julliard
a27d0aa4e9
include: Added definitions for the fault address exception information.
2006-09-20 11:27:53 +02:00
Alexandre Julliard
0839ea104a
ntdll: Added sysctl to make the signal stack per-thread on MacOS.
2006-09-07 18:08:46 +02:00
Alexandre Julliard
c627cbd765
ntdll: Remove some macros and clean up the code now that all platforms use siginfo.
2006-08-11 14:45:11 +02:00
Alexandre Julliard
38cf3a4305
ntdll: Switch linux to siginfo-style signal handling.
2006-08-11 14:14:38 +02:00
Alexandre Julliard
ea08ec55b2
ntdll: Get rid of the Linux legacy signal stack switching.
...
It doesn't work right in 32-bit code anyway.
2006-08-07 16:45:45 +02:00
Tijl Coosemans
148120f21e
ntdll: Cleanup signal_i386.c a bit and fix *BSD.
2006-08-07 15:57:49 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
d2ad6f8355
ntdll: Get registers on the client side for NtGetContextThread on the current thread.
2006-04-20 15:40:28 +02:00
James Hawkins
14faf12845
ntdll: Return error if the signal index equals the size of the array.
2006-04-07 11:46:12 +02:00
Alexandre Julliard
a1f0f39174
ntdll: Save FPU context for all exceptions.
2006-04-03 21:39:33 +02:00
Petr Tesarik
e748a77e1a
ntdll: Fix debug exceptions from VM86.
...
- Set ContextFlags accordingly in save_vm86_context().
- Raise debug exceptions correctly for debug exceptions.
- Do not clear TF bit for VM86-generated debug exceptions.
2006-03-27 11:30:50 +02:00
Detlef Riekenberg
43a0f0c85a
ntdll: Avoid compile error caused by a single quote.
2006-02-21 11:12:28 +01:00
Robert Shearman
3e47c82e02
ntdll: Add a define for SYS_sigaction to __NR_sigaction.
...
Print an error if __NR_sigaction doesn't exist as this means the wrong
syscall header is being used.
2006-02-20 20:31:51 +01:00
Eric Pouech
c67bc2260c
A couple of new valgrind instrumentations for better support.
2006-02-14 13:06:29 +01:00
Alexandre Julliard
57550776ce
ntdll: Added emulation of ATL thunks for platforms with NX support.
2006-02-10 15:13:59 +01:00
Robert Millan
8800352477
Enable for GNU/kFreeBSD the same kernel-specific interface/parameter
...
that is used with FreeBSD.
2006-02-05 13:06:50 +01:00
Robert Millan
62af0706ff
ntdll: Rename i386 CPU trap codes to avoid collision with system headers.
2006-02-03 12:30:55 +01:00
Eric Pouech
2e0b5336f6
Suppress some false-positives reported by valgrind.
2006-01-27 16:17:51 +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
a19e3eeb20
ntdll: Move the TEB register to the ntdll_thread_regs structure.
2006-01-20 16:18:06 +01:00
Alexandre Julliard
2878d99216
ntdll: Add debug registers to the context of all exceptions.
...
Maintain a local cache of the debug registers to avoid server calls
where possible.
2006-01-13 13:58:14 +01:00
Alexandre Julliard
2654be08d5
ntdll: Handle NtSetContextThread on the client side (as far as
...
possible) when setting the context of the current thread.
2006-01-11 20:20:32 +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
07f84d0458
ntdll: More compatible exception information for protection faults.
...
Added a bunch of test cases.
2005-12-16 16:27:39 +01:00
Alexandre Julliard
f3dad37ba2
TEB.StackLimit should not include the guard page.
2005-12-12 17:28:32 +01:00
Alexandre Julliard
cc01e8ff05
Preserve 16-byte stack alignment in the various assembly
...
functions. Needed for MacOSX.
2005-11-23 19:55:06 +01:00
Ken Thomases
a63acd71c8
Updated context definitions for the latest Darwin/x86.
2005-11-15 18:15:56 +00:00
Alexandre Julliard
86f8aef511
Use proper asm name for external functions.
2005-11-15 12:05:45 +00:00
Alexandre Julliard
73c72390f8
Fixed Get/SetThreadContext to work properly on suspended threads.
...
Added a test case.
2005-11-02 20:54:12 +00:00
Robert Shearman
2a02dd1f05
Make the call exception handler function more compatible with NT and
...
with what Shrinker expects.
2005-11-01 09:21:03 +00:00
Marcus Meissner
98ed5585c7
Added assembly implementation of EXC_CallHandler.
2005-10-31 14:08:05 +00:00
Alexandre Julliard
7955fb01d7
Clear the single-step flag in setup_exception instead of in the
...
SIGTRAP handler to avoid having the assigmnent optimized out.
2005-10-04 15:56:34 +00:00
Alexandre Julliard
2eaff5074f
Fixed exception handling on MacOS.
2005-09-27 09:36:15 +00:00
Alexandre Julliard
fb9cead92b
Support arbitrary sizes for the thread signal stack, and set the
...
default size from the MINSIGSTKSZ constant.
2005-09-14 10:36:58 +00:00
Glenn Wurster
cee9a0f2a3
Make stack check work if stack is a small value.
2005-08-25 19:20:21 +00:00
Alexandre Julliard
2e1f8fc8dd
Some fixes for the Darwin build.
2005-07-03 11:24:54 +00:00
Mike McCormack
04f9f1b066
Don't include winbase.h or winerror.h when not necessary.
2005-06-21 09:52:40 +00:00
Alexandre Julliard
ab29aa2126
Moved the ntdll per-thread data out of the TEB into a private
...
structure stored in TEB.SystemReserved2.
2005-06-06 20:04:33 +00:00
Alexandre Julliard
e4412a618c
Removed the special casing of kernel32 and ntdll for the TEB
...
definition in winternl.h.
2005-05-16 17:52:10 +00:00
Alexandre Julliard
d876893fc1
Store the 16-bit stack pointer in the WOW32Reserved TEB field.
2005-05-14 12:16:46 +00:00
Alexandre Julliard
26050b49d5
Prefix the internal name of all register functions with __regs_ for
...
better consistency and to make automated checking possible.
2005-05-07 18:10:30 +00:00
Mike McCormack
f92fff66a2
Implemented NtSignalAndWaitForSingleObject.
2005-04-24 17:35:52 +00:00
Dmitry Timoshkov
0497af09a7
Match RaiseException and EXCEPTION_RECORD to SDK definitions.
2005-02-24 13:15:36 +00:00
Peter Chapman
505dfdefb5
Fix up several inline assembler blocks so that they produce correct
...
code with the -fomit-frame-pointer gcc flag.
2004-12-02 18:19:25 +00:00
Pierre d'Herbemont
ed7a2bab5f
Added signal support for Darwin/i386.
2004-08-24 02:26:59 +00:00
Markus Amsler
b5b8810e99
Pass debug exceptions to winedos.
2004-08-04 19:08:19 +00:00
Dmitry Timoshkov
c2de5fbcb9
Set SA_RESTART sigaction flag for other BSDs beside NetBSD.
2004-02-24 01:21:56 +00:00
Robert Lunnon
93be53744e
Save UESP instead of ESP where UESP defined.
2004-01-16 02:00:24 +00:00
Alexandre Julliard
8b39cea352
Fixed __siginfo type for Solaris (based on a patch by Robert Lunnon).
2004-01-14 05:25:07 +00:00
Dimitrie O. Paun
2eaefbd1a4
Move content of global.h into the appropriate private headers.
2003-12-08 21:58:55 +00:00
Alexandre Julliard
8fb98a41e0
Added wine_ldt_is_system() to replace the IS_SELECTOR_SYSTEM macro,
...
and stop exporting the WINE_LDT_FIRST_ENTRY constant.
2003-11-17 20:12:56 +00:00
Jukka Heinonen
d7ee5f3f31
Fix race in real mode event handling.
...
Merge real mode pending event checking routines.
Remove some obsolete code.
2003-11-11 00:44:10 +00:00
Alexandre Julliard
4dba172e55
Added server_abort_thread to replace SYSDEPS_AbortThread.
...
Removed no longer used SIGNAL_Block and SIGNAL_Reset.
Moved some internal ntdll definitions to ntdll_misc.h.
2003-11-06 00:08:05 +00:00
Alexandre Julliard
063cff8686
Use the signal stack pointer to determine the current thread.
...
Converted the SIGUSR2 handler to use setup_exception (probably still
not working properly).
2003-11-05 00:52:29 +00:00
Alexandre Julliard
7924f421e9
Allocate the TEB and signal stack separately from the main stack.
...
Dynamically allocate the initial TEB too so that it is properly
page-aligned.
2003-11-04 04:50:18 +00:00
Alexandre Julliard
0f95d5498d
Fixed race in %gs selector restoring during vm86 mode return.
...
Minor cleanups.
2003-10-30 23:15:56 +00:00
Alexandre Julliard
07931f2d70
Removed no longer needed SIGNAL_Unblock() function.
2003-10-28 21:46:46 +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
8824c38e9e
Simplified signal stack allocation a bit, and avoid allocating it on
...
non-i386 platforms.
2003-10-22 03:26:53 +00:00
Jukka Heinonen
46f29944c3
Remove races from DPMI async event handling.
2003-10-14 05:20:34 +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
Alexandre Julliard
bff860c4b1
Moved synchronization and syslevel routines to dlls/kernel.
2003-09-18 04:39:13 +00:00
Alexandre Julliard
1479aebda3
Moved instruction emulation to dlls/kernel.
2003-09-17 04:34:31 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
bf97962a51
Avoid including stackframe.h if it's not needed.
2003-08-27 02:52:17 +00:00
Jukka Heinonen
2a3ce4c425
Start processing asynchronous DOS events in DPMI mode.
2003-07-01 03:37:41 +00:00
Alexandre Julliard
217fdab78f
Implemented NtDelayExecution and make Sleep call it.
...
The handle count must not be 0 in NtWaitForMultipleObjects (spotted by
Troy Rollo).
2003-06-30 21:00:15 +00:00
Jukka Heinonen
ae906923a1
Remove SIGALRM handler.
...
Reserve TEB field for DPMI virtual interrupt flag.
2003-06-16 01:18:26 +00:00
Eric Pouech
8638b26483
Correctly convert into EXCEPTION_RECORD SIGTRAPs received from
...
DebugBreakProcess.
2003-06-07 00:33:13 +00:00
Yorick Hardy
6dd0685f74
Use SA_RESTART on NetBSD.
2003-06-04 20:15:10 +00:00
Alexandre Julliard
0b34697abb
Made INSTR_EmulateInstruction return the exception code.
...
Don't allow intXX instructions from 32-bit code (based on a patch by
Jukka Heinonen).
2003-05-14 19:41:16 +00:00