Build for dotnet-8.0 fixed.
authorolekarev <o.lekarev@samsung.com>
Fri, 28 Jun 2024 15:46:35 +0000 (18:46 +0300)
committerGleb Balykov/Advanced System SW Lab /SRR/Staff Engineer/Samsung Electronics <g.balykov@samsung.com>
Fri, 26 Jul 2024 09:22:17 +0000 (12:22 +0300)
- The function _snwprintf_s (and some others) has been removed from dotnet-8.0.
  The call to _snwprintf_s has been replaced by _i64tow_s.
- Initializer for CONTEXT has been changed for amd64 due to new cctor and = operator
  had been added for that architecture to dotnet 8.0.

src/arch/amd64/archhelpers.cpp
src/info/classinfo.cpp

index 7457c9cf85c7214326d20a0b0546714802688c53..86afade9587af6e5655ad98c0d69dcf108ffa193 100644 (file)
@@ -25,7 +25,7 @@ HRESULT ContextToStackSnapshotContext(
 {
     _ASSERTE(context != nullptr && winContext != nullptr);
 
-    *winContext = {CONTEXT_INTEGER};
+    *winContext = {};
     const mcontext_t *mc =
         &(reinterpret_cast<const ucontext_t*>(context))->uc_mcontext;
 
index a6f5aa1f5787c527fe6758c9404003d8c23cc561..4cd3eee8302641c8502eea8f059332e767d0f056 100644 (file)
@@ -191,10 +191,10 @@ ClassInfo::String ClassInfo::TypeArgName(
     else
     {
         // Everything after that as M7, M8, ... or T7, T8, ...
-        std::array<WCHAR, 4> argName;
-        _snwprintf_s(
-            argName.data(), argName.size(), _TRUNCATE, W("%c%u"), argStart, argIndex);
-        return argName.data();
+        std::array<WCHAR, 3> argName = {{0,0,0}};
+        argIndex = argIndex > 99 ? 99 : argIndex;
+        _i64tow_s(argIndex, argName.data(), 3, 10);
+        return String(1, argStart).append(argName.data());
     }
 }