Hi all,
It seems GCC 9 does not put read-only zero-initialized variables into the BSS
section anymore; instead it is put into RODATA.
(See the thread at [0], especially [1])
In filter/nozero a 64M large, static, zeroed, read-only array is declared.
The new behavior of GCC puts this array as-is into the binary inflating the
size by a factor of around 10000.
(Clang 8 and older GCCs work "correctly")
It would be possible to remove the "const" qualifier or use some compiler
attribute trickery to get the previous behavior back.
Thanks,
Thomas
[0]
https://gcc.gnu.org/ml/gcc/2019-04/msg00034.html
[1]
https://gcc.gnu.org/ml/gcc/2019-04/msg00049.html