commit 730f64c68a1b81e1ef81f6f87362e64e60ddefc9 from: Aleksey Ryndin date: Fri Mar 03 20:46:03 2023 UTC Fix report commit - b00e666d8a629d69ec0160046c0f02218cf69d99 commit + 730f64c68a1b81e1ef81f6f87362e64e60ddefc9 blob - a9f03c649223ba5e13b31589625480c4624321c4 blob + fb90d1c31e85e2279c21f1997b0773837c0030e3 --- reports/20230302-v0.0.1.md +++ reports/20230302-v0.0.1.md @@ -31,7 +31,7 @@ squⱯt v0.0.1 Конфигурирование сборки ----------------------- -Для сборки используются утилиты из состава LLVM. +Для сборки используются утилиты из состава [LLVM][c0]. Для учета локальных особенностей системы, где происходит сборка, используется файл `config.mk`. Сборка и запуск протестированы в двух arm64-конфигурациях: @@ -62,9 +62,10 @@ OBJCOPY = /usr/local/bin/llvm-objcopy * `${LD}` (по умолчанию `ld.lld`): компоновка исполняемого (`.elf`) файла из полученных на предыдущих шагах объектных файлов. * `${OBJCOPY}` (по умолчанию `llvm-objcopy`): дамп исполняемого файла в - _плоское_ представление его в памяти, как если бы этот файл был загружен на + _плоское_ представление, как если бы этот файл был загружен в память на исполнение. Результатом получает `.img` файл. +[c0]: https://llvm.org/ "The LLVM Compiler Infrastructure" Просмотр содержимого собранных бинарных файлов ---------------------------------------------- @@ -112,7 +113,7 @@ Disassembly of section .text: 54: fd 7b c1 a8 ldp x29, x30, [sp], #16 58: c0 03 5f d6 ret ``` -Тут стоит заполнить, что первая инструкция, которая ожидается к исполнению +Тут стоит запомнить, что первая инструкция, которая ожидается к исполнению `mrs x0, MPIDR_EL1` имеет байт код `a0 00 38 d5`. А результирующий _плоский_ `.img` файл можно смотреть с использованием