aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2014-04-23 11:23:28 -0700
committerPaul Eggert2014-04-23 11:23:28 -0700
commit417c9bcba10006e773e24cbed1ddb9b16712ceb0 (patch)
treef318ad687dc4c7ab3f47ec06ea6cbff765cb3134 /src
parentddc13efd7096bf8cb745cd7b03b6f064747680bc (diff)
downloademacs-417c9bcba10006e773e24cbed1ddb9b16712ceb0.tar.gz
emacs-417c9bcba10006e773e24cbed1ddb9b16712ceb0.zip
* conf_post.h (ADDRESS_SANITIZER_WORKAROUND): Port to GCC 4.9.0
and to clang 3.4, which have fixed the bug. This should let us run a bit faster on these platforms when address sanitization is in effect.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/conf_post.h14
2 files changed, 14 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index fdbf922173b..1a4c29f2580 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
12014-04-23 Paul Eggert <eggert@cs.ucla.edu>
2
3 * conf_post.h (ADDRESS_SANITIZER_WORKAROUND): Port to GCC 4.9.0
4 and to clang 3.4, which have fixed the bug. This should let us
5 run a bit faster on these platforms when address sanitization is
6 in effect.
7
12014-04-22 Paul Eggert <eggert@cs.ucla.edu> 82014-04-22 Paul Eggert <eggert@cs.ucla.edu>
2 9
3 Port to GCC 4.9.0 with --enable-gcc-warnings. 10 Port to GCC 4.9.0 with --enable-gcc-warnings.
diff --git a/src/conf_post.h b/src/conf_post.h
index 2e78c2f5e25..95b028a66ee 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -226,14 +226,14 @@ extern void _DebPrint (const char *fmt, ...);
226 226
227/* Work around GCC bug 59600: when a function is inlined, the inlined 227/* Work around GCC bug 59600: when a function is inlined, the inlined
228 code may have its addresses sanitized even if the function has the 228 code may have its addresses sanitized even if the function has the
229 no_sanitize_address attribute. This bug is present in GCC 4.8.2 229 no_sanitize_address attribute. This bug is fixed in GCC 4.9.0 and
230 and clang 3.3, the latest releases as of December 2013, and the 230 clang 3.4. */
231 only platforms known to support address sanitization. When the bug 231#if (! ADDRESS_SANITIZER \
232 is fixed the #if can be updated accordingly. */ 232 || ((4 < __GNUC__ + (9 <= __GNUC_MINOR__)) \
233#if ADDRESS_SANITIZER 233 || 3 < __clang_major__ + (4 <= __clang_minor__)))
234# define ADDRESS_SANITIZER_WORKAROUND NO_INLINE 234# define ADDRESS_SANITIZER_WORKAROUND /* No workaround needed. */
235#else 235#else
236# define ADDRESS_SANITIZER_WORKAROUND 236# define ADDRESS_SANITIZER_WORKAROUND NO_INLINE
237#endif 237#endif
238 238
239/* Attribute of functions whose code should not have addresses 239/* Attribute of functions whose code should not have addresses