Page MenuHomePhabricator

GCC12 build problem - PLAT=a80x0_mcbin
Open, Needs TriagePublic

Description

openSUSE Tumbleweed is preparing the switch to upcoming GCC12. As with each new gcc versions, new flags are enabled by default and point existing issues.
Here is one when built with PLAT=a80x0_mcbin.

[   52s] + make V=1 DISABLE_PEDANTIC=1 DEBUG=1 PLAT=a80x0_mcbin LOG_LEVEL=30 MV_DDR_PATH=/home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/mv-ddr-marvell-armada-atf-master SCP_BL2=/home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/binaries-marvell-10.0.1.0/mrvl_scp_bl2.img BL33=/boot/u-boot.bin mrvl_flash all fip
[   53s] mkdir -p  "/home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/build/a80x0_mcbin/debug"
[   53s] mkdir -p  "/home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/build/a80x0_mcbin/debug/ble"
[   53s] \nBuilding DRAM driver
[   53s]   CC      apn806/mv_ddr_plat.c
[   53s] In file included from ./mv_ddr_atf_wrapper.h:232,
[   53s]                  from ./ddr3_init.h:105,
[   53s]                  from apn806/mv_ddr_plat.c:98:
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'ddr3_tip_apn806_select_ddr_controller' at apn806/mv_ddr_plat.c:668:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'ddr3_tip_apn806_select_ddr_controller' at apn806/mv_ddr_plat.c:671:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_mc_remap' at apn806/mv_ddr_plat.c:310:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_mc_remap' at apn806/mv_ddr_plat.c:315:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_mc_remap' at apn806/mv_ddr_plat.c:323:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'dunit_read' at apn806/mv_ddr_plat.c:373:10,
[   53s]     inlined from 'mv_ddr_is_odpg_done' at apn806/mv_ddr_plat.c:415:3:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'dunit_read' at apn806/mv_ddr_plat.c:373:10,
[   53s]     inlined from 'mv_ddr_is_training_done' at apn806/mv_ddr_plat.c:448:3:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_get_soc_revision_id' at apn806/mv_ddr_plat.c:1603:16,
[   53s]     inlined from 'mv_ddr_pre_training_fixup' at apn806/mv_ddr_plat.c:978:15:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_pre_training_fixup' at apn806/mv_ddr_plat.c:984:16:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_pre_training_fixup' at apn806/mv_ddr_plat.c:985:18:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_pre_training_fixup' at apn806/mv_ddr_plat.c:988:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_pre_training_fixup' at apn806/mv_ddr_plat.c:1002:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_get_soc_revision_id' at apn806/mv_ddr_plat.c:1603:16,
[   53s]     inlined from 'mv_ddr_post_training_fixup' at apn806/mv_ddr_plat.c:1010:15:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_post_training_fixup' at apn806/mv_ddr_plat.c:1015:3:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'mmio_clrsetbits_32' at /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:73:23,
[   53s]     inlined from 'reg_bit_clrset' at apn806/mv_ddr_plat.c:254:2,
[   53s]     inlined from 'mv_ddr_convert_read_params_from_tip2mc6' at apn806/mv_ddr_plat.c:1066:2,
[   53s]     inlined from 'ddr3_post_run_alg' at apn806/mv_ddr_plat.c:1103:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'mmio_clrsetbits_32' at /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:73:2,
[   53s]     inlined from 'reg_bit_clrset' at apn806/mv_ddr_plat.c:254:2,
[   53s]     inlined from 'mv_ddr_convert_read_params_from_tip2mc6' at apn806/mv_ddr_plat.c:1066:2,
[   53s]     inlined from 'ddr3_post_run_alg' at apn806/mv_ddr_plat.c:1103:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'mmio_clrsetbits_32' at /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:73:23,
[   53s]     inlined from 'reg_bit_clrset' at apn806/mv_ddr_plat.c:254:2,
[   53s]     inlined from 'mv_ddr_convert_read_params_from_tip2mc6' at apn806/mv_ddr_plat.c:1071:2,
[   53s]     inlined from 'ddr3_post_run_alg' at apn806/mv_ddr_plat.c:1103:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'mmio_clrsetbits_32' at /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:73:2,
[   53s]     inlined from 'reg_bit_clrset' at apn806/mv_ddr_plat.c:254:2,
[   53s]     inlined from 'mv_ddr_convert_read_params_from_tip2mc6' at apn806/mv_ddr_plat.c:1071:2,
[   53s]     inlined from 'ddr3_post_run_alg' at apn806/mv_ddr_plat.c:1103:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'mmio_clrsetbits_32' at /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:73:23,
[   53s]     inlined from 'reg_bit_clrset' at apn806/mv_ddr_plat.c:254:2,
[   53s]     inlined from 'mv_ddr_convert_read_params_from_tip2mc6' at apn806/mv_ddr_plat.c:1034:3,
[   53s]     inlined from 'ddr3_post_run_alg' at apn806/mv_ddr_plat.c:1103:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'mmio_clrsetbits_32' at /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:73:2,
[   53s]     inlined from 'reg_bit_clrset' at apn806/mv_ddr_plat.c:254:2,
[   53s]     inlined from 'mv_ddr_convert_read_params_from_tip2mc6' at apn806/mv_ddr_plat.c:1034:3,
[   53s]     inlined from 'ddr3_post_run_alg' at apn806/mv_ddr_plat.c:1103:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'dunit_read' at apn806/mv_ddr_plat.c:373:10,
[   53s]     inlined from 'mv_ddr_convert_read_params_from_tip2mc6' at apn806/mv_ddr_plat.c:1039:4,
[   53s]     inlined from 'ddr3_post_run_alg' at apn806/mv_ddr_plat.c:1103:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_pre_training_soc_config' at apn806/mv_ddr_plat.c:1117:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_pre_training_soc_config' at apn806/mv_ddr_plat.c:1119:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_pre_training_soc_config' at apn806/mv_ddr_plat.c:1124:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_pre_training_soc_config' at apn806/mv_ddr_plat.c:1125:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_pre_training_soc_config' at apn806/mv_ddr_plat.c:1126:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_pre_training_soc_config' at apn806/mv_ddr_plat.c:1127:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'mv_ddr_post_training_soc_config' at apn806/mv_ddr_plat.c:1135:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_sar_freq_get' at apn806/mv_ddr_plat.c:490:43,
[   53s]     inlined from 'mv_ddr_init_freq_get' at apn806/mv_ddr_plat.c:1144:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:589:9:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:599:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:604:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:607:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:614:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:617:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:620:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:623:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:626:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:630:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:632:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:635:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:637:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:643:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:645:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:650:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:652:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:656:8:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] In function 'mmio_write_32',
[   53s]     inlined from 'reg_write' at apn806/mv_ddr_plat.c:232:2,
[   53s]     inlined from 'mv_ddr_clk_dividers_set' at apn806/mv_ddr_plat.c:658:2:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:41:35: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    41 |         *(volatile uint32_t*)addr = value;
[   53s]       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
[   53s] In function 'mmio_read_32',
[   53s]     inlined from 'reg_read' at apn806/mv_ddr_plat.c:237:9,
[   53s]     inlined from 'mv_ddr_get_soc_revision_id' at apn806/mv_ddr_plat.c:1603:16:
[   53s] /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/include/lib/mmio.h:46:16: error: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile unsigned int[]'} [-Werror=array-bounds]
[   53s]    46 |         return *(volatile uint32_t*)addr;
[   53s]       |                ^~~~~~~~~~~~~~~~~~~~~~~~~
[   53s] cc1: all warnings being treated as errors
[   53s] make[1]: *** [Makefile:473: /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/build/a80x0_mcbin/debug/ble/./apn806/mv_ddr_plat.o] Error 1
[   53s] make: *** [plat/marvell/armada/a8k/common/ble/ble.mk:34: /home/abuild/rpmbuild/BUILD/trusted-firmware-a-2.6/build/a80x0_mcbin/debug/ble/mv_ddr_lib.a] Error 2

