Skip to content

[RISC-V] Test build doesn't make crossgen2 executable in RISC-V. #108973

Open
@clamp03

Description

@clamp03

Recently, after test build, I cannot find crossgen2 executable.

How I build test.

$ export BuildAllTestsAsStandalone=true
$ ROOTFS_DIR=<riscv64 rootfs> ./src/tests/build.sh -riscv64 -Release -priority1 -cross -p:UseLocalAppHostPack=true

Files in crossgen2 directory of old artifact.

$ ls artifacts/tests/coreclr/linux.riscv64.Release/Tests/Core_Root/crossgen2
corerun       libclrjit_unix_riscv64_riscv64.so  libjitinterface_riscv64.so         libSystem.IO.Compression.Native.a   libSystem.Native.so                                LICENSE.TXT
createdump    libcoreclr.so                      libmscordaccore.so                 libSystem.IO.Compression.Native.so  libSystem.Net.Security.Native.a
crossgen2     libcoreclrtraceptprovider.so       libmscordbi.so                     libSystem.IO.Ports.Native.a         libSystem.Net.Security.Native.so
libclrgc.so   libhostfxr.so                      libSystem.Globalization.Native.a   libSystem.IO.Ports.Native.so        libSystem.Security.Cryptography.Native.OpenSsl.a
libclrjit.so  libhostpolicy.so                   libSystem.Globalization.Native.so  libSystem.Native.a                  libSystem.Security.Cryptography.Native.OpenSsl.so

Files in crossgen2 directory of latest artifact.

$ ls artifacts/tests/coreclr/linux.riscv64.Release/Tests/Core_Root/crossgen2
libclrjit_unix_riscv64_x64.so  libjitinterface_x64.so

I cannot find crossgen2_publish directory in artifacts/bin/

From #106965, we need crossgen2 executable to execute some R2R tests in clrtest.
These are failed clrtests due to this issue on RISC-V.

Regressions/coreclr/GitHub_49826/test49826/test49826.sh                                                                                                                                                                                       
Regressions/coreclr/GitHub_49982/test49982/test49982.sh                                                                                                                                                                                       
Regressions/coreclr/GitHub_61104/test61104/test61104.sh                                                                                                                                                                                       
baseservices/TieredCompilation/BasicTestWithMcj/BasicTestWithMcj.sh                                                                                                                                                                           
baseservices/TieredCompilation/BasicTest_DefaultMode_R2r/BasicTest_DefaultMode_R2r.sh                                                                                                                                                         
baseservices/TieredCompilation/BasicTest_QuickJitForLoopsOff_R2r/BasicTest_QuickJitForLoopsOff_R2r.sh                                                                                                                                         
baseservices/TieredCompilation/BasicTest_QuickJitForLoopsOn_R2r/BasicTest_QuickJitForLoopsOn_R2r.sh                                                                                                                                           
baseservices/TieredCompilation/BasicTest_QuickJitOn_R2r/BasicTest_QuickJitOn_R2r.sh                                                                                                                                                           
baseservices/TieredCompilation/BasicTest_QuickJitOff_R2r/BasicTest_QuickJitOff_R2r.sh                                                                                                                                                         
readytorun/GenericCycleDetection/Breadth1Test/Breadth1Test.sh                                                                                                                                                                                 
readytorun/GenericCycleDetection/Depth1Test/Depth1Test.sh                                                                                                                                                                                     
readytorun/GenericCycleDetection/Depth3Test/Depth3Test.sh                                                                                                                                                                                     
readytorun/crossgen2/crossgen2smoke/crossgen2smoke.sh                                                                                                                                                                                         
readytorun/determinism/crossgen2determinism/crossgen2determinism.sh                                                                                                                                                                           
readytorun/fieldlayout/fieldlayout/fieldlayout.sh                                                                                                                                                                                             
readytorun/tests/mainv1/mainv1.sh                                                                                                                                                                                                             
readytorun/tests/mainv2/mainv2.sh                                                                                                                                                                                                             
readytorun/tests/genericsload/callgenericctor/callgenericctor.sh                                                                                                                                                                              
readytorun/tests/genericsload/usegenericfield/usegenericfield.sh                                                                                                                                                                              
readytorun/coreroot_determinism/coreroot_determinism/coreroot_determinism.sh      

Error message is like ./test49826.sh: line 328: /linux.riscv64.Checked/Tests/Core_Root/crossgen2/crossgen2: No such file or directory message.

As far as I know, test build fails from #107772 and test build doesn't make crossgen2 executable from #108693

I tried some to make crossgen2. However, I can't.
(*. I can just made a crosgen2 and passed tests if I revert #107772, #108693, and #103375 and set PublishReadyToRun to false in crossgen2_publish.csproj. I never think it is a right approach.)
I don't know well about build environment. Could you please help?
Thank you.

cc @dotnet/samsung @jkotas @am11

Metadata

Metadata

Assignees

No one assigned

    Labels

    arch-riscvRelated to the RISC-V architecturearea-crossgen2-coreclruntriagedNew issue has not been triaged by the area owner

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions