code review (round 0) request for VS2010 IDE fix (8016601)

Mikael Vidstedt mikael.vidstedt at oracle.com
Wed Aug 7 00:01:51 UTC 2013


Dan,

I have not reviewed the actual changes, but FWIW I have verified that 
applying the patch does solve the linker error you mention. Thanks a lot 
for fixing!

Cheers,
Mikael

On 2013-08-02 15:36, Daniel D. Daugherty wrote:
> Greetings,
>
> I have have a proposed fix for the following bug:
>
>     8016601 Unable to build hsx24 on Windows using project creator and
>             Visual Studio
>     http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8016601
>     https://jbs.oracle.com/bugs/browse/JDK-8016601
>
> Here are the HSX-25 webrev URLs:
>
> OpenJDK: http://cr.openjdk.java.net/~dcubed/8016601-webrev/0-hsx25/
> Internal: http://javaweb.us.oracle.com/~ddaugher/8016601-webrev/0-hsx25/
>
> Testing:
> - JPRT windows_i586 and windows_x64 build and test
> - local windows_i586 cmd line builds for:
>   {OpenJDK, Oracle} x {Client, Server} VM x {product, debug, fastdebug}
> - local windows_i586 VS2010 builds for
>   {OpenJDK, Oracle} x {Client, Server, Tiered} VM x {product, debug, 
> fastdebug}
> - local windows_x64 VS2010 builds for
>   {OpenJDK, Oracle} x {Client, Server, Tiered} VM x {product, debug, 
> fastdebug}
>   Thanks to Ron for doing the windows_x64 testing
>
> Gory details are below. As always, comments, questions and
> suggestions are welome.
>
> Dan
>
>
> Gory Details:
>
> Build fixes:
> - VS2010 IDE builds are working again; fixes this failure mode:
>
> 1>D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\objectCountEventSender.obj 
> : warning LNK4042: object specified more than once; extras ignored
> 1>D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\errorReporter.obj 
> : warning LNK4042: object specified more than once; extras ignored
> 1>     Creating library 
> D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\jvm.lib 
> and object 
> D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\jvm.exp
> 1>jfrRequestables.obj : error LNK2019: unresolved external symbol 
> "public: static void __cdecl 
> ObjectCountEventSender::disable_requestable_event(void)" 
> (?disable_requestable_event at ObjectCountEventSender@@SAXXZ) referenced 
> in function "public: virtual void __thiscall 
> VM_GC_SendObjectCountEvent::doit(void)" 
> (?doit at VM_GC_SendObjectCountEvent@@UAEXXZ)
> 1>jfrRequestables.obj : error LNK2019: unresolved external symbol 
> "public: static void __cdecl 
> ObjectCountEventSender::enable_requestable_event(void)" 
> (?enable_requestable_event at ObjectCountEventSender@@SAXXZ) referenced 
> in function "public: virtual void __thiscall 
> VM_GC_SendObjectCountEvent::doit(void)" 
> (?doit at VM_GC_SendObjectCountEvent@@UAEXXZ)
> 1>D:\hotspot_src\hsx\24\hotspot_14_jun\build\vs-i486\compiler2\debug\jvm.dll 
> : fatal error LNK1120: 2 unresolved externals
>
> - The ProjectCreator tool is modified to support two new options:
>   '-relativeAltSrcInclude' and '-altRelativeInclude'. Here's an
>   example use of the new options:
>
>       -relativeAltSrcInclude src\closed
>       -altRelativeInclude share\vm
>
>   which means config the project with some alternate source files in
>   src\closed\share\vm that will replace the corresponding files in
>   src\share\vm.
>
>   For example, src\closed\share\vm\utilities\errorReporter.cpp replaces
>   src\share\vm\utilities\errorReporter.cpp. In the VS2010 IDE, you'll
>   still be able to see src\share\vm\utilities\errorReporter.cpp in the
>   project source browser, but the icon will indicate that the file is
>   excluded from the project.
>
>   The ProjectCreator tool's file tree walking logic is modified to keep
>   track of each alternate source file that is found. If a corresponding
>   regular source file is found, then the regular source file is
>   excluded from the project in favor of the alternate source version.
>
> - VS2010 cmd line build no longer issue the following linker warnings:
>
>     link.exe @C:\Users\lfoltan\AppData\Local\Temp\nm9B65.tmp
>     errorReporter.obj : warning LNK4042: object specified more than 
> once; extras ignored
>     objectCountEventSender.obj : warning LNK4042: object specified 
> more than once; extras ignored
>
> Misc cleanups:
>
> - removed more "core" config support from various makefiles and scripts;
>   the "core" config is vestigal and was mostly removed years ago; the
>   "core" config is not the same as the "minimalvm" config.
> - removed extra references to ${ALTSRC}/share/vm/jfr objects
> - added some "AltSrc" versus "OpenJDK" identification to messages where
>   files are auto-generated
> - added some missing copyright headers
>




More information about the build-dev mailing list