Linux 5.16 includes 04e85bbf71c9 ("isystem: delete global -isystem compile option") compile error on >=5.16 xtables-addons-3.21/extensions/LUA/lua/lua.h:12:10: fatal error: stdarg.h: No such file or directory 12 | #include | ^~~~~~~~~~ Generated with coccinelle: cat <cocci-xtables-lua-linux-5.16.spatch @include_arg@ @@ #include @include_def@ @@ #include @include_both depends on include_arg && include_def@ @@ #include @add_include_linux_stdheaders_both depends on include_both@ @@ +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) ?#include ?#include +#else +#include +#include +#endif @add_include_linux_stdheaders depends on !include_both@ @@ ( +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif | +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif ) EOF spatch --in-place --include-headers --no-includes --sp-file cocci-xtables-lua-linux-5.16.spatch --dir extensions/LUA/lua/ --- --- a/extensions/LUA/lua/lauxlib.c +++ b/extensions/LUA/lua/lauxlib.c @@ -4,7 +4,12 @@ ** See Copyright Notice in lua.h */ +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #if !defined(__KERNEL__) #include --- a/extensions/LUA/lua/lauxlib.h +++ b/extensions/LUA/lua/lauxlib.h @@ -9,7 +9,12 @@ #define lauxlib_h +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #include /* for kmalloc and kfree when allocating luaL_Buffer */ #if !defined(__KERNEL__) --- a/extensions/LUA/lua/ldebug.c +++ b/extensions/LUA/lua/ldebug.c @@ -5,8 +5,14 @@ */ +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include #include +#else +#include +#include +#endif #include #define ldebug_c --- a/extensions/LUA/lua/ldump.c +++ b/extensions/LUA/lua/ldump.c @@ -4,7 +4,12 @@ ** See Copyright Notice in lua.h */ +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #define ldump_c #define LUA_CORE --- a/extensions/LUA/lua/lfunc.c +++ b/extensions/LUA/lua/lfunc.c @@ -5,7 +5,12 @@ */ +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #define lfunc_c #define LUA_CORE --- a/extensions/LUA/lua/llimits.h +++ b/extensions/LUA/lua/llimits.h @@ -7,7 +7,12 @@ #ifndef llimits_h #define llimits_h +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #include "lua.h" --- a/extensions/LUA/lua/lmem.c +++ b/extensions/LUA/lua/lmem.c @@ -5,7 +5,12 @@ */ +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #define lmem_c #define LUA_CORE --- a/extensions/LUA/lua/lmem.h +++ b/extensions/LUA/lua/lmem.h @@ -8,7 +8,12 @@ #define lmem_h +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #include "llimits.h" #include "lua.h" --- a/extensions/LUA/lua/lobject.c +++ b/extensions/LUA/lua/lobject.c @@ -4,7 +4,12 @@ ** See Copyright Notice in lua.h */ +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #include #include --- a/extensions/LUA/lua/lobject.h +++ b/extensions/LUA/lua/lobject.h @@ -9,7 +9,12 @@ #define lobject_h +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #include "llimits.h" --- a/extensions/LUA/lua/lstate.c +++ b/extensions/LUA/lua/lstate.c @@ -5,7 +5,12 @@ */ +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #define lstate_c #define LUA_CORE --- a/extensions/LUA/lua/lstrlib.c +++ b/extensions/LUA/lua/lstrlib.c @@ -6,7 +6,12 @@ #include +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #include #include #include --- a/extensions/LUA/lua/ltablib.c +++ b/extensions/LUA/lua/ltablib.c @@ -5,7 +5,12 @@ */ +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #define ltablib_c #define LUA_LIB --- a/extensions/LUA/lua/lua.h +++ b/extensions/LUA/lua/lua.h @@ -9,8 +9,14 @@ #ifndef lua_h #define lua_h +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include #include +#else +#include +#include +#endif #include "luaconf.h" --- a/extensions/LUA/lua/luaconf.h +++ b/extensions/LUA/lua/luaconf.h @@ -8,7 +8,12 @@ #ifndef lconfig_h #define lconfig_h +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) #include +#else +#include +#endif #if !defined(__KERNEL__) #include