Skip to content

RISC-V JIT build failing due to signed/unsigned comparison #117550

@amanasifkhalid

Description

@amanasifkhalid

Example SPMI replay run. Log snippet:

  FAILED: jit/CMakeFiles/clrjit_unix_riscv64_x64.dir/emitriscv64.cpp.obj 
  C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1443~1.348\bin\Hostx64\x64\cl.exe  /nologo /TP -DBUILDENV_CHECKED=1 -DDEBUG -DDEBUGGING_SUPPORTED -DFEATURE_BASICFREEZE -DFEATURE_CODE_VERSIONING -DFEATURE_COLLECTIBLE_TYPES -DFEATURE_COMINTEROP -DFEATURE_COMINTEROP_APARTMENT_SUPPORT -DFEATURE_COMINTEROP_UNMANAGED_ACTIVATION -DFEATURE_COMWRAPPERS -DFEATURE_CORECLR -DFEATURE_CORECLR_FLUSH_INSTRUCTION_CACHE_TO_PROTECT_STUB_READS -DFEATURE_DATABREAKPOINT -DFEATURE_DEFAULT_INTERFACES -DFEATURE_EVENT_TRACE -DFEATURE_HIJACK -DFEATURE_IJW -DFEATURE_INSTANTIATINGSTUB_AS_IL -DFEATURE_INTEROP_DEBUGGING -DFEATURE_INTERPRETER -DFEATURE_ISYM_READER -DFEATURE_JAVAMARSHAL -DFEATURE_JIT -DFEATURE_MANUALLY_MANAGED_CARD_BUNDLES -DFEATURE_METADATA_UPDATER -DFEATURE_MULTICOREJIT -DFEATURE_MULTIREG_RETURN -DFEATURE_NO_HOST -DFEATURE_PERFTRACING -DFEATURE_PGO -DFEATURE_PORTABLE_SHUFFLE_THUNKS -DFEATURE_PROFAPI_ATTACH_DETACH -DFEATURE_READYTORUN -DFEATURE_REJIT -DFEATURE_REMAP_FUNCTION -DFEATURE_SPECIAL_USER_MODE_APC -DFEATURE_STANDALONE_GC -DFEATURE_SVR_GC -DFEATURE_SYMDIFF -DFEATURE_TIERED_COMPILATION -DFEATURE_TYPEEQUIVALENCE -DFEATURE_USE_ASM_GC_WRITE_BARRIERS -DFEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP -DFX_VER_INTERNALNAME_STR=clrjit_unix_riscv64_x64.dll -DHOST_64BIT -DHOST_AMD64 -DHOST_WINDOWS -DJIT_BUILD -DNOMINMAX -DOUT_OF_PROCESS_SETTHREADCONTEXT -DPROFILING_SUPPORTED -DSELF_NO_HOST -DTARGET_64BIT -DTARGET_RISCV64 -DTARGET_UNIX -DUNICODE -DUNIX_AMD64_ABI_ITF -DURTBLDENV_FRIENDLY=Checked -DWIN32 -DWIN32_LEAN_AND_MEAN -DWINVER=0x0602 -D_CRT_SECURE_NO_WARNINGS -D_DBG -D_DEBUG -D_FILE_OFFSET_BITS=64 -D_SECURE_SCL=0 -D_TIME_BITS=64 -D_UNICODE -D_WIN32 -D_WIN32_WINNT=0x0602 -Dclrjit_unix_riscv64_x64_EXPORTS -ID:\a\_work\1\s\artifacts\obj\coreclr\windows.x64.Checked\jit -ID:\a\_work\1\s\src\coreclr\jit -ID:\a\_work\1\s\src\native -ID:\a\_work\1\s\src\native\inc -ID:\a\_work\1\s\src\coreclr\pal\prebuilt\inc -ID:\a\_work\1\s\artifacts\obj -ID:\a\_work\1\s\src\coreclr\inc -ID:\a\_work\1\s\src\coreclr\debug\inc -ID:\a\_work\1\s\src\coreclr\debug\inc\amd64 -ID:\a\_work\1\s\src\coreclr\debug\inc\dump -ID:\a\_work\1\s\src\coreclr\md\inc -ID:\a\_work\1\s\src\coreclr\classlibnative\bcltype -ID:\a\_work\1\s\src\coreclr\classlibnative\inc -ID:\a\_work\1\s\artifacts\obj\coreclr\windows.x64.Checked\inc -ID:\a\_work\1\s\src\coreclr\hosts\inc -ID:\a\_work\1\s\src\coreclr\minipal -ID:\a\_work\1\s\artifacts\obj\coreclr\windows.x64.Checked\inc\etw -ID:\a\_work\1\s\src\coreclr\jit\.\jitstd -ID:\a\_work\1\s\src\coreclr\jit\..\inc /DWIN32 /D_WINDOWS  /GR- -MTd /O2 /EHa /nologo /W4 /WX /Oi /Oy- /Gm- /Zp8 /Gy /GS /fp:precise /FC /MP /Zm200 /Zc:strictStrings /Zc:wchar_t /Zc:inline /Zc:forScope /wd4065 /wd4100 /wd4127 /wd4131 /wd4189 /wd4200 /wd4201 /wd4206 /wd4239 /wd4245 /wd4291 /wd4310 /wd4324 /wd4366 /wd4456 /wd4457 /wd4458 /wd4459 /wd4463 /wd4505 /wd4702 /wd4706 /wd4733 /wd4815 /wd4838 /wd4918 /wd4960 /wd4961 /wd5105 /wd5205 /we4007 /we4013 /we4102 /we4551 /we4640 /we4806 /we4055 /we4146 /we4242 /we4244 /we4267 /we4302 /we4308 /we4509 /we4510 /we4532 /we4533 /we4610 /we4611 /we4700 /we4701 /we4703 /we4789 /we4995 /we4996 /w34092 /w34121 /w34125 /w34130 /w34132 /w34212 /w34530 /w35038 /w44177 /Zi /ZH:SHA_256 /source-charset:utf-8 /guard:cf /guard:ehcont /Zl /permissive- /YuD:/a/_work/1/s/artifacts/obj/coreclr/windows.x64.Checked/jit/CMakeFiles/clrjit_unix_riscv64_x64.dir/cmake_pch.hxx /FpD:/a/_work/1/s/artifacts/obj/coreclr/windows.x64.Checked/jit/CMakeFiles/clrjit_unix_riscv64_x64.dir/./cmake_pch.cxx.pch /FID:/a/_work/1/s/artifacts/obj/coreclr/windows.x64.Checked/jit/CMakeFiles/clrjit_unix_riscv64_x64.dir/cmake_pch.hxx /showIncludes /Fojit\CMakeFiles\clrjit_unix_riscv64_x64.dir\emitriscv64.cpp.obj /Fdjit\CMakeFiles\clrjit_unix_riscv64_x64.dir\ /FS -c D:\a\_work\1\s\src\coreclr\jit\emitriscv64.cpp
  D:\a\_work\1\s\src\coreclr\jit\emitriscv64.cpp(3134): error C2220: the following warning is treated as an error
  D:\a\_work\1\s\src\coreclr\jit\emitriscv64.cpp(3134): warning C4018: '<': signed/unsigned mismatch

cc @dotnet/jit-contrib

Known Issue Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "emitriscv64.cpp(3134): warning C4018: '<': signed/unsigned mismatch",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1091925
Error message validated: [emitriscv64.cpp(3134): warning C4018: '<': signed/unsigned mismatch]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 7/11/2025 6:17:35 PM UTC

Report

Build Definition Step Name Console log Pull Request
1093173 dotnet/runtime Build product Log #117437
1091925 dotnet/runtime Build product Log

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
1 2 2

Metadata

Metadata

Labels

Known Build ErrorUse this to report build issues in the .NET Helix tabarea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions