Rob Shearman
8608e895eb
Add a new convenience macro for an exception handler that handles all exceptions.
...
When using native compiler exceptions, the previous method of doing
this, __EXCEPT(NULL), would expand to __except(
(NULL)(GetExceptionInformation())) which doesn't compile as NULL isn't a
function.
So add a new macro, __EXCEPT_ALL, which works correctly both when using
native compiler exceptions and without and which makes the meaning of
code in which it is used clearer.
2008-02-16 14:58:24 +01:00
Rob Shearman
0d9e09d8bf
ntdll: Add an exception handler around calls to module entry points.
...
Change the return value from BOOL to NTSTATUS so that we can return the
exception code to the caller.
2008-02-15 09:59:55 +01:00
Alexandre Julliard
78fba54ab7
ntdll: Store the unhandled exception filter at startup to avoid race conditions.
2008-02-12 22:39:19 +01:00
Alexandre Julliard
0861141725
ntdll: Support delayed loading of modules referenced by forwarded entry points.
2007-12-06 21:43:54 +01:00
Alexandre Julliard
0f5fc117a2
ntdll: Unblock signals in process init only after the dlls have been imported.
2007-11-19 14:27:07 +01:00
Alexandre Julliard
c70a17dbd9
ntdll: Send the exit code to the server on failed initialization.
2007-11-19 14:26:05 +01:00
Alexandre Julliard
35c91324ea
ntdll: Initialize the PEB LoaderLock pointer.
2007-11-19 13:56:26 +01:00
Detlef Riekenberg
2be2c1acc5
ntdll: Dump the base address when a module is loaded.
2007-10-26 15:14:21 +02:00
Detlef Riekenberg
3e83b75038
ntdll: Avoid segfault with snoop for exefiles with a broken export table.
2007-09-26 12:15:14 +02:00
Alexandre Julliard
e22ce46278
ntdll: Pin down all dlls imported by the main exe.
2007-08-30 16:34:27 +02:00
Alexandre Julliard
5b6bb63adb
ntdll: Load dll from the directory containing the manifest for local assemblies.
2007-07-31 20:31:42 +02:00
Alexandre Julliard
4e4c150bed
ntdll: Avoid activation context leak for dlls with no imports.
2007-07-30 23:37:39 +02:00
Alexandre Julliard
b67b66d7b3
ntdll: Fix a compiler warning.
2007-07-30 14:46:09 +02:00
Alexandre Julliard
e06eaa49ae
ntdll: Activate the module's activation context while resolving imports and attaching.
2007-07-26 11:06:17 +02:00
Alexandre Julliard
76bd190a72
ntdll: Use activation contexts information to load dlls (based on a patch by Jacek Caban).
2007-07-26 11:05:32 +02:00
Alexandre Julliard
4156a716b0
ntdll: Create the per-module activation context at module load time.
2007-07-25 16:50:32 +02:00
Alexandre Julliard
270f725526
ntdll: Create the process activation context at initialization time.
2007-07-25 16:48:40 +02:00
Jacek Caban
125e710ff1
ntdll: Store the windows directory too.
2007-07-19 18:22:43 +02:00
Michael Stefaniuc
bf6a96ca66
ntdll: Fix missing unlock on error path. Found by Smatch.
2007-07-02 13:34:29 +02:00
Alexandre Julliard
5817e36634
ntdll: Improved the stub behavior of NtQuerySystemInformation(SystemModuleInformation).
2007-06-19 16:58:42 +02:00
Dmitry Timoshkov
e142779b09
ntdll: Fix compilation warnings in 64-bit mode.
2007-05-23 13:10:20 +02:00
Alexandre Julliard
5aa70b3d80
ntdll: Setup the shared user data structure at 0x7ffe0000.
2007-05-18 18:09:03 +02:00
Alexandre Julliard
447fda5206
ntdll: Implemented LdrAddRefDll.
2007-05-16 16:39:29 +02:00
Alexandre Julliard
b64530eee4
ntdll: Reimplement LdrGetDllHandle to use the same search algorithm as LdrLoadDll.
2007-05-16 16:35:43 +02:00
Andrew Talbot
9fe3b60f12
ntdll: Exclude unused headers.
2007-05-15 12:19:31 +02:00
Andrew Talbot
0108667754
ntdll: Replace inline static with static inline.
2007-03-17 20:03:57 +01:00
Dmitry Timoshkov
e8bba26c80
ntdll: Catch the exceptions in the TLS callback like Windows does.
2007-03-13 12:47:38 +01:00
Alexandre Julliard
8891d6de48
ntdll: Block async signals during process init and thread creation.
2007-01-18 12:23:04 +01:00
Joel Parker
2319999a05
Remove redundant semicolons for ANSI compatibility.
2007-01-17 11:58:15 +01:00
Alexandre Julliard
5bd513640b
ntdll: Moved the check for removable file in load_dll to the server.
2007-01-12 14:42:43 +01:00
Alexandre Julliard
2a1dc15790
ntdll: Fix the libdl refcount when loading the same builtin twice.
2006-12-20 15:54:27 +01:00
Alexandre Julliard
7ae1b2897e
ntdll: Check the NX compatibility flag for every loaded module.
2006-12-07 20:52:16 +01:00
Alexandre Julliard
822be6c90f
ntdll: Force exec permissions on all mmaps unless the app is marked NX-compatible.
2006-12-05 15:42:29 +01:00
Alexandre Julliard
84fb1e1f3f
ntdll: Allow module with extensions in forward specifications.
2006-12-04 13:37:32 +01:00
Alexandre Julliard
bda2832d8d
ntdll: Moved command-line help to the loader binary.
2006-11-06 13:04:56 +01:00
Alexandre Julliard
c9b5569bc2
ntdll: Added implementation of RtlDllShutdownInProgress.
2006-11-03 13:52:02 +01:00
Hans Leidekker
f7b0ba7aa7
ntdll: Win64 printf format warning fixes.
2006-10-18 12:35:26 +02:00
Alexandre Julliard
6f7b1f6463
ntdll: Move the calling of the process entry point back to kernel32.
...
Apparently some copy protection stuff relies on that.
This reverts commit 50fca716fd
.
2006-07-31 21:25:29 +02:00
Alexandre Julliard
d16c7f96c9
ntdll: Set initial module refcount to 1 to avoid unloading during imports fixup.
2006-07-31 21:03:01 +02:00
Alexandre Julliard
50fca716fd
ntdll: Moved the calling of the process entry point to LdrInitializeThunk.
2006-07-13 14:58:04 +02:00
Eric Pouech
201f469512
ntdll: Free TLS pointers when exiting thread.
2006-05-27 13:00:33 +02:00
Alexandre Julliard
9769806c3a
ntdll: Implemented RtlPcToFileHeader.
2006-05-27 10:55:48 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
f5d3adaf59
ntdll: Process --help and --version args earlier on during startup.
2006-04-03 12:07:20 +02:00
Alexandre Julliard
c307f4990f
ntdll: Added a DLL_WINE_PREATTACH call to DllMain for builtins.
...
By returning FALSE from this call, a builtin dll can specify that we
should try to load the native one instead.
2006-03-21 15:10:22 +01:00
Alexandre Julliard
2f2819466b
ntdll: Detect the fake dlls created by setupapi and refuse to load them.
2006-03-21 11:31:23 +01:00
Alexandre Julliard
ac60251312
ntdll: In MODULE_FlushModrefs, also free dlls that haven't been initialized yet.
2006-03-18 18:41:21 +01:00
Alexandre Julliard
0335a4b910
ntdll: Don't reset the load count when reusing a builtin modref.
2006-02-28 12:41:25 +01:00
Alexandre Julliard
4107751dd3
ntdll: Simplify loadorder code by using an enum instead of an array
...
to represent load order values.
Added a special value for default load order so that we can handle it
differently later on.
2006-02-22 16:30:05 +01:00
Alexandre Julliard
477b3bf566
kernel: Moved the get_startup_info call to ntdll.
2006-02-22 09:57:19 +01:00