[PATCH linux-next] tools: compiler-gcc.h: Keep compatible with older GCC versions

From: cgel . zte
Date: Sun Jan 02 2022 - 07:08:55 EST


From: xu xin <xu.xin16@xxxxxxxxxx>

When HOST CC = gcc (GCC) 4.8.5, we found that there is an error occurring:
Undefined __has_attribute as we built the whole kernel and tools.

To solve this, this patch is given to keep the compatibility with older
GCC versions.

Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
Co-developed-by: wangyong <wang.yong12@xxxxxxxxxx>
Signed-off-by: xu xin <xu.xin16@xxxxxxxxxx>
---
tools/include/linux/compiler-gcc.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/tools/include/linux/compiler-gcc.h b/tools/include/linux/compiler-gcc.h
index 8816f06fc6c7..333ed16b3b12 100644
--- a/tools/include/linux/compiler-gcc.h
+++ b/tools/include/linux/compiler-gcc.h
@@ -16,6 +16,10 @@
# define __fallthrough __attribute__ ((fallthrough))
#endif

+#ifndef __has_attribute
+# define __has_attribute(x) 0 /* Compatibility with GCC versions < 5.x */
+#endif
+
#if __has_attribute(__error__)
# define __compiletime_error(message) __attribute__((error(message)))
#endif
--
2.25.1