移植 HUSTOJ judge_clinet 到 LoongArch64
HUSTOJ 是一款流行的OJ系统,跨平台、易安装、有题库、二次开发门槛低。具有多个分支,我参与移植的是 zhblue/hustoj 张老师维护的分支。
大概记录一下移植的过程。目前该 PR 已经合并到了 master 上,当前实测是支持 C/C++ 判题,后续根据上游支持情况继续适配其他语言。
参考了 [原]给HUSTOJ用户提供的源码阅读与修改建议 中关于 judge_client 的代码解读,大概把握了判题机的处理思路。
1、关于 LoongArch64 的系统调用寄存器的位置信息。参考了nolibc/arch-loongarch.h。
1 | // https://github.com/torvalds/linux/blob/master/tools/include/nolibc/arch-loongarch.h |
这段注释很明确的描述了 LoongArch64 的系统调用寄存器的位置信息。
2、关于 LoongArch64 系统调用号的描述。参考了 hrw/syscalls-table 这个项目,这个项目描述了各个平台的系统调用号信息,并将其组织成了表格。
Link:https://gpages.juszkiewicz.com.pl/syscalls-table/syscalls.html
3、判题测试(3C6000/S + 128G 内存):
提交 2280,AWT 106.38s
国产加油!信创加油~
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 弹霄博科!