跳转到内容

CLI 参考

终端窗口
$ rvrun [-g PORT] [-L SYSROOT] [-0 ARGV0] <riscv64-linux-elf or #! script> [args...]

程序可以写成路径,也可以写成在 $PATH 中查找的名字;它之后的所有参数都属于客户程序。#! 指向 riscv64 解释器的脚本会通过启动该解释器来运行。

  • -g PORT —— 运行前在 127.0.0.1:PORT 上等待 GDB 远程连接,客户程序停在入口点,类似 qemu-riscv64 -g。端口设为 0 时会自动选择一个空闲端口并打印出来。
  • -L SYSROOT —— 优先在该目录中解析客户程序的绝对路径(动态加载器、库文件、/etc 配置), 类似 qemu-riscv64 -L;也可以用 RVRUN_SYSROOT。
  • -0 ARGV0 —— 将 ARGV0 作为客户程序的 argv[0],而非路径;用于客户程序通过 execve 启动新的 rvrun 时。
  • RVRUN_STRACE=1 —— 把每个系统调用追踪到 stderr。
  • RVRUN_STATS=1 —— 退出时打印退役指令数与执行速度。
  • RVRUN_JIT=0 —— 使用带缓存的解释器运行,不启用 JIT。
  • RVRUN_PROF=FILE —— 采样生成的代码,并把最热基本块的报告写入 FILE;用 tools/jitprof.py FILE 渲染。
  • RVRUN_CACHE=0 —— 关闭持久化代码缓存。默认按可执行文件保存在 ~/Library/Caches/champollion(Linux 上是 $XDG_CACHE_HOME/champollion 或 ~/.cache/champollion),或 $RVRUN_CACHE_DIR 指向的位置。