[GH-ISSUE #1966] mipsAbiFlags boundary tests still expect pre-#1949 soft-float rejection #653

Closed
opened 2026-10-15 18:26:59 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @kaoru0822-kitauji on GitHub (Oct 11, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/1966

Observed behavior

Main CI fails three cases in tests/boundary/filesystem/mipsAbiFlags.test.ts (run 38175177014 on 39418ea17; also reproduced locally):

  • reads a remote ABI record through both ELF tables (LE) and (BE): after rewriting the record to FP64 (cpr1Size: 2, fpAbi: 6), they expect /register modes/u, but ghidraMipsUnsupportedReason now returns "This Ghidra MIPS lane admits double-precision or FPXX ABI declarations with 32-bit CPR1, or soft-float without CPR1; single-float, FP64 and unspecified modes need separate verification."
  • retains soft-float while rejecting its unverified provider interpretation: soft-float without CPR1 (cpr1Size: 0, fpAbi: 3) is now admitted, so the reason is null.

#1949 (5e219de44) admitted soft-float o32 without CPR1 and reworded the floating-point rejection. It updated src/ghidra/GhidraMipsProfile.test.ts, but not this boundary suite, so the suite still encodes the pre-#1949 policy.

Expected behavior

The boundary suite asserts the current policy: FP64 is rejected with the floating-point mode reason, and soft-float declared together with CPR1 is still rejected. Admission of soft-float without CPR1 stays covered by GhidraMipsProfile.test.ts.

Originally created by @kaoru0822-kitauji on GitHub (Oct 11, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/1966 ### Observed behavior Main CI fails three cases in `tests/boundary/filesystem/mipsAbiFlags.test.ts` (run 38175177014 on 39418ea17; also reproduced locally): - `reads a remote ABI record through both ELF tables (LE)` and `(BE)`: after rewriting the record to FP64 (`cpr1Size: 2`, `fpAbi: 6`), they expect `/register modes/u`, but `ghidraMipsUnsupportedReason` now returns "This Ghidra MIPS lane admits double-precision or FPXX ABI declarations with 32-bit CPR1, or soft-float without CPR1; single-float, FP64 and unspecified modes need separate verification." - `retains soft-float while rejecting its unverified provider interpretation`: soft-float without CPR1 (`cpr1Size: 0`, `fpAbi: 3`) is now admitted, so the reason is `null`. #1949 (5e219de44) admitted soft-float o32 without CPR1 and reworded the floating-point rejection. It updated `src/ghidra/GhidraMipsProfile.test.ts`, but not this boundary suite, so the suite still encodes the pre-#1949 policy. ### Expected behavior The boundary suite asserts the current policy: FP64 is rejected with the floating-point mode reason, and soft-float declared together with CPR1 is still rejected. Admission of soft-float without CPR1 stays covered by `GhidraMipsProfile.test.ts`.
bsakaguchi 2026-10-15 18:26:59 +00:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@kaoru0822-kitauji commented on GitHub (Oct 11, 2026):

Already fixed on main by 9eee709f0 (the #1963 merge), which updated .github/workflows/ci.yml and tests/boundary/filesystem/mipsAbiFlags.test.ts a few minutes after this report. Verified on 9eee709f0: curatedWindowsLane.test.ts and mipsAbiFlags.test.ts pass (41 tests). Closing as resolved.

<!-- gh-comment-id:6113986984 --> @kaoru0822-kitauji commented on GitHub (Oct 11, 2026): Already fixed on main by 9eee709f0 (the #1963 merge), which updated `.github/workflows/ci.yml` and `tests/boundary/filesystem/mipsAbiFlags.test.ts` a few minutes after this report. Verified on 9eee709f0: `curatedWindowsLane.test.ts` and `mipsAbiFlags.test.ts` pass (41 tests). Closing as resolved.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#653
No description provided.