aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2015-09-23 10:34:56 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-23 11:14:47 +0100
commite03d95d70f8bfe57c258d270ac6b3331650dbc10 (patch)
tree261fd396234d8596108acce4cd6c0e066425d818 /meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch
parentfb6623e7b9f97dcd6749e441185e4183b9953171 (diff)
downloadopenembedded-core-contrib-e03d95d70f8bfe57c258d270ac6b3331650dbc10.tar.gz
gmp: Use __gnu_inline__ attribute in 4.2.1
gcc 5 defaults to C11 rules about "extern inline": this breaks any code that includes gmp.h header from gmp 4.2.1 with 'multiple definition' errors. disable-stdc patch is no longer required because of this. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch')
-rw-r--r--meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch b/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch
new file mode 100644
index 0000000000..627d71aba9
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch
@@ -0,0 +1,36 @@
+From 3cb33502bafd04b8ad4ca3454fab16d5ff313297 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Tue, 22 Sep 2015 13:16:23 +0300
+Subject: [PATCH] Use __gnu_inline__ attribute
+
+gcc5 uses C11 inline rules. This means the old "extern inline"
+semantics are not available without a special attribute.
+
+See: https://gcc.gnu.org/gcc-5/porting_to.html
+
+Upstream-Status: Inappropriate [Fixed in current versions]
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ gmp-h.in | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/gmp-h.in b/gmp-h.in
+index eed6fe4..361dd1d 100644
+--- a/gmp-h.in
++++ b/gmp-h.in
+@@ -419,8 +419,11 @@ typedef __mpq_struct *mpq_ptr;
+ /* gcc has __inline__ in all modes, including strict ansi. Give a prototype
+ for an inline too, so as to correctly specify "dllimport" on windows, in
+ case the function is called rather than inlined. */
++
++/* Use __gnu_inline__ attribute: later gcc uses different "extern inline"
++ behaviour */
+ #ifdef __GNUC__
+-#define __GMP_EXTERN_INLINE extern __inline__
++#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__))
+ #define __GMP_INLINE_PROTOTYPES 1
+ #endif
+
+--
+2.1.4
+