Entry tags:
Проруха на arm32
Однако сурово я обломался с трассировкой на архитектуре arm32! Как выяснилось, линуксное ядро не поддерживает пошаговое выполнение для 32-битных ARM-ов. На arm64 отлично идёт, а на той же Olinuxino - фиг вам. Вызов ptrace(PTRACE_SINGLESTEP) возвращает EIO. И по той же причине не будет работать на mips или на riscv. Пичалька.
Я и начинал-то с единственной целью: выяснить механизм вызова функций из разделяемых библиотек на arm32. Линкер генерит хитрые процессорные инструкции в таблице переходов, которые самообновляются при первом вызове.
Хотя бы на arm64 можно пользоваться, и то хлеб:
Я и начинал-то с единственной целью: выяснить механизм вызова функций из разделяемых библиотек на arm32. Линкер генерит хитрые процессорные инструкции в таблице переходов, которые самообновляются при первом вызове.
Хотя бы на arm64 можно пользоваться, и то хлеб:
Starting program: ./hello-arm64-linux
sp = 0xffffcdbaed60
pstate = 0x1000
0x0000000000400078: d2800808 movz x8, #0x40
r8 = 0x40
pstate = 0x201000
0x000000000040007c: d2800020 movz x0, #0x1
r0 = 0x1
0x0000000000400080: 90000001 adrp x1, #0x400000
r1 = 0x400000
0x0000000000400084: 91027021 add x1, x1, #0x9c
r1 = 0x40009c
0x0000000000400088: d28001a2 movz x2, #0xd
r2 = 0xd
0x000000000040008c: d4000001 svc #0
Hello world!
r0 = 0xd
0x0000000000400090: d2800ba8 movz x8, #0x5d
r8 = 0x5d
0x0000000000400094: d2800000 movz x0, #0
r0 = 0
0x0000000000400098: d4000001 svc #0
Process exited normally.
no subject
no subject
Общественное внимание уходит на новые вещи. Старое зачем поминать. Нет больше компьютеров на arm32 или mips - ну и бог с ними.
Меня удивляет, как народ прошляпил отсутствие пошагового выполнения на RISC-V. В хардвере чего-то недостаёт, или просто лениво софт дописать?
no subject
no subject
Системный вызов ptrace() изобрели отцы-основатели Юникса, как софтверную замену аппаратным средствам отладки.
no subject
no subject
no subject
а также отладочную панель самодельного компьютера Микро-80 на процессоре К580ИК80А
Хоть я и программист, а не электроник, но аппаратные решения я люблю
no subject
Да, очень Новогодняя тема :)
no subject