Dear SeaBIOS folks,

Using GCC 11.1 to build SeaBIOS I get the warnings below.

```
In file included from scripts/kconfig/zconf.tab.c:2534:
/dev/shm/coreboot/payloads/external/SeaBIOS/seabios/scripts/kconfig/confdata.c: In function 'conf_write': /dev/shm/coreboot/payloads/external/SeaBIOS/seabios/scripts/kconfig/confdata.c:774:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  774 |   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
      |                    ^~~~~~~~~~~~~~~~~
/dev/shm/coreboot/payloads/external/SeaBIOS/seabios/scripts/kconfig/confdata.c:774:3: note: 'sprintf' output between 13 and 4119 bytes into a destination of size 4097
  774 |   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

```
  Compile checking out/src/post.o
src/post.c: In function 'reloc_preinit':
src/post.c:248:34: warning: array subscript 'u32 {aka unsigned int}[0]' is partly outside array bounds of 'char[1]' [-Warray-bounds]
  248 |         *((u32*)(dest + *reloc)) += delta;
      |                                  ^~
In file included from src/biosvar.h:11,
                 from src/post.c:8:
src/post.c:278:26: note: while referencing 'code32flat_start'
278 | updateRelocs(VSYMBOL(code32flat_start), VSYMBOL(_reloc_init_start)
      |                          ^~~~~~~~~~~~~~~~
src/memmap.h:18:36: note: in definition of macro 'SYMBOL'
   18 | #define SYMBOL(SYM) ({ extern char SYM; (u32)&SYM; })
      |                                    ^~~
src/post.c:278:18: note: in expansion of macro 'VSYMBOL'
278 | updateRelocs(VSYMBOL(code32flat_start), VSYMBOL(_reloc_init_start)
      |                  ^~~~~~~
src/post.c:248:34: warning: array subscript 'u32 {aka unsigned int}[0]' is partly outside array bounds of 'char[1]' [-Warray-bounds]
  248 |         *((u32*)(dest + *reloc)) += delta;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from src/biosvar.h:11,
                 from src/post.c:8:
src/post.c:278:26: note: while referencing 'code32flat_start'
278 | updateRelocs(VSYMBOL(code32flat_start), VSYMBOL(_reloc_init_start)
      |                          ^~~~~~~~~~~~~~~~
src/memmap.h:18:36: note: in definition of macro 'SYMBOL'
   18 | #define SYMBOL(SYM) ({ extern char SYM; (u32)&SYM; })
      |                                    ^~~
src/post.c:278:18: note: in expansion of macro 'VSYMBOL'
278 | updateRelocs(VSYMBOL(code32flat_start), VSYMBOL(_reloc_init_start)
      |                  ^~~~~~~
```

```
  Compile checking out/src/fw/smm.o
In file included from src/fw/smm.c:18:
In function 'smm_save_and_copy',
    inlined from 'ich9_lpc_apmc_smm_setup' at src/fw/smm.c:216:5:
src/string.h:23:16: warning: '__builtin_memcpy' offset [0, 511] is out of the bounds [0, 0] [-Warray-bounds]
   23 | #define memcpy __builtin_memcpy
src/fw/smm.c:148:5: note: in expansion of macro 'memcpy'
  148 |     memcpy(&smm->cpu, &initsmm->cpu, sizeof(smm->cpu));
      |     ^~~~~~
In function 'smm_relocate_and_restore',
    inlined from 'ich9_lpc_apmc_smm_setup' at src/fw/smm.c:227:5:
src/string.h:23:16: warning: '__builtin_memcpy' offset [0, 511] is out of the bounds [0, 0] [-Warray-bounds]
   23 | #define memcpy __builtin_memcpy
src/fw/smm.c:171:5: note: in expansion of macro 'memcpy'
  171 |     memcpy(&initsmm->cpu, &smm->cpu, sizeof(initsmm->cpu));
      |     ^~~~~~
```

```
  Compiling whole program out/ccode32flat.o
In file included from out/ccode32flat.o.tmp.c:42:
./src/post.c: In function 'dopost':
./src/post.c:248:34: warning: array subscript 'u32 {aka unsigned int}[0]' is partly outside array bounds of 'char[1]' [-Warray-bounds]
  248 |         *((u32*)(dest + *reloc)) += delta;
      |                                  ^~
In file included from ./src/biosvar.h:11,
                 from ./src/misc.c:8,
                 from out/ccode32flat.o.tmp.c:1:
./src/fw/shadow.c:190:29: note: while referencing 'code32flat_start'
190 | u32 cstart = SYMBOL(code32flat_start), cend = SYMBOL(code32flat_end);
      |                             ^~~~~~~~~~~~~~~~
./src/memmap.h:18:36: note: in definition of macro 'SYMBOL'
   18 | #define SYMBOL(SYM) ({ extern char SYM; (u32)&SYM; })
      |                                    ^~~
In file included from out/ccode32flat.o.tmp.c:42:
./src/post.c:248:34: warning: array subscript 'u32 {aka unsigned int}[0]' is partly outside array bounds of 'char[1]' [-Warray-bounds]
  248 |         *((u32*)(dest + *reloc)) += delta;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from ./src/biosvar.h:11,
                 from ./src/misc.c:8,
                 from out/ccode32flat.o.tmp.c:1:
./src/fw/shadow.c:190:29: note: while referencing 'code32flat_start'
190 | u32 cstart = SYMBOL(code32flat_start), cend = SYMBOL(code32flat_end);
      |                             ^~~~~~~~~~~~~~~~
./src/memmap.h:18:36: note: in definition of macro 'SYMBOL'
   18 | #define SYMBOL(SYM) ({ extern char SYM; (u32)&SYM; })
      |
```


Kind regards,

Paul
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to