[ros-dev] msvcrt/crtdll "merge"

Waldo Alvarez Cañizares wac at lab.matcom.uh.cu
Tue Feb 22 16:47:12 CET 2005


> They are used internally by some other functions inside msvcrt so they must be somewhere
> what is going on now is that internally a stically linked library is used but anything referencing those functions
> from the outside are being redirected to ntdll.
>
> What I mean is: If you are forwarding them, why you don´t import them too instead of the static link?
>                           If you are statically linking then why forward them?

First: it was not me who added those forwards to ntdll. But it can't see
anything wrong with it either.

Sure they are all right. In fact I proposed something similar a long time ago. Ask Hyperion :) However the final solution was better.

It seems none of the forwarded functions are implemented/duplicated in
crt and they are not called from within crt either thus none of the
forwarded routines are imported from ntdll by msvcrt/crtdll.

Gunnar

Maybe I'm out of sync by far or maybe I'm wrong. Snapshots do no work anymore since the move to subversion I guess.  I will check again using the old sources and will tell in such case so if you have a chance check it on the most recent ones. In the last snapshot I was able to download there was a libary strings.a statically linked with several components of ReactOS such as ntoskrnl, ntdll, crtdll.dll and msvcrt.dll that means that there are/were at least 4 copies in RAM of the same set of  routines. This can be easily ckecked if for example you pick one of the functions and do a binary search on the ROS tree. I think that there could be only one If both crtdll and msvcrt forward them to ntdll and ntdll import them from ntoskrnl and they are set as executable ring0 <-> ring3. But maybe that's  to ask a lot for now. I beleive that just taking away the duplicated code crtdll/msvcrt and in case that I'm right import those from ntdll will help more and will be alot easier than the last one.

Regards
Waldo

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/ms-tnef
Size: 4468 bytes
Desc: not available
Url : http://reactos.com:8080/pipermail/ros-dev/attachments/20050222/b5437a1f/attachment.bin


More information about the Ros-dev mailing list