build: Add new gcc error flags

These flags check for code that we don't want to write, so turn them
into error flags.

Variable length arrays should be replaced by malloc() - or explicit
alloca() calls if you know what you're doing.

Implicit fallthrough should be replaced by explicit fallthrough with the
usage of G_GNU_FALLTHROUGH.

This work inspired by Kees Cook's LCA2019 talk:
https://www.youtube.com/watch?v=FY9SbqTO5GQ
http://outflux.net/slides/2019/lca/danger.pdf
This commit is contained in:
Benjamin Otte 2019-01-26 15:09:55 +01:00
parent b9fb2f0933
commit dff9a5a195

View File

@ -252,6 +252,7 @@ elif cc.get_id() == 'gcc' or cc.get_id() == 'clang'
'-Werror=array-bounds',
'-Werror=empty-body',
'-Werror=implicit',
'-Werror=implicit-fallthrough',
'-Werror=init-self',
'-Werror=int-to-pointer-cast',
'-Werror=main',
@ -264,6 +265,7 @@ elif cc.get_id() == 'gcc' or cc.get_id() == 'clang'
'-Werror=return-type',
'-Werror=sequence-point',
'-Werror=trigraphs',
'-Werror=vla',
'-Werror=write-strings',
]
else