Android-Kernel: Mehrere Fehler in der Datei sched/rt.c bei Neudefinitionen von Funktionen wie rt_task_of und anderen beiAndroid

Forum für diejenigen, die für Android programmieren
Guest
 Android-Kernel: Mehrere Fehler in der Datei sched/rt.c bei Neudefinitionen von Funktionen wie rt_task_of und anderen bei

Post by Guest »

Die Ausgabe des Builds mit make zeigt

Code: Select all

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

Einige Änderungen, die ich vorgenommen habe, umfassen:
Im /Makefile

Code: Select all

     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)
In scripts/dtc/dtc-lexer.lex.c_shipped.

Code: Select all

-- YYLTYPE yylloc;
++ extern YYLTYPE yylloc;
Die restlichen 2 Patches in den Dateien kernel/Makefile und net/netfilter/xt_qtaguid.c basieren auf dieser Anleitung.
Gibt es eine Möglichkeit, das Problem zu beheben? Ich habe außer den genannten keine anderen Dateien manipuliert. Ich habe keine Erfahrung in der Kernel-Entwicklung und zögere daher, Code zu ändern.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post