Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-16426

Implement __CxxFrameHandler4(), to compile ROS x64 with VS2019

    XMLWordPrintable

Details

    • New Feature
    • Resolution: Unresolved
    • Minor
    • None
    • CRT

    Description

      I tried to compile ReactOS with Visual Studio 2019, (on AppVeyor).

      msvc: succeeds.
      msvc-x64: fails!

      cpprt.lib(ehvec.cpp.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
      


      NB:
      "Same" result with/without using RosCMakeNinja.zip :-|

      I assume this is a similar case to __CxxFrameHandler3().
      https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=commit&s=__CxxFrameHandler
      https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=grep&s=__CxxFrameHandler

      NB:
      Wine does not have __CxxFrameHandler4() either. Fixed.

      See:
      https://devblogs.microsoft.com/cppblog/msvc-backend-updates-in-visual-studio-2019-preview-2/

      Added a new C++ exception handler __CxxFrameHandler4 that reduces exception handling metadata overhead by 66%. This provides up to a 15% total binary size improvement on binaries that use large amounts of C++ exception handling.


      https://devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64/

      Visual Studio 2019 Preview 3 introduces a new feature to reduce the binary size of C++ exception handling (try/catch and automatic destructors) on x64.

      Attachments

        Activity

          People

            bug zilla Bug Zilla
            Serge Gautherie Serge Gautherie
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: