fix(m43): r2 评审 P2 — 构建级主判据 + 数据依赖语义 + bootmenu 注释

- test_time32_abi.sh 增加构建级主判据:解析各组件的 build_*.sh,按 -o <产物>
  定位实际编译行(自动拼接续行),断言同时出现 meow_time32.c 与
  -DMEOW_TIME32_LIBC_OVERRIDES。缺任一即 FAIL(100% 抓「漏加」)。
- 二进制 16B 断言从「空间窗口」改为「数据依赖」:0/4/8 写回必须来自
  被调函数填的 ts32 缓冲(lw off() → sw 0x0,lw off+4() → sw 0x8,
  含 sra 符号扩展),修掉无关结构体写回造成的 false positive。
  已知健康件 launcherd(非内联转换)仍 PASS;复现的评审反例 bad6b 现 FAIL。
- bootmenu 注释把 initramfs 误述改为 squashfs /usr/bin(M23 未碰该文件)。
This commit is contained in:
AskaEth committed 2026-11-11 18:51:16 +08:00
1 parent 7a32b0690e
commit 1ad2346d34
2 files changed
+162 -60

No files matched your search

+2 -1
View File
@@ -7,7 +7,8 @@ cd "$(dirname "$0")"
CC="$HOME/Project/R3ProII/.tools/zig-mipsel-cc"
MEOW_TOUCH_DIR="../meow_launcherd"
# M43: bootmenu 也不链 meow_ui.a,单独链 time32 修取时/睡眠 ABI。只改语义正确的取时来源,
# boot_timeout/按键长按/守候计时行为不变(修复后才是真实毫秒;initramfs 内同样生效)。
# boot_timeout/按键长按/守候计时行为不变(修复后才是真实毫秒;squashfs /usr/bin,改坏影响
# 开机选单/自动启动,但不是 initramfs 级不可恢复)。
"$CC" -Os -static -I "$MEOW_TOUCH_DIR" -DMEOW_TIME32_LIBC_OVERRIDES \
meow_bootmenu.c "$MEOW_TOUCH_DIR/meow_touch.c" ../sdk/meow_time32.c -o meow_bootmenu
ls -la meow_bootmenu