Skip to content

Sync ratified extensions (Ziccid/Sspmp/Zicfilp/Zicfiss) and tier vendor detection keywords - #17

Merged
kako-jun merged 4 commits into
mainfrom
15-16-sync-extensions-vendor-detection
Sep 17, 2026
Merged

kako-jun merged 4 commits into
mainfrom
15-16-sync-extensions-vendor-detection

Conversation

@kako-jun

Copy link
Copy Markdown
Owner

関連 Issue

closes #15
closes #16

変更内容

テスト

  • cargo test --workspace: 90 passed
  • cargo clippy --all-targets -- -D warnings clean
  • Hardware check on Orange Pi RV2 (SpacemiT K1) and MangoPi MQ-Pro (Allwinner D1) to follow before release

2026-04以降に ratified された取りこぼし拡張を追加。Ziccid は Z_EXTENSIONS の
Memory Model 群、Zicfilp/Zicfiss は Other 群、Sspmp は S_EXTENSIONS の
Supervisor (Ss*) 群にアルファベット順で挿入。拡張数は 147→151(Z 100→103、
S 47→48)。lookup できることを確認するテストを追加。

(#15)
VENDOR_KEYWORDS を SoC identifiers → board names → vendor names の3 tier に
明示的に並べ替え。DC-ROMA (StarFive JH7110→SpacemiT K3) や Milk-V/Banana
Pi/Sipeed (SpacemiT K1/K3両出荷) のように、同じボード名が世代でSoCベンダー
を変えるケースで、旧来のfirst-match順序だと誤検出していた。SoC識別子
(spacemit,k1 / spacemit,k3 / sg2044 / sg2380 / sun20i)を新規追加し、
ボード名はSoC識別子が無い場合のフォールバックに限定。

(#16)
riscfetch-core 2.2.0→2.3.0、riscfetch(cli)/workspace 2.3.1→2.4.0。
拡張数(147→151)・検出キーワード数(42→47)・ISA spec日付(2026-04→2026-09)
をSPEC.md・README(en/ja/zh-CN)に反映。

(#15, #16)
- ziccif/ziccid・sspm/sspmp が接頭辞衝突せず完全一致でのみ検出されることを
  parsing.rs に否定テストとして追加
- SPEC.md (cli/core) の Last updated を 2026-09 に更新
- vendors.rs の VENDOR_KEYWORDS tier コメントを、実装(先勝ちの単純逐次リスト)
  に忠実な表現に修正
@kako-jun

Copy link
Copy Markdown
Owner Author

Hardware check (native build of this branch):

  • Orange Pi RV2 (SpacemiT K1, Ubuntu 24.04, kernel 6.6.63-ky): riscfetch 2.4.0, logo now detected as SpacemiT (2.3.0 fell back to the generic logo), 8 harts, all Z/S extensions from the ISA string rendered.
  • Self-review: 2 rounds, Approve, 91 tests green.

kako-jun added a commit that referenced this pull request Sep 17, 2026
レビュー指摘を反映:
- mlugg/setup-zig@v2 に version: 0.16.0 を明示(CI実測ログで取得されていたバージョン)
- glibc floor 検証ステップの run: | 冒頭に set -euo pipefail を明示
- Build for RISC-V ステップ直前に zig の非致命的警告に関する注記コメントを追加
- リベースにより CHANGELOG.md の [Unreleased] を削除し、[2.4.0] - 2026-09-17 の
  Added/Changed の後ろに Fixed セクションとして統合(#17 のバージョン更新と競合しないように)

Verification:
- floor 比較式 `test "$(printf 'GLIBC_2.31\n%s\n' "$max" | sort -V | tail -1)" = "GLIBC_2.31"` を
  ローカル bash で実行して確認: max=GLIBC_2.35(floor超過)は非0終了、max=GLIBC_2.30(floor未満)は0終了。
  floor 違反時に検証が確実に落ちることを確認した。
- 手元の dist-ci/riscfetch(cargo-zigbuild ビルド済み riscv64 バイナリ)に対し
  `strings dist-ci/riscfetch | grep -o 'GLIBC_[0-9.]*' | sort -uV | tail -1` を実行し、
  実測最大シンボルは GLIBC_2.30(floor 2.31 を満たす)と確認した(Mac に riscv64 用 objdump が無いため strings で代替)。
@kako-jun
kako-jun merged commit dd3648d into main Sep 17, 2026
4 checks passed
kako-jun added a commit that referenced this pull request Sep 17, 2026
レビュー指摘を反映:
- mlugg/setup-zig@v2 に version: 0.16.0 を明示(CI実測ログで取得されていたバージョン)
- glibc floor 検証ステップの run: | 冒頭に set -euo pipefail を明示
- Build for RISC-V ステップ直前に zig の非致命的警告に関する注記コメントを追加
- リベースにより CHANGELOG.md の [Unreleased] を削除し、[2.4.0] - 2026-09-17 の
  Added/Changed の後ろに Fixed セクションとして統合(#17 のバージョン更新と競合しないように)

Verification:
- floor 比較式 `test "$(printf 'GLIBC_2.31\n%s\n' "$max" | sort -V | tail -1)" = "GLIBC_2.31"` を
  ローカル bash で実行して確認: max=GLIBC_2.35(floor超過)は非0終了、max=GLIBC_2.30(floor未満)は0終了。
  floor 違反時に検証が確実に落ちることを確認した。
- 手元の dist-ci/riscfetch(cargo-zigbuild ビルド済み riscv64 バイナリ)に対し
  `strings dist-ci/riscfetch | grep -o 'GLIBC_[0-9.]*' | sort -uV | tail -1` を実行し、
  実測最大シンボルは GLIBC_2.30(floor 2.31 を満たす)と確認した(Mac に riscv64 用 objdump が無いため strings で代替)。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant