I am trying to add board support for the Rock 5B to buildroot (https://buildroot.org/). Recently buildroot changed its default gcc version from 11.x to 12.x. In gcc 12 some warnings are now treated as errors. This causes the build of the Radxa custom Linux Kernel to fail, hence the whole build of the linux image for the Rock 5B. I had a look at the error messages and identified 2 patches in the mainline Linux kernel, which were not yet applied to this Radxa custom kernel:
Could you apply those patches to the Radxa custom Linux kernel?
In addition there are also some errors, which seem to affect parts of the Radxa custom kernel, which are not part of the mainline Linux kernel. Hence, I there exists no patch for those yet. These are the reported errors, when compiling the commit 52f51a2b5ba178f331af62260d2da86d7472c14b with gcc 12:
========================
drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android.c: In function 'wl_handle_private_cmd':
drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android.c:12068:62: warning: the comparison will always evaluate as 'true' for the pointer operand in 'rev_info_delim + 1' must not be NULL [-Waddress]
error, forbidden warning:wl_android.c:12068
12068 | strlen(CMD_COUNTRY_DELIMITER)) == 0) &&
| ^~
CC [M] drivers/net/tun.o
CC drivers/firmware/efi/libstub/skip_spaces.o
make[8]: [scripts/Makefile.build:273: drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android.o] Error 1
make[8]: Deleting file 'drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android.o'
make[8]: *** Waiting for unfinished jobs....
========================
drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.c: In function 'rtw_reattach_vht_ies':
drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.c:1419:27: warning: the comparison will always evaluate as 'true' for the address of 'IEs' will never be NULL [-Waddress]
error, forbidden warning:rtw_vht.c:1419
1419 | if (pnetwork->IEs != NULL) {
| ^~
In file included from drivers/net/wireless/rockchip_wlan/rtl8852be/include/drv_types.h:27,
from drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.c:17:
drivers/net/wireless/rockchip_wlan/rtl8852be/include/wlan_bssdef.h:249:13: note: 'IEs' declared here
249 | u8 IEs[MAX_IE_SZ]; / (timestamp, beacon interval, and capability information) /
| ^~~
make[7]: [scripts/Makefile.build:274: drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.o] Error 1
make[7]: Deleting file 'drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.o'
make[7]: *** Waiting for unfinished jobs....
========================
drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.c: In function 'rtw_mfree_stainfo':
drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.c:389:25: warning: the comparison will always evaluate as 'true' for the address of 'lock' will never be NULL [-Waddress]
error, forbidden warning:rtw_sta_mgt.c:389
389 | if (&psta->lock != NULL)
| ^~
In file included from drivers/net/wireless/rockchip_wlan/rtl8852be/include/drv_types.h:110,
from drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.c:17:
drivers/net/wireless/rockchip_wlan/rtl8852be/include/sta_info.h:273:17: note: 'lock' declared here
273 | _lock lock;
| ^~~~
make[7]: [scripts/Makefile.build:273: drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.o] Error 1
make[7]: Deleting file 'drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.o'
========================
drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.c: In function 'rtw_reattach_vht_ies':
drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.c:1423:27: warning: the comparison will always evaluate as 'true' for the address of 'IEs' will never be NULL [-Waddress]
error, forbidden warning:rtw_vht.c:1423
1423 | if (pnetwork->IEs != NULL) {
| ^~
In file included from drivers/net/wireless/rockchip_wlan/rtl8852bu/include/drv_types.h:27,
from drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.c:17:
drivers/net/wireless/rockchip_wlan/rtl8852bu/include/wlan_bssdef.h:249:13: note: 'IEs' declared here
249 | u8 IEs[MAX_IE_SZ]; / (timestamp, beacon interval, and capability information) /
| ^~~
make[7]: [scripts/Makefile.build:273: drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.o] Error 1
make[7]: Deleting file 'drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.o'
make[7]: *** Waiting for unfinished jobs....
========================
drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.c: In function 'rtw_mfree_stainfo':
drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.c:389:25: warning: the comparison will always evaluate as 'true' for the address of 'lock' will never be NULL [-Waddress]
error, forbidden warning:rtw_sta_mgt.c:389
389 | if (&psta->lock != NULL)
| ^~
In file included from drivers/net/wireless/rockchip_wlan/rtl8852bu/include/drv_types.h:110,
from drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.c:17:
drivers/net/wireless/rockchip_wlan/rtl8852bu/include/sta_info.h:273:17: note: 'lock' declared here
273 | _lock lock;
| ^~~~
make[7]: [scripts/Makefile.build:273: drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.o] Error 1
make[7]: Deleting file 'drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.o'
========================
Could you have a look into these errors and fix them? That would be a great help to add board support for the Rock 5B to buildroot!
Hello,
I am trying to add board support for the Rock 5B to buildroot (https://buildroot.org/). Recently buildroot changed its default gcc version from 11.x to 12.x. In gcc 12 some warnings are now treated as errors. This causes the build of the Radxa custom Linux Kernel to fail, hence the whole build of the linux image for the Rock 5B. I had a look at the error messages and identified 2 patches in the mainline Linux kernel, which were not yet applied to this Radxa custom kernel:
https://github.com/gregkh/linux/commit/08ad7a770efacfecf903143f8de88d1e351a1f2d https://github.com/gregkh/linux/commit/69848f9488bc1088bcd9a73987dff8d2cb47a060
Could you apply those patches to the Radxa custom Linux kernel?
In addition there are also some errors, which seem to affect parts of the Radxa custom kernel, which are not part of the mainline Linux kernel. Hence, I there exists no patch for those yet. These are the reported errors, when compiling the commit 52f51a2b5ba178f331af62260d2da86d7472c14b with gcc 12:
========================
drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android.c: In function 'wl_handle_private_cmd': drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android.c:12068:62: warning: the comparison will always evaluate as 'true' for the pointer operand in 'rev_info_delim + 1' must not be NULL [-Waddress] error, forbidden warning:wl_android.c:12068 12068 | strlen(CMD_COUNTRY_DELIMITER)) == 0) && | ^~ CC [M] drivers/net/tun.o CC drivers/firmware/efi/libstub/skip_spaces.o make[8]: [scripts/Makefile.build:273: drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android.o] Error 1 make[8]: Deleting file 'drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android.o' make[8]: *** Waiting for unfinished jobs....
========================
drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.c: In function 'rtw_reattach_vht_ies': drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.c:1419:27: warning: the comparison will always evaluate as 'true' for the address of 'IEs' will never be NULL [-Waddress] error, forbidden warning:rtw_vht.c:1419 1419 | if (pnetwork->IEs != NULL) { | ^~ In file included from drivers/net/wireless/rockchip_wlan/rtl8852be/include/drv_types.h:27, from drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.c:17: drivers/net/wireless/rockchip_wlan/rtl8852be/include/wlan_bssdef.h:249:13: note: 'IEs' declared here 249 | u8 IEs[MAX_IE_SZ]; / (timestamp, beacon interval, and capability information) / | ^~~ make[7]: [scripts/Makefile.build:274: drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.o] Error 1 make[7]: Deleting file 'drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_vht.o' make[7]: *** Waiting for unfinished jobs....
========================
drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.c: In function 'rtw_mfree_stainfo': drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.c:389:25: warning: the comparison will always evaluate as 'true' for the address of 'lock' will never be NULL [-Waddress] error, forbidden warning:rtw_sta_mgt.c:389 389 | if (&psta->lock != NULL) | ^~ In file included from drivers/net/wireless/rockchip_wlan/rtl8852be/include/drv_types.h:110, from drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.c:17: drivers/net/wireless/rockchip_wlan/rtl8852be/include/sta_info.h:273:17: note: 'lock' declared here 273 | _lock lock; | ^~~~ make[7]: [scripts/Makefile.build:273: drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.o] Error 1 make[7]: Deleting file 'drivers/net/wireless/rockchip_wlan/rtl8852be/core/rtw_sta_mgt.o'
========================
drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.c: In function 'rtw_reattach_vht_ies': drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.c:1423:27: warning: the comparison will always evaluate as 'true' for the address of 'IEs' will never be NULL [-Waddress] error, forbidden warning:rtw_vht.c:1423 1423 | if (pnetwork->IEs != NULL) { | ^~ In file included from drivers/net/wireless/rockchip_wlan/rtl8852bu/include/drv_types.h:27, from drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.c:17: drivers/net/wireless/rockchip_wlan/rtl8852bu/include/wlan_bssdef.h:249:13: note: 'IEs' declared here 249 | u8 IEs[MAX_IE_SZ]; / (timestamp, beacon interval, and capability information) / | ^~~ make[7]: [scripts/Makefile.build:273: drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.o] Error 1 make[7]: Deleting file 'drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_vht.o' make[7]: *** Waiting for unfinished jobs....
========================
drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.c: In function 'rtw_mfree_stainfo': drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.c:389:25: warning: the comparison will always evaluate as 'true' for the address of 'lock' will never be NULL [-Waddress] error, forbidden warning:rtw_sta_mgt.c:389 389 | if (&psta->lock != NULL) | ^~ In file included from drivers/net/wireless/rockchip_wlan/rtl8852bu/include/drv_types.h:110, from drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.c:17: drivers/net/wireless/rockchip_wlan/rtl8852bu/include/sta_info.h:273:17: note: 'lock' declared here 273 | _lock lock; | ^~~~ make[7]: [scripts/Makefile.build:273: drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.o] Error 1 make[7]: Deleting file 'drivers/net/wireless/rockchip_wlan/rtl8852bu/core/rtw_sta_mgt.o'
========================
Could you have a look into these errors and fix them? That would be a great help to add board support for the Rock 5B to buildroot!
Best regards, Kilian