Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Nov 2019 03:00:32 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r354672 - head/lib/libc/secure
Message-ID:  <201911130300.xAD30WUE099996@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Wed Nov 13 03:00:32 2019
New Revision: 354672
URL: https://svnweb.freebsd.org/changeset/base/354672

Log:
  ssp: rework the logic to use priority=200 on clang builds
  
  The preproc logic was added at the last minute to appease GCC 4.2, and
  kevans@ did clearly not go back and double-check that the logic worked out
  for clang builds to use the new variant.
  
  It turns out that clang defines __GNUC__ == 4. Flip it around and check
  __clang__ as well, leaving a note to remove it later.
  
  Reported by:	cem

Modified:
  head/lib/libc/secure/stack_protector.c

Modified: head/lib/libc/secure/stack_protector.c
==============================================================================
--- head/lib/libc/secure/stack_protector.c	Wed Nov 13 02:22:00 2019	(r354671)
+++ head/lib/libc/secure/stack_protector.c	Wed Nov 13 03:00:32 2019	(r354672)
@@ -47,13 +47,15 @@ __FBSDID("$FreeBSD$");
  * they're either not usually statically linked or they simply don't do things
  * in constructors that would be adversely affected by their positioning with
  * respect to this initialization.
+ *
+ * This conditional should be removed when GCC 4.2 is removed.
  */
-#if defined(__GNUC__) && __GNUC__ <= 4
-#define	_GUARD_SETUP_CTOR_ATTR	\
-    __attribute__((__constructor__, __used__));
-#else
+#if defined(__clang__) || (defined(__GNUC__) && __GNUC__ > 4)
 #define	_GUARD_SETUP_CTOR_ATTR	 \
     __attribute__((__constructor__ (200), __used__));
+#else
+#define	_GUARD_SETUP_CTOR_ATTR	\
+    __attribute__((__constructor__, __used__));
 #endif
 
 extern int __sysctl(const int *name, u_int namelen, void *oldp,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911130300.xAD30WUE099996>