review request for 6812297
Ivan Krylov
Ivan.Krylov at Sun.COM
Thu Mar 5 12:52:28 PST 2009
Hi,
To be noted that there is an error in he webrev
now in build_vm_def.sh
69 DUMPBIN /OUT:vm3.def /symbols *.obj
should be
69 $DUMPBIN /OUT:vm3.def /symbols *.obj
See more below
Christian Wimmer wrote
> Hi
>
> Great to see these issues fixed. I sent a mail with some Visual Studio
> problems some months ago. I repeat it here because some issues are
> still present, I would guess 1) and 2). I I assume issue 3) and 4) are
> covered by your patch.
Did you ever file a CR for these issues? Please do so with the remaining
ones.
>
>
> When building the HotSpot VM on Windows using the create-script that
> generates the Visual Studio project files, a bunch of problems occur.
> I use Visual Studio 2008 on 64-bit Windows Vista, but most things are
> independent of this configuration. The first two problems seem to be
> related to the recent integration of the G1 garbage collector.
I have not tried 64 bit OS/IDE but I can imagine there are problems.
Also we have a cross-build script that may be out of sync too.
This needs to be fixed separately.
>
> 1) The most sever problem is that create.bat stops with the error
> message "command line too long" when executing MakeDeps. The tool
> takes so many parameters to configure the file structure for the VS
> project. The integration of G1 added some new ones, so now the line is
> too long. Even putting the source code directly into C:\ so that
> absolute paths are as short as possible does not help. My solution is
> to abbreviate some command line flags, like "-additionalFile" and
> "-additionalGeneratedFile". This works, but is no general solution for
> the future.
So i did not see this for 32 bit ide.
>
> 2) Missing includeDB reference for G1: In the file
> "make\windows\projectfiles\common\Makefile", the reference of
> "includeDB_gc_g1" is missing in the definition of "IncludeDBs_gc"
Same
>
> 3) The macro HOTSPOT_LIB_ARCH is not defined, i.e. the following line
> is missing in the file "make\windows\makefiles\makedeps.make":
> -define HOTSPOT_LIB_ARCH=\\\"$(BUILDARCH)\\\" \
Fixed before. see cr 6806046
>
> 4) In the same file, the following define is necessary to avoid build
> errors starting with Visual Studio 2005:
> -define _CRT_SECURE_NO_WARNINGS \
Fixed with this patch.
>
>
> Christian
>
Ivan
>
>
>
> On Mar 5, 2009, at 4:55 AM, Ivan Krylov wrote:
>
>> Webrev: http://cr.openjdk.java.net/~ikrylov/6812297.00/
>>
>> 6812297: update project creation for Visual Studio 2005-2008
>>
>> Details:
>>
>> We have not updated project creation for Visual Studio since .NET
>> 2003. VS 2008 Express is the only free edition available.
>>
>> The Visual Studio internal converter does a pretty god job but with a
>> few shortcomings.
>> Here are the problems discovered:
>> 1) For command line compilation we supply _CRT_SECURE_NO_DEPRECATE
>> define but the flag is missing in the VS proj file
>> 2) In VS proj in the CommandLine property it was OK in .NET 2003 to
>> separate 2 commands with <CR>. Since 2005 we need "
"
>> 3) If cl or link are called from a shell script from IDE in >2003 the
>> pipes can not be used. This effects creation of vm.def files
>>
>> So I have addressed these issues.
>>
>> Comments to changes:
>>
>> 1) Replaced /D_CRT_SECURE_NO_DEPRECATE in
>> make/windows/makefiles/compile.make with
>> #pragma warning( disable : 4996 ) in
>> src/share/vm/utilities/globalDefinitions_visCPP.hpp
>> That is the place where we disable other warnings.
>> There I also had to move vsnprintf down a bit
>>
>> Also I had to add /D_CRT_SECURE_NO_DEPRECATE to
>> make/windows/makefiles/adlc.make since adlc does not use
>> globalDefinitions_visCPP.hpp
>>
>> 2)Updated make/windows/makefiles/sanity.make,
>> make/windows/makefiles/rules.make, make/windows/create.bat to process
>> .Net 2005/2008 cl versions
>>
>> 3)Added to build_vm_def.sh an attempt to recover from error when
>> "which" command failed
>>
>> 4)Added if build_vm_def.sh is going to use version 800/900 of
>> link.exe then use transit file for dumpbin
>>
>> 5) Added/changed to
>> src/share/tools/MakeDeps/WinGammaPlatformVC7.java,
>> src/share/tools/MakeDeps/WinGammaPlatformVC8.java,
>> src/share/tools/MakeDeps/WinGammaPlatformVC9.java so that generated
>> proj files get proper version
>>
>> 6) Change in WinGammaPlatformVC7.java to address issue 2 above
>>
>> 7) Because of issue 3 above I added passing of linker version in
>> make/windows/makefiles/makedeps.make
>>
>> Reviewed by:
>> Verified by:
>> JPRT
>>
>> Regards,
>>
>> Ivan
>>
>>
>
More information about the hotspot-runtime-dev
mailing list