[Skiboot] [PATCH] hdata/test: Build with -Wno-error=unterminated-string-initialization
Reza Arbab
arbab at linux.ibm.com
Thu Jan 30 03:01:04 AEDT 2025
Six bytes of the HDIF header are used as an eye catcher:
struct HDIF_common_hdr {
...
char id[6]; /* eye catcher string */
...
}
We assign all six characters of this string without a terminating nul,
so now that GCC 15 enables -Werror=unterminated-string-initialization by
default, the build breaks:
In file included from hdata/test/../spira.h:7,
from hdata/test/../cpu-common.c:5,
from hdata/test/hdata_to_dt.c:148:
hdata/test/../spira.c:35:32: error: initializer-string for array of 'char' is too long [-Werror=unterminated-string-initialization]
35 | .hdr = HDIF_SIMPLE_HDR("PROCIN", 1, struct proc_init_data),
| ^~~~~~~~
hdata/test/../hdif.h:45:68: note: in definition of macro 'HDIF_ID'
45 | #define HDIF_ID(_id) .d1f0 = CPU_TO_BE16(0xd1f0), .id = _id
| ^~~
hdata/test/../spira.c:35:16: note: in expansion of macro 'HDIF_SIMPLE_HDR'
35 | .hdr = HDIF_SIMPLE_HDR("PROCIN", 1, struct proc_init_data),
| ^~~~~~~~~~~~~~~
hdata/test/../spira.h:797:33: error: initializer-string for array of 'char' is too long [-Werror=unterminated-string-initialization]
797 | #define CPU_CTL_HDIF_SIG "CPUCTL"
| ^~~~~~~~
hdata/test/../hdif.h:45:68: note: in definition of macro 'HDIF_ID'
45 | #define HDIF_ID(_id) .d1f0 = CPU_TO_BE16(0xd1f0), .id = _id
| ^~~
hdata/test/../spira.c:73:16: note: in expansion of macro 'HDIF_SIMPLE_HDR'
73 | .hdr = HDIF_SIMPLE_HDR(CPU_CTL_HDIF_SIG, 2, struct cpu_ctl_init_data),
| ^~~~~~~~~~~~~~~
hdata/test/../spira.c:73:32: note: in expansion of macro 'CPU_CTL_HDIF_SIG'
73 | .hdr = HDIF_SIMPLE_HDR(CPU_CTL_HDIF_SIG, 2, struct cpu_ctl_init_data),
| ^~~~~~~~~~~~~~~~
hdata/test/../spira.h:30:33: error: initializer-string for array of 'char' is too long [-Werror=unterminated-string-initialization]
30 | #define SPIRAH_HDIF_SIG "SPIRAH"
| ^~~~~~~~
hdata/test/../hdif.h:45:68: note: in definition of macro 'HDIF_ID'
45 | #define HDIF_ID(_id) .d1f0 = CPU_TO_BE16(0xd1f0), .id = _id
| ^~~
hdata/test/../spira.c:126:16: note: in expansion of macro 'HDIF_SIMPLE_HDR'
126 | .hdr = HDIF_SIMPLE_HDR(SPIRAH_HDIF_SIG, SPIRAH_VERSION, struct spirah),
| ^~~~~~~~~~~~~~~
hdata/test/../spira.c:126:32: note: in expansion of macro 'SPIRAH_HDIF_SIG'
126 | .hdr = HDIF_SIMPLE_HDR(SPIRAH_HDIF_SIG, SPIRAH_VERSION, struct spirah),
| ^~~~~~~~~~~~~~~
To ignore the spurious error, build the single testcase that trips this
with -Wno-error=unterminated-string-initialization.
Signed-off-by: Reza Arbab <arbab at linux.ibm.com>
---
hdata/test/Makefile.check | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hdata/test/Makefile.check b/hdata/test/Makefile.check
index 81d55614a5b7..5950bf95f399 100644
--- a/hdata/test/Makefile.check
+++ b/hdata/test/Makefile.check
@@ -13,6 +13,8 @@ coverage: hdata-coverage
LCOV_EXCLUDE += $(HDATA_TEST:%=%.c) hdata/test/stubs.c
LCOV_EXCLUDE += /usr/include/valgrind/memcheck.h
+hdata/test/hdata_to_dt hdata/test/hdata_to_dt-gcov: HOSTCFLAGS += $(call try-cflag,$(HOSTCC),-Wno-error=unterminated-string-initialization)
+
hdata/test/hdata_to_dt-check: hdata/test/hdata_to_dt-check-q
hdata/test/hdata_to_dt-check: hdata/test/hdata_to_dt-check-dt
--
2.43.5
More information about the Skiboot
mailing list