Skip to contentSkip to conversation

tools include linux: Guard against redefinition of some macros

tip:perf/urgent tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Sep 13, 2017

lore
Share & tools
lore
#0 lore raw
Commit-ID:  259d40775ee11dbeba022514815df08c57994ef3
Gitweb:     http://git.kernel.org/tip/259d40775ee11dbeba022514815df08c57994ef3
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Tue, 5 Sep 2017 10:52:02 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Tue, 12 Sep 2017 12:33:39 -0300

tools include linux: Guard against redefinition of some macros

When cross building to android r15c (and older versions) on Fedora 26 we notice these:

/opt/android-ndk-r15c/platforms/android-24/arch-arm/usr/include/sys/cdefs.h:332:0: note: this is the location of the previous definition

For __aligned, __packed and __noreturn, so guard those with ifdefs to avoid drowning useful warnings in these.

---
 tools/include/linux/compiler-gcc.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
tools/include/linux/compiler-gcc.h +6 -3
index bd39b20..3723b9f 100644
@@ -21,11 +21,14 @@
 #define __must_be_array(a)	BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
 
 #define  noinline	__attribute__((noinline))
-
+#ifndef __packed
 #define __packed	__attribute__((packed))
-
+#endif
+#ifndef __noreturn
 #define __noreturn	__attribute__((noreturn))
-
+#endif
+#ifndef __aligned
 #define __aligned(x)	__attribute__((aligned(x)))
+#endif
 #define __printf(a, b)	__attribute__((format(printf, a, b)))
 #define __scanf(a, b)	__attribute__((format(scanf, a, b)))