Проголосуй за деда
Текст письма на русском: https://rms-support-letter.github.io/index-ru.html
Подписать можно как с помощью классического пулл-реквеста на github, так и через пост на codeberg.orgТекст письма на русском: https://rms-support-letter.github.io/index-ru.html
Подписать можно как с помощью классического пулл-реквеста на github, так и через пост на codeberg.orgПодскажите, пожалуйста, простенькую бесплатную (в идеале GNU) программу под винду по мониторингу подключения к и-нету: чтоб кинуть в автозагрузку и она бы пинговала провайдера или 8.8.8.8, или ещё как-то проверяла наличие и-нета, писала логи когда и-нет пропадает и появляется.
Я обнаржуил, что при компиляции по дефолту используется long в качестве всех числовых операций (например аргумент указан как short, а в ассемблере туда пишется long, т.е. все дела округляются по 4 байта, вместо нужных 2х) отсюда много косяков с оптимизацией.
Поэтому я нашел флаг -mshort, который говорит компилятору опираться на short. В таком режиме даже переменные int становятся short, что меня более чем устраивает.
Проблема в том, что компилятор испытывает трудности в таком режиме, если включить оптимизацию. А если быть точнее вылетает с внутренней ошибкой internal compiler error: in immed_wide_int_const_1, которую хрен знает как исправить.
Я всегда придерживаюсь правила, что любую проблему в своих проектах должен решать сам, но тут я реально не могу ничего поделать.
Я даже попытался (потратил 3 дня) настроить и использовать компилятор от AmigaOS, еле сумев заставить всё линковаться в нужном мне формате (ромы для Sega Mega Drive). Но этот вариант быстро отпал, потому что после всех танцев с бубном (я тупо свой линкер написал, потому что старый нормально ничего линковать не умел) оказалось, что этот компилятор совершенно не умеет оптимизировать код и по всем ассемблерным файлам понатыканы переходы в конструкторы и деструкторы, внутри которых просто выход из функции (rts). И это еще не самое страшное.
Я ассемблер m68k знаю, поэтому я вижу, где код нормально оптимизирован, а где кринж.
Вообщем принял решение написать баг-репорт на компилятор m68k-linux-gnu-g++ и тут тоже возникла проблема: Я понятия не имею как это делается. Местная инструкция написана на боярском, перевод на русский свет не проливает (либо я такое быдло, потому и не понимаю).
По-сему запрашиваю помощь у пидоров пограммистов: Помогите написать багрепорт на компилятор. Ткните мне хотя бы краткую инструкцию для чайников.
Прикладываю скрин проблемы и краткую выжимку спамящей ошибки.
(и да, я пытался исправить код и там что-то связано с массивами + аргументами в функциях/методах)