[ros-kernel] Differences between ntdll and ntoskrnl Rtl functions

KJK::Hyperion noog at libero.it
Tue Jun 1 22:54:15 CEST 2004


At 11.37 01/06/2004, you wrote:
>Kernel-mode doesn't use the environment because it is a user-mode-only 
>concept.

smart linking will delete the unused functions. And the environment 
substitution feature of the Rtl registry functions is still useful in 
kernel mode

>This is one of the reasons why I am strictly against sharing source code. 
>Most linkers work object-file-based.

no, it's a compiler function. Linkers merge *segments*, they know nothing 
about function or object boundaries. The solution: having the compiler 
generate one .text segment for each function, one .data segment for each 
static object, etc. This is what in Visual C++ is called "COMDATs"

>That's why the runtime libaries use to implement a single function per 
>source file.

and why this principle can't be applied to the Rtl escapes me

>Another reason against shared code is the fact that a simple 'make ntdll' 
>won't build the shared code even if it has been modified

don't blame the sharing of code, blame our recursive makefiles

>IMO, the disadvantages of sharing code outweigh the benefits.

you can't be serious 



More information about the Ros-kernel mailing list