historical_blobs: v1.16..v1.18 snapshots + byte-divergence analysis
Extracted from rkbin git (using git show <add-commit>:<path> since each version-update commit deletes the previous binary). Sits here so future runs don't need to re-extract. Byte-diff analysis: v1.x → v1.(x+1) differs in ~88% of bytes. Every release is a near-rewrite, not a patch. Consequence: cross-version symbol porting tools (Polypyus, BinDiff) would match few functions on this target. Function-level opcode-silhouette matching with wildcards for branch targets may still work but needs Ghidra baseline in each version, not a one-sided v1.19 annotation. Polypyus attempted 2026-04-15 — blocked by Python 3.14 / pony 0.7 bytecode decompiler incompatibility (LOAD_FAST_BORROW + varname table layout). Would need pyenv Python 3.11 venv, or switch to BinDiff CLI (no Python dep). Deferred. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
# Historical RK3588 DDR blob snapshots
|
||||||
|
|
||||||
|
Extracted from the rkbin git log for cross-version analysis. v1.19 is
|
||||||
|
the deployed version; v1.16-v1.18 are the closest-in-time prior revisions.
|
||||||
|
|
||||||
|
| file | size | commit msg |
|
||||||
|
|------|------|------------|
|
||||||
|
| v1.16.bin | 75480 B | "update ddrbin to v1.16" — 2736 MHz LP5 dropped |
|
||||||
|
| v1.17.bin | 73456 B | "update ddrbin to v1.17" — smaller, feature cull |
|
||||||
|
| v1.18.bin | 75320 B | "update ddrbin to v1.18" — single-rank LPDDR5 derate crash per BUG_ANALYSIS.md |
|
||||||
|
| v1.19 | 76704 B | current deployed (in `rkbin/bin/rk35/`) |
|
||||||
|
|
||||||
|
## Byte-level divergence
|
||||||
|
|
||||||
|
Each release is essentially a near-rewrite, NOT a patch:
|
||||||
|
|
||||||
|
v1.17 vs v1.18: ~88% bytes differ
|
||||||
|
v1.18 vs v1.19: ~88% bytes differ
|
||||||
|
v1.16 vs v1.19: even higher
|
||||||
|
|
||||||
|
This explains why cross-version symbol porting (via Polypyus or BinDiff)
|
||||||
|
has low yield on this target — not enough preserved byte sequences.
|
||||||
|
Function-level fuzzy matching (i.e., reduce each function to an opcode
|
||||||
|
silhouette with wildcards for branch targets and immediates) would help,
|
||||||
|
but requires Ghidra-analysed baselines in each version, not just
|
||||||
|
one-sided v1.19 annotations.
|
||||||
|
|
||||||
|
## Tooling note (2026-04-15)
|
||||||
|
|
||||||
|
Attempted Polypyus → blocked by Python 3.14 / pony 0.7 decompiler
|
||||||
|
incompatibility. See `project_rk3588_ddr.md` memory for retry options
|
||||||
|
(pyenv Python 3.11, or switch to BinDiff CLI which has no Python dep).
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
5aa6271195e422a2c30a8e801baa64e4a10cbc6a5f1963f9a29e6dc85096c7bf v1.16.bin
|
||||||
|
9e0095a52febfc0f57297dff71ecc82d1686b94d47be00c21391446fc6927f7a v1.17.bin
|
||||||
|
d89d40a8183b099589bfcffc5cc2ce9d874eb5b1d19b78bdad2cfcf45b9cb68f v1.18.bin
|
||||||
|
5aa6271195e422a2c30a8e801baa64e4a10cbc6a5f1963f9a29e6dc85096c7bf v1.16.bin
|
||||||
|
9e0095a52febfc0f57297dff71ecc82d1686b94d47be00c21391446fc6927f7a v1.17.bin
|
||||||
|
d89d40a8183b099589bfcffc5cc2ce9d874eb5b1d19b78bdad2cfcf45b9cb68f v1.18.bin
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user