Some random GrafanCon EU 2k18 Notes – Telegram
Some random GrafanCon EU 2k18 Notes
73 subscribers
312 photos
9 files
54 links
Заметки по докладам на которые я пошел (начинаются с #talk) и флуд фоточками.

Связаться с автором можно так: @Civiloid
Download Telegram
но lldb хочет понимание того что происходит
и сейчас lldb считает что у нас все - это Си++
Собственно план
1. Научить lldb работать с растом
2. Начать пилить компилятор (добавить поддержку дебага в ллвм) и тулзы
3. Начать фиксить баги. Их полно.
4. Составить список того чего не хватает в DWARF и отправить пропозалы на добавление расширений.
С ходу даже есть парочка
5. И в далеком светлом будущем - не добавлять фичи без поддержки их в дебагере
Например год назад добавили компрессию enum'ов в компилятор, а в дебагер нет и дебагеру снесло крышу
Типичный workflow добавления патчей
1. Попатчить rust-llvm
2. Попатчить rustc
3. Попатчить gdb
4. Заапстримить патчи из №1 в llvm trunk
5. Пройти ревью
6. Бэк-поритровать и вернуться к пункту 1.
Причина почему патчат сначала rust-llvm - потому что там можно обкатать изменения
Почему патчим gdb а не lldb - потому что lldb завязан на Си++ и в нем нет плагинов
Из-за этого патчить gdb намного проще
4 пункт тоже сложен, ведь проходит время и нужно портировать их на новый транк
Прийдя в LLVM Trunk можно обнаружить что нужный уже переписали с нуля и поменяли чуть больше чем все.
Ревью - их оооочень много и они очень тщательные
и есть шанс что ты запатчил, а потом выяснили что стандарт на DWARF понят неверно
и нужно фиксить
А 6-ой пункт еще включает бэкпорт патчей в rust-llvm :)