> .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