riscv64: rewrite `CreateTrampoline` using assembler to generate code.
Previously we did not have an assembler for RISC-V, so the instructions
were hardcoded manually. This commit does not change the generated
instructions (aside from using a different temporary register).
Also, fix a clang-tidy error triggered by this commit (add noexcept to
constructor).
Bug: 283082089
Test: boot cuttlefish, observe no crashes in zygote:
$ lunch aosp_cf_riscv64_phone-userdebug && m
$ launch_cvd --gpu_mode=drm_virgl
Test: lunch aosp_arm64-userdebug && m art-tidy
Change-Id: I512a1d408ee3837a4a7631cad6e5da6244b402d4
2 files changed