ophub / amlogic-s9xxx-armbian

Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
5.68k stars 1.82k forks source link

編譯unifreq/linux-5.10.y-rk35xx 的 Kernel 打開 Tracers 設定後編譯異常 #2060

Closed chouex closed 6 months ago

chouex commented 6 months ago

Armbian Version | 系统版本

Describe the bug | 问题描述

menuconfig在https://github.com/ophub/kernel/blob/main/kernel-config/release/rk35xx/config-5.10 的基礎上只打開Tracers後編譯異常, 編譯成功但Modules為空

make ARCH=arm64 CROSS_COMPILE=/usr/local/toolchain/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- menuconfig
Linux Kernel Configuration
└─>Kernel hacking
└─>Tracers

失敗Log: https://github.com/chouex/amlogic-s9xxx-armbian/actions/runs/7689976291/job/20953172903#step:4:8976

  CC [M]  drivers/auxdisplay/img-ascii-lcd.o
  CC [M]  drivers/auxdisplay/hd44780.o
  CC [M]  drivers/auxdisplay/ht16k33.o
make[1]: *** [scripts/Makefile.build:516: drivers/net] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1938: drivers] Error 2
[ STEPS ] Install modules...
sed: can't read modules.order: No such file or directory
make: *** [Makefile:1556: _modinst_] Error 2
[ STEPS ] Install headers...
find: ‘Module.symvers’: No such file or directory
[ SUCCESS ] The headers is installed successfully.
[ STEPS ] Create chroot...
[ INFO ] Armbian PLATFORM: [ rockchip ]
cp: cannot stat '/home/runner/work/_actions/chouex/amlogic-s9xxx-armbian/rk35xx/compile-kernel/kernel/linux-5.10.y-rk35xx-main/System.map': No such file or directory
cp: cannot stat '/home/runner/work/_actions/chouex/amlogic-s9xxx-armbian/rk35xx/compile-kernel/kernel/linux-5.10.y-rk35xx-main/arch/arm64/boot/Image': No such file or directory
cp: cannot stat '/home/runner/work/_actions/chouex/amlogic-s9xxx-armbian/rk35xx/compile-kernel/output/chroot/root/boot/vmlinuz-5.10.160-chou': No such file or directory
[ INFO ] Enter the chroot armbian system...
[ INFO ] Current system: [ aarch64 ]
[ INFO ] Current path: [ / ]

成功Log(未修改config): https://github.com/chouex/amlogic-s9xxx-armbian/actions/runs/7690418633

unifreq/linux-5.15.y unifreq/linux-6.1.y則沒有問題

rockchip 官方kernel, 默認打開了tracing, make 編譯成功 https://github.com/rockchip-linux/kernel/tree/develop-5.10 image

chouex commented 6 months ago

發現跟rockchip官方Tracing 里面一樣就沒問題, 只開Tracing才不行, 我先完整再編譯一次試試 原來的錯用了@main的config-5.10所以才沒問題, 用rk35xx的config-5.10的改Tracing還是不行 在kernel目錄make ARCH=arm64 CROSS_COMPILE=/usr/local/toolchain/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- CC=/usr/local/toolchain/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc LD=/usr/local/toolchain/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-ld.bfd LOCALVERSION=-yourname modules 出現的錯誤比較具體

