ksco 的工作日志
245 subscribers
168 photos
10 videos
4 files
84 links
内容主要取决于我正在做的东西,目前主要是模拟器 / DBT 之类的散乱话题。
Download Telegram
⬆️ 第一次看到,这架吵得还真是精彩
https://github.com/nakst/gf/pull/101/commits/007c08fede8c79f778a07c7b71f035a5c1b14456

发现一个很好玩的 commit,你们 C++ 真是太 fancy 了
LP4A 自带的风扇非常吵,但是如果直接把它插到 3V3 上让它以恒定的较高速度运行,噪音反而小了很多
#DynamoRIO

indirect jmp: c.jr non-ra or jalr non-ra, off(reg)
indirect call: jalr ra, off(reg) or c.jalr reg
indirect return: jalr zero, (ra) or c.jr ra
direct call: jal ra, off or c.jal off
direct jmp: jal non-ra, off or c.j off or branch instrcution
#DynamoRIO

2f8 bb insert_fragment_prefix 从 spill_state 中加载了一个奇怪的值到 a1,导致了 segfault。
什么时候才能把带 libc 的程序跑起来啊,我希望是本周 🙏
j 0x4b0df266 看上去是算错地址了,应该是跳转到 f268 的位置。
记一下,明天继续 debug。
简单写了个求质数的 benchmark 来测测 DynamoRIO RISC-V 的性能,损失有点大啊。不过现在是 debug build,倒是在预期范围内。
ksco 的工作日志
记一下,明天继续 debug。
还是没有头绪,我决定走 hard way,在 native 和 dr 之间,逐条指令比对结果,看看透明性到底在哪里遭到了破坏。
ksco 的工作日志
还是没有头绪,我决定走 hard way,在 native 和 dr 之间,逐条指令比对结果,看看透明性到底在哪里遭到了破坏。
解决了!!!!问题是 AUIPC 在 decode 的时候,imm 没有做 sign extend,所以如果 imm 是个负数,就会算出来错误的地址,导致 segfault。这么蠢的问题我竟然找了两天,JIT 真的好难 debug 🥹
现在又要解决下一个问题。
连续两天没睡够八小时🥱,人只要步入中年即使没有什么烦恼也还是会失眠吗。
direct branch 做 linking 的时候算错了地址,导致 segfault
啊我终于修好了所有已知的 bug,现在又撞到 ASSERT_NOT_IMPLEMENTED
This media is not supported in your browser
VIEW IN TELEGRAM
为了不带键盘鼠标显示器去北京,造了个 RISC-V 笔记本准备峰会上演示用。
来我们摊位,请你们玩:
GTA 3
程序员升职记
粘粘世界
星露谷物语
超级六边形
Bastion
...