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@ObjectCountEventSender@@SAXXZ) referenced in function "public: virtual void __thiscall VM_GC_SendObjectCountEvent::doit(void)" (?doit@VM_GC_SendObjectCountEvent@@UAEXXZ) 1>jfrRequestables.obj : error LNK2019: unresolved external symbol "public: static void __cdecl ObjectCountEventSender::enable_requestable_event(void)" (?enable_requestable_event@ObjectCountEventSender@@SAXXZ) referenced in function "public: virtual void __thiscall VM_GC_SendObjectCountEvent::doit(void)" (?doit@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

Reply via email to