``` UPD include/config/kernel.release UPD include/generated/utsrelease.h CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh CC [M] drivers/net/wireless/intel/iwlwifi/iwl-devtrace.o In file included from ./include/trace/define_trace.h:102, from drivers/net/wireless/intel/iwlwifi/iwl-devtrace-msg.h:71, from drivers/net/wireless/intel/iwlwifi/iwl-devtrace.h:91, from drivers/net/wireless/intel/iwlwifi/iwl-devtrace.c:15: drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:21:17: error: expected specifier-qualifier-list before ‘__vstring’ 21 | __vstring(msg, vaf->fmt, vaf->va) | ^~~~~~~~~ ./include/trace/trace_events.h:115:17: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 115 | tstruct \ | ^~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:20:9: note: in expansion of macro ‘TP_STRUCT__entry’ 20 | TP_STRUCT__entry( | ^~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:56:17: error: expected specifier-qualifier-list before ‘__vstring’ 56 | __vstring(msg, vaf->fmt, vaf->va) | ^~~~~~~~~ ./include/trace/trace_events.h:115:17: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 115 | tstruct \ | ^~~~~~~ ./include/trace/trace_events.h:78:30: note: in expansion of macro ‘PARAMS’ 78 | PARAMS(tstruct), \ | ^~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:49:1: note: in expansion of macro ‘TRACE_EVENT’ 49 | TRACE_EVENT(iwlwifi_dbg, | ^~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:53:9: note: in expansion of macro ‘TP_STRUCT__entry’ 53 | TP_STRUCT__entry( | ^~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:21:17: error: expected specifier-qualifier-list before ‘__vstring’ 21 | __vstring(msg, vaf->fmt, vaf->va) | ^~~~~~~~~ ./include/trace/trace_events.h:206:17: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 206 | tstruct; \ | ^~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:20:9: note: in expansion of macro ‘TP_STRUCT__entry’ 20 | TP_STRUCT__entry( | ^~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:56:17: error: expected specifier-qualifier-list before ‘__vstring’ 56 | __vstring(msg, vaf->fmt, vaf->va) | ^~~~~~~~~ ./include/trace/trace_events.h:206:17: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 206 | tstruct; \ | ^~~~~~~ ./include/trace/trace_events.h:78:30: note: in expansion of macro ‘PARAMS’ 78 | PARAMS(tstruct), \ | ^~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:49:1: note: in expansion of macro ‘TRACE_EVENT’ 49 | TRACE_EVENT(iwlwifi_dbg, | ^~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:53:9: note: in expansion of macro ‘TP_STRUCT__entry’ 53 | TP_STRUCT__entry( | ^~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h: In function ‘trace_raw_output_iwlwifi_msg_event’: ./include/trace/trace_events.h:270:44: error: ‘struct trace_event_raw_iwlwifi_msg_event’ has no member named ‘__data_loc_msg’ 270 | ((void *)__entry + (__entry->__data_loc_##field & 0xffff)) | ^~ ./include/trace/trace_events.h:367:29: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 367 | trace_seq_printf(s, print); \ | ^~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:26:9: note: in expansion of macro ‘TP_printk’ 26 | TP_printk("%s", __get_str(msg)) | ^~~~~~~~~ ./include/trace/trace_events.h:277:35: note: in expansion of macro ‘__get_dynamic_array’ 277 | #define __get_str(field) ((char *)__get_dynamic_array(field)) | ^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:26:25: note: in expansion of macro ‘__get_str’ 26 | TP_printk("%s", __get_str(msg)) | ^~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h: In function ‘trace_raw_output_iwlwifi_dbg’: ./include/trace/trace_events.h:270:44: error: ‘struct trace_event_raw_iwlwifi_dbg’ has no member named ‘__data_loc_msg’ 270 | ((void *)__entry + (__entry->__data_loc_##field & 0xffff)) | ^~ ./include/trace/trace_events.h:367:29: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 367 | trace_seq_printf(s, print); \ | ^~~~~ ./include/trace/trace_events.h:80:30: note: in expansion of macro ‘PARAMS’ 80 | PARAMS(print)); \ | ^~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:49:1: note: in expansion of macro ‘TRACE_EVENT’ 49 | TRACE_EVENT(iwlwifi_dbg, | ^~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:63:9: note: in expansion of macro ‘TP_printk’ 63 | TP_printk("%s", __get_str(msg)) | ^~~~~~~~~ ./include/trace/trace_events.h:277:35: note: in expansion of macro ‘__get_dynamic_array’ 277 | #define __get_str(field) ((char *)__get_dynamic_array(field)) | ^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:63:25: note: in expansion of macro ‘__get_str’ 63 | TP_printk("%s", __get_str(msg)) | ^~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h: At top level: drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:21:17: error: implicit declaration of function ‘__vstring’ [-Werror=implicit-function-declaration] 21 | __vstring(msg, vaf->fmt, vaf->va) | ^~~~~~~~~ ./include/trace/trace_events.h:444:9: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 444 | tstruct \ | ^~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:20:9: note: in expansion of macro ‘TP_STRUCT__entry’ 20 | TP_STRUCT__entry( | ^~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:21:27: error: ‘msg’ undeclared here (not in a function); did you mean ‘ndmsg’? 21 | __vstring(msg, vaf->fmt, vaf->va) | ^~~ ./include/trace/trace_events.h:444:9: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 444 | tstruct \ | ^~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:20:9: note: in expansion of macro ‘TP_STRUCT__entry’ 20 | TP_STRUCT__entry( | ^~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:21:32: error: ‘vaf’ undeclared here (not in a function) 21 | __vstring(msg, vaf->fmt, vaf->va) | ^~~ ./include/trace/trace_events.h:444:9: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 444 | tstruct \ | ^~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:20:9: note: in expansion of macro ‘TP_STRUCT__entry’ 20 | TP_STRUCT__entry( | ^~~~~~~~~~~~~~~~ ./include/trace/trace_events.h:445:9: error: expected ‘}’ before ‘{’ token 445 | {} }; | ^ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:17:1: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 17 | DECLARE_EVENT_CLASS(iwlwifi_msg_event, | ^~~~~~~~~~~~~~~~~~~ ./include/trace/trace_events.h:443:64: note: to match this ‘{’ 443 | static struct trace_event_fields trace_event_fields_##call[] = { \ | ^ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:17:1: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 17 | DECLARE_EVENT_CLASS(iwlwifi_msg_event, | ^~~~~~~~~~~~~~~~~~~ ./include/trace/trace_events.h:445:9: error: expected ‘}’ before ‘{’ token 445 | {} }; | ^ ./include/trace/trace_events.h:75:9: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 75 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:49:1: note: in expansion of macro ‘TRACE_EVENT’ 49 | TRACE_EVENT(iwlwifi_dbg, | ^~~~~~~~~~~ ./include/trace/trace_events.h:443:64: note: to match this ‘{’ 443 | static struct trace_event_fields trace_event_fields_##call[] = { \ | ^ ./include/trace/trace_events.h:75:9: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 75 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:49:1: note: in expansion of macro ‘TRACE_EVENT’ 49 | TRACE_EVENT(iwlwifi_dbg, | ^~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h: In function ‘trace_event_get_offsets_iwlwifi_dbg’: ././include/linux/compiler_types.h:135:41: error: ‘struct trace_event_raw_iwlwifi_dbg’ has no member named ‘__data’ 135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ ./include/trace/trace_events.h:518:9: note: in definition of macro ‘DECLARE_EVENT_CLASS’ 518 | tstruct; \ | ^~~~~~~ ./include/trace/trace_events.h:78:30: note: in expansion of macro ‘PARAMS’ 78 | PARAMS(tstruct), \ | ^~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:49:1: note: in expansion of macro ‘TRACE_EVENT’ 49 | TRACE_EVENT(iwlwifi_dbg, | ^~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:53:9: note: in expansion of macro ‘TP_STRUCT__entry’ 53 | TP_STRUCT__entry( | ^~~~~~~~~~~~~~~~ ./include/linux/stddef.h:17:33: note: in expansion of macro ‘__compiler_offsetof’ 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ ./include/trace/trace_events.h:478:32: note: in expansion of macro ‘offsetof’ 478 | offsetof(typeof(*entry), __data); \ | ^~~~~~~~ ./include/trace/trace_events.h:483:29: note: in expansion of macro ‘__dynamic_array’ 483 | #define __string(item, src) __dynamic_array(char, item, \ | ^~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:55:17: note: in expansion of macro ‘__string’ 55 | __string(function, function) | ^~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h: In function ‘trace_event_raw_event_iwlwifi_msg_event’: ./include/trace/trace_events.h:697:9: error: expected ‘;’ before ‘{’ token 697 | { assign; } \ | ^ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:17:1: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 17 | DECLARE_EVENT_CLASS(iwlwifi_msg_event, | ^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h: In function ‘trace_event_raw_event_iwlwifi_dbg’: ./include/trace/trace_events.h:697:9: error: expected ‘;’ before ‘{’ token 697 | { assign; } \ | ^ ./include/trace/trace_events.h:75:9: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 75 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:49:1: note: in expansion of macro ‘TRACE_EVENT’ 49 | TRACE_EVENT(iwlwifi_dbg, | ^~~~~~~~~~~ In file included from ./include/trace/define_trace.h:103: drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h: In function ‘perf_trace_iwlwifi_msg_event’: ./include/trace/perf.h:66:9: error: expected ‘;’ before ‘{’ token 66 | { assign; } \ | ^ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:17:1: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 17 | DECLARE_EVENT_CLASS(iwlwifi_msg_event, | ^~~~~~~~~~~~~~~~~~~ ./include/trace/perf.h:39:13: warning: unused variable ‘__count’ [-Wunused-variable] 39 | u64 __count = 1; \ | ^~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:17:1: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 17 | DECLARE_EVENT_CLASS(iwlwifi_msg_event, | ^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h: In function ‘perf_trace_iwlwifi_dbg’: ./include/trace/perf.h:66:9: error: expected ‘;’ before ‘{’ token 66 | { assign; } \ | ^ ./include/trace/trace_events.h:75:9: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 75 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:49:1: note: in expansion of macro ‘TRACE_EVENT’ 49 | TRACE_EVENT(iwlwifi_dbg, | ^~~~~~~~~~~ ./include/trace/perf.h:39:13: warning: unused variable ‘__count’ [-Wunused-variable] 39 | u64 __count = 1; \ | ^~~~~~~ ./include/trace/trace_events.h:75:9: note: in expansion of macro ‘DECLARE_EVENT_CLASS’ 75 | DECLARE_EVENT_CLASS(name, \ | ^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/./iwl-devtrace-msg.h:49:1: note: in expansion of macro ‘TRACE_EVENT’ 49 | TRACE_EVENT(iwlwifi_dbg, | ^~~~~~~~~~~ cc1: some warnings being treated as errors make[5]: *** [scripts/Makefile.build:273: drivers/net/wireless/intel/iwlwifi/iwl-devtrace.o] Error 1 make[4]: *** [scripts/Makefile.build:516: drivers/net/wireless/intel/iwlwifi] Error 2 make[3]: *** [scripts/Makefile.build:516: drivers/net/wireless/intel] Error 2 make[2]: *** [scripts/Makefile.build:516: drivers/net/wireless] Error 2 make[1]: *** [scripts/Makefile.build:516: drivers/net] Error 2 make: *** [Makefile:1938: drivers] Error 2 ```

update: 禁用CONFIG_IWLWIFI_DEVICE_TRACING後沒問題了