[ros-dev] msvcrt/crtdll "merge"

Waldo Alvarez Cañizares wac at lab.matcom.uh.cu
Fri Jan 28 11:29:25 CET 2005


Hi Gunnar:
 
Great!    less duplicated code == better code
 
I had planning to report this about msvcrt/crtdll the first chance I could get to read my e-mail, but now that you talked then there's no better chance than this I think. I was playing with msvcrt dll a couple of days ago because I was trying to test some apps against it and to maybe find some of the multithreading issues it contains. Well I dropped it because I really had no time but one thing I noticed is that there are some entries in the .def file something like this strlen=ntdll.strlen only strings routines if I remember well. Now after I got the binary file (.dll) I was inspecting it with LordPE, a tool to sniff every detail of PE's and saw that actually those routines are not imported by crtdll (maybe because of the strings.a statically linked) also I saw that msvcrt.dll is importing functions from itself funny that is something I never saw before (Is ROS parsing the exports table before the imports one? Just curious). But worst there are 2 references to msvcrt with different functions that the -O flag when passed to the linker can't fix. I have seen this before in some applications compiled with mingw (freecraft for example. Could be this an unnoticed bug in mingw's linker?  If It is, it doesn't harm but it sucks to not have it the better way you can if it is easy to do it). btw I was also looking for string routines exported by ntdll in order to squeeze a bit more both libraries and noticed in XP's ntdll some functions that at the beginning I thought were mistyped (It would not be the first time) but when I took a look at msdn Tada! WindowsCE functions, nothing about XP/2k... but there they ARE. Please do not forget to fix those problems with exports if you can, or anyone with a chance, those libraries stink a lot. I still don't understand every detail on how the whole thing works: build system, linker... so this is a "I don't know how to fix", at least for now.
 
Best Regards
Waldo Alvarez

________________________________

From: ros-dev-bounces at reactos.com on behalf of Gunnar Dalsnes
Sent: Wed 1/26/2005 8:19 PM
To: ReactOS Development List
Subject: [ros-dev] msvcrt/crtdll "merge"



Hi,

I'm currently "merging" msvcrt and crtdll (again). I'll move msvcrt into
a library lib\crt and have msvcrt and crtdll link against it. Only
dllmain.c will be left in msvcrt/crtdll. Most of (99.9%) crtdll will be
dropped. It all seems to work nicely. One problem thou: I ran into some
header problems, where i relied on some stuff in include\msvcrt\string.h
but no matter what, mingw\include\string.h were included instead (and
they both defined _STRING_H_). After looking at the headers in
inlcude\msvcrt they all seem to be ripped from mingw. Does anyone know
why they were put in include\msvcrt when mingw has headers for all of
this stuff? Can i just remove them (include\msvcrt)?
I looked at many depends files and saw most files depend on many mingw
headers. Is this correct? Should we depend on mingw headers at all?

Gunnar


_______________________________________________
Ros-dev mailing list
Ros-dev at reactos.com
http://reactos.com:8080/mailman/listinfo/ros-dev


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


More information about the Ros-dev mailing list