[Skiboot] [PATCH] Makefile: Avoid errors with GCC 11

Joel Stanley joel at jms.id.au
Thu Jul 29 17:54:38 AEST 2021


GCC's string and memory functions blow up as the compiler thinks the
objects have no size:

core/opal-dump.c: In function ‘opal_mpipl_update’:
libc/include/string.h:34:16: warning: ‘__builtin_memset’ offset [0, 32767] is out of the bounds [0, 0] [-Warray-bounds]
   34 | #define memset __builtin_memset
core/opal-dump.c:333:17: note: in expansion of macro ‘memset’
  333 |                 memset((void *)MDRT_TABLE_BASE, 0, MDRT_TABLE_SIZE);
      |                 ^~~~~~

core/opal-dump.c: In function ‘opal_mpipl_init’:
libc/include/string.h:34:16: warning: ‘__builtin_memset’ offset [0, 1023] is out of the bounds [0, 0] [-Warray-bounds]
   34 | #define memset __builtin_memset
core/opal-dump.c:565:9: note: in expansion of macro ‘memset’
  565 |         memset(mdst_base, 0, MDST_TABLE_SIZE);
      |         ^~~~~~
libc/include/string.h:34:16: warning: ‘__builtin_memset’ offset [0, 1023] is out of the bounds [0, 0] [-Warray-bounds]
   34 | #define memset __builtin_memset
core/opal-dump.c:567:9: note: in expansion of macro ‘memset’
  567 |         memset(mddt_base, 0, MDDT_TABLE_SIZE);
      |         ^~~~~~

In function ‘HDIF_check’,
    inlined from ‘fixup_spira’ at hdata/spira.c:1679:7,
    inlined from ‘parse_hdat’ at hdata/spira.c:1732:2:
libc/include/string.h:38:16: warning: ‘__builtin_memcmp’ specified bound 6 exceeds source size 0 [-Wstringop-overread]
   38 | #define memcmp __builtin_memcmp
hdata/hdif.h:71:17: note: in expansion of macro ‘memcmp’
   71 |                 memcmp(hdr->id, id, sizeof(hdr->id)) == 0;
      |                 ^~~~~~

This turns the errors into warnings so the build can complete.

Signed-off-by: Joel Stanley <joel at jms.id.au>
---
 Makefile.main | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile.main b/Makefile.main
index d21f27be3e0e..73e9de21431b 100644
--- a/Makefile.main
+++ b/Makefile.main
@@ -166,6 +166,8 @@ CFLAGS += $(call try-cflag,$(CC),-Wjump-misses-init) \
 	  $(call try-cflag,$(CC),-Wno-error=suggest-attribute=const) \
 	  $(call try-cflag,$(CC),-Wno-error=suggest-attribute=noreturn) \
 	  $(call try-cflag,$(CC),-Wstack-usage=1024) \
+	  $(call try-cflag,$(CC),-Wno-error=array-bounds) \
+	  $(call try-cflag,$(CC),-Wno-error=stringop-overread) \
 	  $(call try-cflag,$(CC),-Wno-error=address-of-packed-member)
 
 CFLAGS += $(CWARNS) $(OPTS) $(DBG)
-- 
2.32.0



More information about the Skiboot mailing list