LR_07_001: Gap Analysis

About

  • The Rust compiler has a comprehensive test suite.
  • This foundational work item aims to generate initial test reports from that test suite for the riscv64-unknown-linux-gnu Rust compiler target triple.
  • Along the way, this work items aims to highlight any perceivable risks for current and future work.


Sub-tasks

NumberItemDescriptionStatusNotesResources
1Test EnvironmentTarget platform selectionCompleteSelection qemu-system-riscv64's virt machine emulation as the target platform
Basic Linux test environment creationComplete

Selected Ubuntu Linux (riscv64) as the target filesystem

Ubuntu Linux for RISC-V 64-bit systems
Design of a testing strategyComplete

Decided to build and run the compiler and test assets 'natively' on the above test environment

(Experimented with cross compilation but that threw up known errors that were deemed invalid)

Decided to execute the test runner manually once the test assets were built


2Rust CompilerVerify that the Rust Compiler builds and runs natively for the risc64-unknown-linux-gnu target tripleCompleteAll OK. No special mods needed.
3Rust Compiler Test SuiteVerify that the Rust Compiler test suite builds and runs natively for the riscv64-unknown-linux-gnu target tripleComplete

All OK. No special mods needed.

Issue encountered with docker image for RISC-V Rust.

PR raised to fix docker image for RISC-V Rust. Fixes merged.

4Rust Compiler Test ReportGenerate initial compiler test resultsCompleteSome codegen test failures seen.PR raised to address test failures. Fixes merged.


Status and Outcomes

  • All outline sub-tasks above were completed.
  • There were a small number of test failures but those were for tests irrelevant for the riscv64 Linux rust target. Details are here.


Dependency



Upstreaming

COMPLETED


Contacts