Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 13 May 2015 12:31:24 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: MAYBE_INLINE macro (again)

Solar,

The never-ending story with MAYBE_INLINE got a new twist because gcc 5 
defaults to C11 (actually gnu11) as opposed to C89 (actually gnu89). See 
"Different semantics for inline functions" in 
http://www.gnu.org/software/gcc/gcc-5/porting_to.html

This does not currently affect core as all uses of MAYBE_INLINE is with 
static functions.

Until now the fix in Jumbo was adding "-std=gnu89" to Makefile but I'm 
now adding this as well:

  #ifdef __GNUC__
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || 
defined(__INTEL_COMPILER)
+#if __GNUC__ >= 5
+#define MAYBE_INLINE __attribute__((gnu_inline)) inline
+#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || 
defined(__INTEL_COMPILER)
  #define MAYBE_INLINE __attribute__((always_inline)) inline
  #elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
  #define MAYBE_INLINE __attribute__((always_inline))


For now I'm keeping the -std=gnu89 too but it's no longer needed and I'm 
not sure we want it or not. We are investigating a Cygwin problem that 
may come from that option.

magnum

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