summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2012-05-04 16:23:20 +0000
committerjoerg <joerg@pkgsrc.org>2012-05-04 16:23:20 +0000
commitf73bc68d80982e69274c09ec94901d3ae90f2ff4 (patch)
tree07b4d186b6a09078bad978deec6d3385f3feb695 /lang
parente4e68073db146f1377b30a5e01c8b8ef31aa573e (diff)
downloadpkgsrc-f73bc68d80982e69274c09ec94901d3ae90f2ff4.tar.gz
Make sure the TLS variables are emitted by the compiler, clang is smart
enough to recognize the lack of references to drop them otherwise.
Diffstat (limited to 'lang')
-rw-r--r--lang/mono/distinfo3
-rw-r--r--lang/mono/patches/patch-mono_utils_mono-compiler.h38
2 files changed, 40 insertions, 1 deletions
diff --git a/lang/mono/distinfo b/lang/mono/distinfo
index ba6d3e4aed3..47b2a5cd822 100644
--- a/lang/mono/distinfo
+++ b/lang/mono/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.84 2012/03/18 19:39:35 wiz Exp $
+$NetBSD: distinfo,v 1.85 2012/05/04 16:23:20 joerg Exp $
SHA1 (mono-2.10.6.tar.bz2) = c17d211475a321680b4772dd3b8cadde7eaa60aa
RMD160 (mono-2.10.6.tar.bz2) = ca4037531046f60348350e7ab5a760ddbc152bc4
@@ -43,3 +43,4 @@ SHA1 (patch-dm) = bac9172f419630f817702e15dd3761cb4f60e0a0
SHA1 (patch-dn) = 9a55bd9c492b64ec9feadb45419b4bec37900b89
SHA1 (patch-do) = 6ccd5598198fc04e638ec5bc5e03c92e16206c92
SHA1 (patch-man_mprof-report.1) = 7c6ab58a2550f274e17e417988104c83f4e36a18
+SHA1 (patch-mono_utils_mono-compiler.h) = 0dce7994bdb350f7080464f416b725cbe3e7e293
diff --git a/lang/mono/patches/patch-mono_utils_mono-compiler.h b/lang/mono/patches/patch-mono_utils_mono-compiler.h
new file mode 100644
index 00000000000..8cbb0aca79c
--- /dev/null
+++ b/lang/mono/patches/patch-mono_utils_mono-compiler.h
@@ -0,0 +1,38 @@
+$NetBSD: patch-mono_utils_mono-compiler.h,v 1.1 2012/05/04 16:23:20 joerg Exp $
+
+Make sure that TLS variables are actually emitted, since the compiler
+doesn't see all references.
+
+--- mono/utils/mono-compiler.h.orig 2012-04-27 22:30:53.000000000 +0000
++++ mono/utils/mono-compiler.h
+@@ -29,7 +29,7 @@
+ #if defined(PIC)
+
+ #ifdef PIC_INITIAL_EXEC
+-#define MONO_TLS_FAST __attribute__((tls_model("initial-exec")))
++#define MONO_TLS_FAST __attribute__((tls_model("initial-exec"), used))
+ #else
+ #if defined (__powerpc__)
+ /* local dynamic requires a call to __tls_get_addr to look up the
+@@ -41,18 +41,18 @@
+ For now we will disable this. */
+ #define MONO_TLS_FAST
+ #else
+-#define MONO_TLS_FAST __attribute__((tls_model("local-dynamic")))
++#define MONO_TLS_FAST __attribute__((tls_model("local-dynamic"), used))
+ #endif
+ #endif
+
+ #else
+
+-#define MONO_TLS_FAST __attribute__((tls_model("local-exec")))
++#define MONO_TLS_FAST __attribute__((tls_model("local-exec"), used))
+
+ #endif
+
+ #else
+-#define MONO_TLS_FAST
++#define MONO_TLS_FAST
+ #endif
+
+ #if defined(__GNUC__) && defined(__i386__)