8531b25e75
Регрессия от 961cfb7 (gsinit зануляет _DATA, 2026-07-04): crt0_banked
заполняет таблицу физических страниц _bank_pages ДО gsinit, а тот её
стирал — трамплины banked-вызовов читали нули и прыгали в незамапленную
страницу. Висли ВСЕ banked-программы (banked/bankedbg/banklocl/
banktest); найдено MAME-смоуком. Тот коммит перенёс crt0-приватные
_estex_* в _CODE, но _bank_pages в runtime/bank.s пропустил.
- runtime/bank.s: _bank_pages → .area _CODE (RAM, всегда замаплен —
это же условие нужно и трамплину); +16 Б _CODE у программ с bank.s
- app.mk: exe теперь зависит от runtime/*.s — правка crt0/bank.s
перелинковывает тесты без make clean (фикс иначе не подхватывался)
- эталон размеров обновлён (+16 Б у banked/bankedbg/banklocl/
banktest/openenv — size-check поймал ровно их)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
652 B
652 B
| 1 | # Эталон размеров _CODE (байт); обновление: python3 toolchain/size_check.py --update | |
|---|---|---|
| 2 | argv | 3431 |
| 3 | assrtest | 3847 |
| 4 | attrprob | 4091 |
| 5 | banked | 1056 |
| 6 | bankedbg | 1067 |
| 7 | banklocl | 4832 |
| 8 | banktest | 3767 |
| 9 | bios_text | 4470 |
| 10 | cat | 915 |
| 11 | conio | 4634 |
| 12 | conio2 | 3946 |
| 13 | dec_test | 860 |
| 14 | errno | 6216 |
| 15 | fbench | 9040 |
| 16 | fdmax | 6337 |
| 17 | filetest | 11624 |
| 18 | gets | 509 |
| 19 | gfx_d16 | 3319 |
| 20 | gfx_dbuf | 2396 |
| 21 | gfx_demo | 3219 |
| 22 | gfx_mous | 5542 |
| 23 | gfx_text | 2560 |
| 24 | hello | 4176 |
| 25 | hello2 | 4251 |
| 26 | ls | 4919 |
| 27 | malloc | 4462 |
| 28 | mdview | 19122 |
| 29 | mdview2 | 27029 |
| 30 | mem_test | 4558 |
| 31 | mouse | 4394 |
| 32 | openenv | 6127 |
| 33 | ptime | 5896 |
| 34 | rt_test | 4103 |
| 35 | seek | 4177 |
| 36 | simple | 963 |
| 37 | solidt | 12381 |
| 38 | stattest | 7700 |
| 39 | stdlib | 6643 |
| 40 | stest2 | 3644 |
| 41 | strtest | 1340 |
| 42 | text_palette | 5039 |
| 43 | timedir | 5471 |
| 44 | winrest | 4481 |