Ремонт механизма обхода стека в ядре Linux для RISCV (Матвей Быстрин).
24 мая в Санкт-Петербурге состоялся первый System Level Meetup от компании YADRO. В рамках мероприятия спикер из YADRO, Матвей Быстрин, поделился докладом "Ремонт механизма обхода стека в ядре Linux для RISCV". Вероятно, каждый разработчик сталкивался с печатью стека вызовов. И чаще всего такая печать ассоциируется с возникновением ошибок, однако обход стека используется и в ряде других случаев. В докладе поговорили про работу механизма обхода кадров стека в ядре Linux и его применениях. Спикер рассказал об ошибке, с которой столкнулся, и как с ней боролся. Позапускал gdb, разобрал дизассемблированный код, предоставил к изучению небольшой кусок спецификации и, конечно, рассмотрел исходный код ядра. Кроме того, затронул тему компилятора, немного заглянув «под капот» gcc. Доклад будет интересен любителям нетривиальных проблем, фанатам разбора байтов и почитателям архитектурно-специфичного кода. 00:25 - О спикере и докладе. 02:52 - Механизм обхода стека. 05:27 - Применения: примеры из userland, Hardware, DWARF, ORC & SFrame, BPF, Framepointer и Linux. 15:10 - RISC-V. 17:04 - Подробно о поломке и способах её устранения. 30:11 - Ситуация сегодня. Что изменилось за год? 33:16 - Выводы. 34:42 - Вопросы участников. Подробности о докладах и анонсы следующих митапов вы найдете на нашем Хабре https://habr.com/ru/companies/yadro/articles/
24 мая в Санкт-Петербурге состоялся первый System Level Meetup от компании YADRO. В рамках мероприятия спикер из YADRO, Матвей Быстрин, поделился докладом "Ремонт механизма обхода стека в ядре Linux для RISCV". Вероятно, каждый разработчик сталкивался с печатью стека вызовов. И чаще всего такая печать ассоциируется с возникновением ошибок, однако обход стека используется и в ряде других случаев. В докладе поговорили про работу механизма обхода кадров стека в ядре Linux и его применениях. Спикер рассказал об ошибке, с которой столкнулся, и как с ней боролся. Позапускал gdb, разобрал дизассемблированный код, предоставил к изучению небольшой кусок спецификации и, конечно, рассмотрел исходный код ядра. Кроме того, затронул тему компилятора, немного заглянув «под капот» gcc. Доклад будет интересен любителям нетривиальных проблем, фанатам разбора байтов и почитателям архитектурно-специфичного кода. 00:25 - О спикере и докладе. 02:52 - Механизм обхода стека. 05:27 - Применения: примеры из userland, Hardware, DWARF, ORC & SFrame, BPF, Framepointer и Linux. 15:10 - RISC-V. 17:04 - Подробно о поломке и способах её устранения. 30:11 - Ситуация сегодня. Что изменилось за год? 33:16 - Выводы. 34:42 - Вопросы участников. Подробности о докладах и анонсы следующих митапов вы найдете на нашем Хабре https://habr.com/ru/companies/yadro/articles/