[lkml]   [2017]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[tip:perf/urgent] tools include linux: Guard against redefinition of some macros
Commit-ID:  259d40775ee11dbeba022514815df08c57994ef3
Author: Arnaldo Carvalho de Melo <>
AuthorDate: Tue, 5 Sep 2017 10:52:02 -0300
Committer: Arnaldo Carvalho de Melo <>
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.

Cc: Adrian Hunter <>
Cc: Jiri Olsa <>
Cc: Namhyung Kim <>
Cc: Wang Nan <>
Signed-off-by: Arnaldo Carvalho de Melo <>
tools/include/linux/compiler-gcc.h | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tools/include/linux/compiler-gcc.h b/tools/include/linux/compiler-gcc.h
index bd39b20..3723b9f 100644
--- a/tools/include/linux/compiler-gcc.h
+++ b/tools/include/linux/compiler-gcc.h
@@ -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))
+#ifndef __noreturn
#define __noreturn __attribute__((noreturn))
+#ifndef __aligned
#define __aligned(x) __attribute__((aligned(x)))
#define __printf(a, b) __attribute__((format(printf, a, b)))
#define __scanf(a, b) __attribute__((format(scanf, a, b)))
 \ /
  Last update: 2017-09-13 09:44    [W:0.034 / U:3.896 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site