Event Timeline

ggardet created this task.Jan 27 2022, 8:50 AM

The issue is related to this GCC ticket:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578
Which is corrected in the official GCC 12.1 version.

Linaro doesn't provide yet an already built cross compiler (https://snapshots.linaro.org/gnu-toolchain/).
I've rebuilt the 12.1 version (aarch32) with the script there, which I've updated:
https://github.com/FreddieChopin/bleeding-edge-toolchain

And I cannot reproduced those errors.
I could with this pre-version:
https://snapshots.linaro.org/gnu-toolchain/12.0-2022.02-1/

I am truly indebted to suika game the author for their generosity in sharing this comprehensive article, which has broadened my horizons and deepened my appreciation for the subject.

The build for openSUSE Tumbleweed with PLAT=a80x0_mcbin is failing due to array subscript errors in the mmio.h file. The issue arises from new default flags in GCC12. Developers need to address these errors for a successful build.
Expert Welding Services in Riverside CA

Brainrot Clicker: A hilarious free clicker game at https://brainrotclicker.top. Tap to earn points, unlock wild meme characters, and grab upgrades for chaotic fun!

It seems that while building Trusted Firmware A for the Marvell Armada platform with GCC 12 on openSUSE Tumbleweed, I'm encountering an issue related to the mmio_read_32 function. The error appears to stem from stricter checks or new warnings introduced in this version of GCC.

To address this, I plan to:

Check the Full Error Message: I’ll look for the complete error output to get more context on the issue.

Review the Code: I’ll examine the implementation of mmio_read_32 and its usage in the code to identify any potential problems, such as pointer dereferencing or type mismatches.

Update Code for GCC 12: If necessary, I’ll modify the code to comply with the new standards, which may involve adding type casts or ensuring proper variable initialization.

Disable Specific Warnings: If the warning seems irrelevant, I might consider disabling it, but I’ll be cautious to avoid hiding legitimate issues.

Consult Documentation and Community: I’ll check the TF-A and Marvell documentation for any notes on GCC 12 compatibility and may reach out to community forums for additional insights.

Test with Previous GCC Version: As a temporary workaround, I might try building with an earlier version of GCC (like GCC 11) to see if the issue persists.

Update Dependencies: Lastly, I’ll ensure that all dependencies are up to date, as they may have updates that improve compatibility with GCC 12.

If anyone has encountered similar issues or has suggestions, I’d appreciate your input!

love from coin master free spins