[ 3.8.y.z extended stable ] Patch "compiler-gcc.h: Add gcc-recommended GCC_VERSION macro" has been added to staging queue
Kamal Mostafa
kamal at canonical.com
Mon Oct 14 21:57:02 UTC 2013
This is a note to let you know that I have just added a patch titled
compiler-gcc.h: Add gcc-recommended GCC_VERSION macro
to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
which can be found at:
http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
This patch is scheduled to be released in version 3.8.13.12.
If you, or anyone else, feels it should not be added to this tree, please
reply to this email.
For more information about the 3.8.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
Thanks.
-Kamal
------
>From 60d068b01ec41af1a5c7a227563884dcff4566d0 Mon Sep 17 00:00:00 2001
From: Daniel Santos <daniel.santos at pobox.com>
Date: Thu, 21 Feb 2013 16:41:39 -0800
Subject: compiler-gcc.h: Add gcc-recommended GCC_VERSION macro
commit 3f3f8d2f48acfd8ed3b8e6b7377935da57b27b16 upstream.
Throughout compiler*.h, many version checks are made. These can be
simplified by using the macro that gcc's documentation recommends.
However, my primary reason for adding this is that I need bug-check
macros that are enabled at certain gcc versions and it's cleaner to use
this macro than the tradition method:
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ => 2)
If you add patch level, it gets this ugly:
#if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 2 || \
__GNUC_MINOR__ == 2 __GNUC_PATCHLEVEL__ >= 1))
As opposed to:
#if GCC_VERSION >= 40201
While having separate headers for gcc 3 & 4 eliminates some of this
verbosity, they can still be cleaned up by this.
See also:
http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
Signed-off-by: Daniel Santos <daniel.santos at pobox.com>
Acked-by: Borislav Petkov <bp at alien8.de>
Acked-by: David Rientjes <rientjes at google.com>
Cc: Andi Kleen <ak at linux.intel.com>
Cc: Joe Perches <joe at perches.com>
Cc: Josh Triplett <josh at joshtriplett.org>
Cc: Paul Gortmaker <paul.gortmaker at windriver.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
[ kamal: 3.8-stable prereq for
3f0116c "compiler/gcc4: Add quirk for 'asm goto' miscompilation bug" ]
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
include/linux/compiler-gcc.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 6a6d7ae..24545cd 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -5,6 +5,9 @@
/*
* Common definitions for all gcc versions go here.
*/
+#define GCC_VERSION (__GNUC__ * 10000 \
+ + __GNUC_MINOR__ * 100 \
+ + __GNUC_PATCHLEVEL__)
/* Optimization barrier */
--
1.8.1.2
More information about the kernel-team
mailing list