Эльбрус/отладка

Материал из ALT Linux Wiki
< Эльбрус
Версия от 16:31, 24 марта 2023; MichaelShigorin (обсуждение | вклад) (нач)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Отладка на Эльбрусе

В данном случае особенностями являются не горняшка и виды, а железо и компилятор.

компилятор

При отказе или тем более падении самого компилятора см. как сообщить об ошибке в lcc (по clang предложения пока не наработаны).

Также обратите внимание на примечание по степени полезности отладочной информации в зависимости от наличия оптимизации.

ядро

Ранние ядра (как правило, ветки МЦСТ -1.y, реже -2.y, соответственно -alt[12].y.z) могут иметь недоработки в части управления памятью, которые наиболее охотно отражаются на JIT-машинах (Java, JS, Guile); при необъяснимых выпадениях подобного первым делом проверьте на более новом ядре при его наличии (если по uname -r загружено ядро варианта elbrus-def, попробуйте также mcst-* под конкретный процессор -- они собираются строго по .config из OSL и должны быть почти идентичны сборкам МЦСТ).

SIGILL необходимо трактовать как сигнал о программной ошибке наряду с SIGSEGV или SIGBUS.

Возможно включить дополнительную отладку и получить записи о тех же segfault'ах в выводе dmesg -w:

# echo 1 > /proc/sys/debug/sigdebug; echo 1 > /proc/sys/debug/pagefault; echo 1 > /proc/sys/debug/windowregs