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