From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Adrian Hunter <adrian.hunter@intel.com>,
David Ahern <dsahern@gmail.com>, Jiri Olsa <jolsa@kernel.org>,
Joe Perches <joe@perches.com>, Namhyung Kim <namhyung@kernel.org>,
Wang Nan <wangnan0@huawei.com>
Subject: [PATCH 01/15] tools include: Introduce linux/compiler-gcc.h
Date: Mon, 13 Feb 2017 22:13:46 -0300 [thread overview]
Message-ID: <20170214011400.13352-2-acme@kernel.org> (raw)
In-Reply-To: <20170214011400.13352-1-acme@kernel.org>
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To match the kernel headers structure, setting up things that are
specific to gcc or to some specific version of gcc.
It gets included by linux/compiler.h when gcc is the compiler being
used.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Joe Perches <joe@perches.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-fabcqfq4asodq9t158hcs8t3@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/include/linux/compiler-gcc.h | 14 ++++++++++++++
tools/include/linux/compiler.h | 10 +++++-----
tools/perf/MANIFEST | 1 +
3 files changed, 20 insertions(+), 5 deletions(-)
create mode 100644 tools/include/linux/compiler-gcc.h
diff --git a/tools/include/linux/compiler-gcc.h b/tools/include/linux/compiler-gcc.h
new file mode 100644
index 000000000000..48af2f10a42d
--- /dev/null
+++ b/tools/include/linux/compiler-gcc.h
@@ -0,0 +1,14 @@
+#ifndef _TOOLS_LINUX_COMPILER_H_
+#error "Please don't include <linux/compiler-gcc.h> directly, include <linux/compiler.h> instead."
+#endif
+
+/*
+ * Common definitions for all gcc versions go here.
+ */
+#define GCC_VERSION (__GNUC__ * 10000 \
+ + __GNUC_MINOR__ * 100 \
+ + __GNUC_PATCHLEVEL__)
+
+#if GCC_VERSION >= 70000 && !defined(__CHECKER__)
+# define __fallthrough __attribute__ ((fallthrough))
+#endif
diff --git a/tools/include/linux/compiler.h b/tools/include/linux/compiler.h
index d94179f94caa..6326ede9aece 100644
--- a/tools/include/linux/compiler.h
+++ b/tools/include/linux/compiler.h
@@ -1,6 +1,10 @@
#ifndef _TOOLS_LINUX_COMPILER_H_
#define _TOOLS_LINUX_COMPILER_H_
+#ifdef __GNUC__
+#include <linux/compiler-gcc.h>
+#endif
+
/* Optimization barrier */
/* The "volatile" is due to gcc bugs */
#define barrier() __asm__ __volatile__("": : :"memory")
@@ -128,11 +132,7 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
#ifndef __fallthrough
-# if defined(__GNUC__) && __GNUC__ >= 7
-# define __fallthrough __attribute__ ((fallthrough))
-# else
-# define __fallthrough
-# endif
+# define __fallthrough
#endif
#endif /* _TOOLS_LINUX_COMPILER_H */
diff --git a/tools/perf/MANIFEST b/tools/perf/MANIFEST
index a511e5f31e36..8672f835ae4e 100644
--- a/tools/perf/MANIFEST
+++ b/tools/perf/MANIFEST
@@ -61,6 +61,7 @@ tools/include/asm-generic/bitops.h
tools/include/linux/atomic.h
tools/include/linux/bitops.h
tools/include/linux/compiler.h
+tools/include/linux/compiler-gcc.h
tools/include/linux/coresight-pmu.h
tools/include/linux/filter.h
tools/include/linux/hash.h
--
2.9.3
next prev parent reply other threads:[~2017-02-14 1:14 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-14 1:13 [GIT PULL 00/15] perf/core improvements and fixes Arnaldo Carvalho de Melo
2017-02-14 1:13 ` Arnaldo Carvalho de Melo [this message]
2017-02-14 1:13 ` [PATCH 02/15] perf diff: Add 'delta-abs' compute method Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 03/15] perf diff: Add diff.order config option Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 04/15] perf diff: Add diff.compute " Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 05/15] perf diff: Change default setting to "delta-abs" Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 06/15] perf scripting perl: Fix compile error with some perl5 versions Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 07/15] tools lib traceevent: Initialize lenght on OLD_RING_BUFFER_TYPE_TIME_STAMP Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 08/15] tools lib traceevent plugin function: Initialize 'index' variable Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 09/15] perf evsel: Inform how to make a sysctl setting permanent Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 10/15] perf symbols: No need to check if sym->name is NULL Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 11/15] perf tests record: No need to test an array against NULL Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 12/15] perf symbols: dso->name is an array, no need to check it " Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 13/15] samples/bpf: Add missing header Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 14/15] samples/bpf: Ignore already processed ELF sections Arnaldo Carvalho de Melo
2017-02-14 1:14 ` [PATCH 15/15] samples/bpf: Reset global variables Arnaldo Carvalho de Melo
2017-02-14 6:31 ` [GIT PULL 00/15] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170214011400.13352-2-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=dsahern@gmail.com \
--cc=joe@perches.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome