Гораздо более вероятно, что оригинальный код каким-то образом содержал ошибки (неопределенное поведение, переполнение буфера и т. Д.), Но старый компилятор создал (или содержала старую библиотеку) код, который был более терпимым к этим проблемам ( а) .
Боюсь, вам, вероятно, придется пойти и исправить (или заставить кого-то исправить) первопричину проблемы. Мой вопрос к вам: «Если вы не считаете себя программистом, почему вы редактируете код и перестраиваете его?».
Моя мама тоже не кодер, но она не возится с ядром Linux: -)
(a) Иногда неопределенное поведение на самом деле работает! Это на самом деле его самый раздражающий аспект. Намного лучше, что он будет постоянно терпеть неудачу, так что мы решим больше проблем, прежде чем выпустить их на наших бедных клиентов. Но даже когда это работает, это не делает его хорошей идеей.