Michael Karcher
9476071fd2
ntdll: Don't send EXCEPTION_EXECUTE_FAULT to Windows programs that didn't enable DEP.
2009-08-18 11:19:46 +02:00
Alexandre Julliard
0c46341543
ntdll: Add call frame annotations in x86 assembly code.
2009-06-25 12:05:09 +02:00
Alexandre Julliard
0610549529
ntdll: Move all thread exit processing to exit_thread(), and make RtlExitUserThread() CPU-specific.
2009-06-18 17:06:21 +02:00
Alexandre Julliard
f124c7cc38
ntdll: Simplify the thread startup routine and make it CPU-specific.
2009-06-18 17:01:44 +02:00
Alexandre Julliard
e65ebee63f
ntdll: Add appropriate stdcall decorations to assembly functions.
2009-06-15 13:42:26 +02:00
Alexandre Julliard
c5a57e7d13
ntdll: Move NtRaiseException and RtlUnwind implementations to the CPU-specific files.
2009-04-30 13:23:15 +02:00
Alexandre Julliard
7f9750550a
ntdll: Set the exception address to the program counter in RtlRaiseException.
2009-04-10 13:17:12 +02:00
Alexandre Julliard
f4eee1c731
ntdll: Move the RtlRaiseException implementation into the respective platform-specific files.
2009-04-10 13:14:05 +02:00
Alexandre Julliard
48199d7074
ntdll: Add a raise_status function and avoid exporting __regs_RtlRaiseException.
2009-04-10 13:09:06 +02:00
Alexandre Julliard
5316dd011f
server: Define a generic context structure instead of using the platform-specific version.
2009-04-08 19:59:23 +02:00
Alexandre Julliard
129d83fffb
ntdll: Add separate signal definitions for OpenBSD.
2009-04-01 12:37:05 +02:00
Alexandre Julliard
75be87dd75
ntdll: Move the copy_context function into the respective CPU-specific files.
2009-03-13 11:31:25 +01:00
Alexandre Julliard
abbf38ccd9
ntdll: Fix a couple of warnings on Solaris.
2009-03-05 16:16:25 +01:00
Alexandre Julliard
cc933f586a
ntdll: Moved exit_thread and abort_thread functions to thread.c.
2009-02-20 18:07:41 +01:00
Alexandre Julliard
66255772fc
ntdll: Move the CPU-specific handling of current TEB to the respective signal files.
2009-02-18 13:04:50 +01:00
Austin English
198b8f736a
ntdll: Add support for NetBSD.
2009-01-19 13:36:26 +01:00
Alexandre Julliard
14c452fe78
ntdll: Replaced get_cpu_context by RtlCaptureContext. Implemented it for x86_64.
2009-01-06 17:50:34 +01:00
Alexandre Julliard
4986f42b9f
ntdll: Change the DEFINE_REGS_ENTRYPOINT macro to use a number of args instead of a size.
...
Also assume that all register functions are stdcall.
2009-01-06 12:49:18 +01:00
Henri Verbeet
03468a4f05
ntdll: Don't throw masked FPU exceptions.
...
When an FPU exception is masked the appropriate flag in the status
word will still be set, so get_fpu_code() should mask the exception
flags in the status word with the exception flags in the control word.
2009-01-05 12:34:39 +01:00
Henri Verbeet
5e418a9072
ntdll: Fix ExceptionAddress for FPU exceptions.
...
ExceptionAddress isn't the same as EIP for FPU exceptions, since the
exception will be thrown on the next FPU instruction, rather than the
instruction that caused the exception.
2009-01-05 12:34:33 +01:00
Maarten Lankhorst
768160e944
ntdll: Make all exported wine functions CDECL.
2008-12-17 15:02:25 +01:00
Alexandre Julliard
81b9ca5dbd
ntdll: Pass the error code to VIRTUAL_HandleFault, and allow it to ignore the exception.
...
Also rename it to virtual_handle_fault for consistency.
2008-11-25 12:02:16 +01:00
Michael Stefaniuc
26bba27dc0
ntdll: Don't cast void pointers to other pointer types.
2008-10-24 14:25:01 +02:00
Alexandre Julliard
eac613f604
ntdll: Use the generic int 0x91 syscall on Solaris so that it works on all CPUs.
2008-07-29 20:41:30 +02:00
Alexandre Julliard
e5566691e2
ntdll: Add some workarounds for Solaris signal handling breakages.
2008-07-10 18:18:16 +02:00
Alexandre Julliard
13fbba6847
ntdll: Always restore the %gs register from the saved value in thread data.
2008-07-08 21:08:54 +02:00
Alexandre Julliard
531ff0be26
ntdll: Split the signal setup into process-wide and thread-specific routines.
2008-07-03 20:18:23 +02:00
Alexandre Julliard
3499cb96b6
ntdll: Add local defines for VIF and VIP flags.
2008-06-02 12:13:33 +02:00
Alexandre Julliard
cc33f6c8a5
ntdll: Add a guard page at the bottom of the stack and raise a stack overflow exception when hit.
2008-04-01 17:40:37 +02:00
Alexandre Julliard
061bfac076
ntdll: Add support for handling page faults caused by guard pages on the thread stack.
2008-04-01 17:37:24 +02:00
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