Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1580191

[PATCH 01/15] tools include: Introduce linux/compiler-gcc.h

Path csiph.com!1.us.feeder.erje.net!2.us.feeder.erje.net!feeder.erje.net!2.eu.feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod
From Arnaldo Carvalho de Melo <acme@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 01/15] tools include: Introduce linux/compiler-gcc.h
Date Tue, 14 Feb 2017 02:20:03 +0100
Message-ID <tazWH-3d2-33@gated-at.bofh.it> (permalink)
References <tazWF-3d2-3@gated-at.bofh.it>
Dkim-Signature v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=m+f4PcmL0990877L1eWxsEYA6fBqK2ghKPmiMM194G4=; b=e0WMEpyWBm1h54Oc0erywFG8D drgUroOybcDT/sHNFT8fUDLXfvaFIQ66TcIocm3uHsIumPSd7k4YCsinZfwugdDm+wjHR1wXU4KLB sBWTnEEq52bTH1s18Bw0LBL0QGqhh/Xy+AKqiEOUkWa5LBx1CdjWRvmRR28yZ4EZ7SZQG37vkM0Kt 1TmvhZaKnN/kvcXO95HpsSce38fAfYUWpe1Vp0DuU2llzAyveTdT2GLKXb/MGTOgRdFWZxc+fANAv d72CuUBPceernORk015GkZhlQSA/nnKyaORSK0FU1xd36CtT/04tBCXzUnvuDDut1AgO5SMJngmYi gIBdL+zkg==;
X-Mailer git-send-email 2.9.3
X-Srs-Rewrite SMTP reverse-path rewritten from <acme@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 85
Organization linux.* mail to news gateway
X-Original-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>
X-Original-Date Mon, 13 Feb 2017 22:13:46 -0300
X-Original-Message-ID <20170214011400.13352-2-acme@kernel.org>
X-Original-References <20170214011400.13352-1-acme@kernel.org>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1580191

Show key headers only | View raw


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

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[GIT PULL 00/15] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-14 02:20 +0100
  [PATCH 04/15] perf diff: Add diff.compute config option Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-14 02:20 +0100
  [PATCH 11/15] perf tests record: No need to test an array against NULL Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-14 02:20 +0100
  [PATCH 08/15] tools lib traceevent plugin function: Initialize 'index' variable Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-14 02:20 +0100
  [PATCH 14/15] samples/bpf: Ignore already processed ELF sections Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-14 02:20 +0100
  [PATCH 01/15] tools include: Introduce linux/compiler-gcc.h Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-14 02:20 +0100
  [PATCH 07/15] tools lib traceevent: Initialize lenght on OLD_RING_BUFFER_TYPE_TIME_STAMP Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-14 02:20 +0100
  [PATCH 09/15] perf evsel: Inform how to make a sysctl setting permanent Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-14 02:20 +0100
  Re: [GIT PULL 00/15] perf/core improvements and fixes Ingo Molnar <mingo@kernel.org> - 2017-02-14 07:40 +0100

csiph-web