Author: fireball
Date: Fri Jun 24 21:30:09 2011
New Revision: 52446
URL:
http://svn.reactos.org/svn/reactos?rev=52446&view=rev
Log:
[NTDLL/LDR]
- The long awaited LDR rewrite, a commit for testing the new implementation. In case of
serious problems it may be reverted (revert should be approved by me).
- Its features include:
* A proper ...everything. Process, thread initialization codes, DLL loading (including
compatible path lookup, and compatible/proper loading order of the dependent DLLs,
including their initialization) and mapping and section creation, reference counting,
relocations, good and understandable PE code for walking import descriptor, snapping, etc
etc. Hacks--; GoodCode++;
* Activation contexts operations are now being performed compatible to how Windows
performs them (though the actual actctx implementation is still Wine's, it was
modified to be compatible). Previously, actctx stuff was added to the ldr code like a
pepper is added to the soup: in different places until it starts to work.
* Partial DLL redirection implementation.
* Possibility to support Shim engine and app compat stuff in future.
* More cool stuff, just browse the code.
- I fixed all regressions I could find but one (hang during shutdown of the 3rd stage).
The purpose of this commit is to seek and destroy the regressions I couldn't find (if
there are any).
- Some of the old rarely called ldr code still remains in startup.c and utils.c. They are
subject to be rewritten/removed soon, and every remaining old function is marked with a
respective DPRINT1 to see when it's being called.
Modified:
trunk/reactos/dll/ntdll/include/ntdllp.h
trunk/reactos/dll/ntdll/ldr/ldrapi.c
trunk/reactos/dll/ntdll/ldr/ldrinit.c
trunk/reactos/dll/ntdll/ldr/ldrpe.c
trunk/reactos/dll/ntdll/ldr/ldrutils.c
trunk/reactos/dll/ntdll/ldr/startup.c
trunk/reactos/dll/ntdll/ldr/utils.c
trunk/reactos/dll/win32/kernel32/misc/ldr.c
trunk/reactos/lib/rtl/actctx.c
[This mail would be too long, it was shortened to contain the URLs only.]
Modified: trunk/reactos/dll/ntdll/include/ntdllp.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/include/ntdllp.h…
Modified: trunk/reactos/dll/ntdll/ldr/ldrapi.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrapi.c?rev…
Modified: trunk/reactos/dll/ntdll/ldr/ldrinit.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrinit.c?re…
Modified: trunk/reactos/dll/ntdll/ldr/ldrpe.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrpe.c?rev=…
Modified: trunk/reactos/dll/ntdll/ldr/ldrutils.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrutils.c?r…
Modified: trunk/reactos/dll/ntdll/ldr/startup.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/startup.c?re…
Modified: trunk/reactos/dll/ntdll/ldr/utils.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/utils.c?rev=…
Modified: trunk/reactos/dll/win32/kernel32/misc/ldr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/ld…
Modified: trunk/reactos/lib/rtl/actctx.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/actctx.c?rev=52446…