Ядро Android: получение нескольких ошибок в файле sched/rt.c при переопределении таких функций, как rt_task_of и других,Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Ядро Android: получение нескольких ошибок в файле sched/rt.c при переопределении таких функций, как rt_task_of и других,

Сообщение Anonymous »

Выходные данные сборки с использованием make показаны

Код: Выделить всё

CC      kernel/sched/rt.o
kernel/sched/rt.c:223: warning: "rt_entity_is_task" redefined
223 | #define rt_entity_is_task(rt_se) (1)
|
In file included from kernel/sched/rt.c:6:
kernel/sched/sched.h:1081: note: this is the location of the previous definition
1081 | #define rt_entity_is_task(rt_se) (!(rt_se)->my_q)
|
kernel/sched/rt.c:225:35: error: redefinition of ‘rt_task_of’
225 | static inline struct task_struct *rt_task_of(struct sched_rt_entity *rt_se)
|                                   ^~~~~~~~~~
kernel/sched/sched.h:1083:35: note: previous definition of ‘rt_task_of’ with type ‘struct task_struct *(struct sched_rt_entity *)’
1083 | static inline struct task_struct *rt_task_of(struct sched_rt_entity *rt_se)
|                                   ^~~~~~~~~~
kernel/sched/rt.c: In function ‘update_rt_rq_load_avg’:
kernel/sched/rt.c:473:30: error: ‘struct rt_rq’ has no member named ‘rq’
473 |         struct rq *rq = rt_rq->rq;
|                              ^~
kernel/sched/rt.c: In function ‘update_rt_load_avg’:
kernel/sched/rt.c:279:37: error: ‘struct sched_rt_entity’ has no member named ‘my_q’
279 | #define entity_is_task(se)      (!se->my_q)
|                                     ^~
kernel/sched/rt.c:522:13: note: in expansion of macro ‘entity_is_task’
522 |         if (entity_is_task(rt_se))
|             ^~~~~~~~~~~~~~
kernel/sched/rt.c: At top level:
kernel/sched/rt.c:1869:13: warning: ‘attach_task_rt_rq’ defined but not used [-Wunused-function]
1869 | static void attach_task_rt_rq(struct task_struct *p)
|             ^~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:278: kernel/sched/rt.o] Error 1
make[1]: *** [scripts/Makefile.build:484: kernel/sched] Error 2
make: *** [Makefile:1043: kernel] Error 2

Некоторые изменения, которые я внес, включают:
В файле /Makefile

Код: Выделить всё

     KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common \
-Werror-implicit-function-declaration \
-Wno-format-security \
-Werror\  #Removed this line over here as I was getting too many build failures due to warnings treated as errors
-std=gnu89 $(call cc-option,-fno-PIE)
В скриптах/dtc/dtc-lexer.lex.c_shipped.

Код: Выделить всё

-- YYLTYPE yylloc;
++ extern YYLTYPE yylloc;
Остальные 2 патча в файлах kernel/Makefile и net/netfilter/xt_qtaguid.c основаны на этом руководстве.
Есть ли способ решить проблему? Я не изменял никакие другие файлы, кроме упомянутых. У меня нет опыта разработки ядра, поэтому я не решаюсь менять какой-либо код.

Подробнее здесь: https://stackoverflow.com/questions/793 ... efinitions
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»