> .CRT section exists; there may be unhandled static initializers or
terminators

The global variables with constructors are a potential source of
portability problems because the order in which the constructors are
executed is not guaranteed. The Rotor build system does not generate the
code to call the constructors for global variables. The warning is
generated instead to catch the problems with the static constructors at
build time.

Fixing this warning may be important for the functionality of your code.
The usual fix is to convert the implicit constructor call to explicit
initialization: change "static Foo g_foo;" to "static Foo* g_pfoo;", and
create init() function that will initialize g_pfoo explicitly and that
you will call from somewhere.

> image size 0x7F000 exceeds specified maximum 0x64000

This warning means that the address range allocated for the DLL was
exceeded. This is likely to result in relocation of the DLL when it is
loaded.

You can safely ignore this warning. You are unlikely to notice the
slowdown caused by the extra DLL relocation. The slowdown caused by DLL
relocation is minuscule compared to CLR startup.

This warning can be fixed by tweaking the address ranges in
clr\bin\ROTOR_X86\fastchecked\coffbase.txt.

> clix.exe not found or not built by the last incremental link;
performing full link

This warning is harmless.

-Jan

This posting is provided "AS IS" with no warranties, and confers no
rights.

-----Original Message-----
From: Discussion of the Rotor Shared Source CLI implementation
[mailto:[EMAIL PROTECTED] On Behalf Of Chris
Sent: Tuesday, June 24, 2003 9:11 PM
To: [EMAIL PROTECTED]
Subject: [DOTNET-ROTOR] warning LNK4013 & warning LNK4210

I modified "sources" file in fjit to compile MYFILE.cpp and I get the
following 2
warnings(there are 0 errors)

-----fjit/MYFILE.obj : warning LNK4210: .CRT section exists; there may
be
unhandled static initializers or terminators

-----fjit/link : warning LNK4013: image size 0x7F000 exceeds specified
maximum
0x64000

 I didnot find any related mesg in the archives. What does the above
warnings mean?
Should I fix this (if so, how?) or just ignore it; I have to write the
patch up code
between MYFILE.cpp and fjit.cpp and I would like to know the possible
issues
before I write this patch.


Besides above warnings, I also get the following warnings

-----tools/clix/link : warning LNK6004:
C:/sscli/clr/bin/rotor_x86/fastchecked/clix.exe not found or not built
by the last
incremental link; performing full link

In fact I am getting the above warning for all most all of the tools
(cordbg, mscorpe,
ilasm, ildasm, metainfo, peverify, permview, gacutil). Can this mesg be
ignored also ?
(because I can see all these tools created in
c:/sscli/clr/bin/rotor_x86/fastchecked
and c:/sscli/build/v1..../sdk/bin ). In fact, I can run clix to execute
the programs
under sample folder.

I am using buildall -c to build; I am working on Windows platform; I can
see
MYFILE.obj being created in C:/sscli/clr/src/fjit/objdf/rotor_x86

Cheers
Chris

Reply via email to