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