LINUX.ORG.RU

История изменений

Исправление Dead, (текущая версия) :

«Вот и выросло поколение.»

Я неплохо знаю ассемблер для x86, немного работал с ассемблером для ARM, но тут надо разбираться в MIPS, да еще и генерированным из С кода.

Суть в том, что одна из таких вот функций принимает на входе указатель на структуру, смещение до полей этой структуры захардкожено в ассемблерном коде.

В итоге включения некоторых опций ядра количество полей в этой структуре изменилось. В итоге поползли все смещения до полей.

Задача: в нескольких тысячах строк сгенерированного ассемблерного кода найти доступ ко всем элементам структуры и поменять смещение на верное.

Исходная версия Dead, :

«Вот и выросло поколение.»

Я неплохо знаю ассемблер для x86, немного работал с ассемблером для ARM, но тут надо разбираться в MIPS, да еще и генерированным из С кода.

Суть в том, что одна из таких вот функций принимает на входе указатель на структуру, смещение до полей этой структуры захардкожено.

В итоге включения некоторых опций ядра количество полей в этой структуре изменилось. В итоге поползли все смещения до полей.

Задача: в нескольких тысячах строк сгенерированного ассемблерного кода найти доступ ко всем элементам структуры и поменять смещение на верное.