[pypy-commit] pypy default: Performance fix, really this time? We need to mark "extern" symbols

arigo noreply at buildbot.pypy.org
Thu Oct 30 18:09:59 CET 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r74299:9da85304419d
Date: 2014-10-30 18:09 +0100
http://bitbucket.org/pypy/pypy/changeset/9da85304419d/

Log:	Performance fix, really this time? We need to mark "extern" symbols
	as really hidden, even with "-fvisibility=hidden". Grumble.

diff --git a/rpython/translator/c/src/precommondefs.h b/rpython/translator/c/src/precommondefs.h
--- a/rpython/translator/c/src/precommondefs.h
+++ b/rpython/translator/c/src/precommondefs.h
@@ -44,8 +44,10 @@
 
 #ifdef __GNUC__
 #  define RPY_EXPORTED __attribute__((visibility("default")))
+#  define RPY_HIDDEN   __attribute__((visibility("hidden")))
 #else
 #  define RPY_EXPORTED __declspec(dllexport)
+#  define RPY_HIDDEN   /* nothing */
 #endif
 #ifndef RPY_EXPORTED_FOR_TESTS
 #  define RPY_EXPORTED_FOR_TESTS  /* nothing */
diff --git a/rpython/translator/c/support.py b/rpython/translator/c/support.py
--- a/rpython/translator/c/support.py
+++ b/rpython/translator/c/support.py
@@ -38,6 +38,8 @@
     if is_exported:
         assert not is_thread_local
         prefix = "RPY_EXPORTED "
+    elif standalone:
+        prefix = "RPY_HIDDEN "
 
     cdecl_str = prefix + cdecl(ctype, cname)
     if standalone:


More information about the pypy-commit mailing list