LINUX.ORG.RU

Если не ошибаюсь, надо сказать компилятору gcc, чтобы он не считал варнинги ошибками. Вроде правкой makefile решается. Точно с ходу не скажу.

te111011010 ()

как лечить?

В ядре Linux всё постоянно меняется, и функции могут переезжать из одних заголовков в другие. Функция signal_pending() переехала из «linux/sched.h» в «linux/sched/signal.h». Нужно добавить #include <linux/sched/signal.h> в те файлы, где эта функция используется.

Или собирать со старыми ядрами. Хотя бы с тем ядром, для которого инструкция писалась.

i-rinat ★★★★★ ()
Ответ на: комментарий от te111011010

Если не ошибаюсь, надо сказать компилятору gcc, чтобы он не считал варнинги ошибками.

Ты ошибаешься.

Точно с ходу не скажу.

Пожалуйста, не давай откровенно неправильных советов. Хотя неявная декларация функций и считается предупреждением, это почти всегда ошибка. Если вдруг так случится, что неявно объявленная функция действительно реализована в другой единице трансляции (тут это не так, потому что функция реализована целиком в хедере), то есть немалый шанс словить странный баг, если вдруг параметры разойдутся. Такие баги очень неприятно отлаживать, поэтому и используют -Werror=implicit-function-declaration. Убирать этот параметр — глупо.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Функция signal_pending() переехала из «linux/sched.h» в «linux/sched/signal.h»

Зачем они так делают? Есть какая-то техническая необходимость?

te111011010 ()
Ответ на: комментарий от te111011010

Зачем они так делают?

Это уменьшает число «Ugh», «Argh!» при кодировании, снижает стресс, и увеличивает производительность на 10-20%.

i-rinat ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.