code review (round 0) request for VS2010 IDE fix (8016601)
Mikael Vidstedt
mikael.vidstedt at oracle.com
Tue Aug 6 17:01:51 PDT 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 serviceability-dev
mailing list