batman-adv: compat: Fix linux/build_bug.h include for Linux 4.9.297
Commit Message
Linux 4.9.297 doesn't provide BUILD_BUG_ON anymore in linux/bug.h also
identified itself with the version number 4.9.255 when decoding the
LINUX_VERSION_CODE. So we have to try to guess now if we need to include
linux/build_bug.h based on whether BUILD_BUG_ON is defined or not after
including linux/bug.h.
If not doing this, the build will fail with errors like:
net/batman-adv/bat_algo.c:146:1: error: undefined identifier 'BUILD_BUG_ON_ZERO'
net/batman-adv/bat_algo.c:146:1: error: undefined identifier 'BUILD_BUG_ON_ZERO'
net/batman-adv/bat_algo.c:146:1: error: undefined identifier 'BUILD_BUG_ON_ZERO'
net/batman-adv/bat_algo.c:146:1: error: undefined identifier 'BUILD_BUG_ON_ZERO'
net/batman-adv/bat_algo.c:146:1: error: undefined identifier 'BUILD_BUG_ON_ZERO'
net/batman-adv/bat_algo.c:146:1: error: undefined identifier 'BUILD_BUG_ON_ZERO'
In file included from ./arch/x86/include/asm/cpufeatures.h:5,
from ./arch/x86/include/asm/cmpxchg.h:5,
from ./arch/x86/include/asm/atomic.h:7,
from ./include/linux/atomic.h:4,
from net/batman-adv/main.h:207,
from net/batman-adv/bat_algo.c:7:
./arch/x86/include/asm/qspinlock.h: In function ‘virt_spin_lock’:
./arch/x86/include/asm/required-features.h:104:29: error: implicit declaration of function ‘BUILD_BUG_ON_ZERO’ [-Werror=implicit-function-declaration]
Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
compat-include/linux/build_bug.h | 11 +++++++++++
1 file changed, 11 insertions(+)
@@ -15,6 +15,17 @@
#include_next <linux/build_bug.h>
#else
#include <linux/bug.h>
+
+/* Linux 4.9.297 doesn't provide BUILD_BUG_ON anymore in linux/bug.h
+ * also identified itself with the version number 4.9.255 when decoding the
+ * LINUX_VERSION_CODE. So we have to try to guess now if we need to include
+ * linux/build_bug.h based on whether BUILD_BUG_ON is defined or not after
+ * including linux/bug.h
+ */
+#ifndef BUILD_BUG_ON
+#include_next <linux/build_bug.h>
+#endif
+
#endif
#endif /* _NET_BATMAN_ADV_COMPAT_LINUX_BUILD_BUG_H_ */