about summary refs log tree commit diff
path: root/ldc-druntime-finiTLSRanges.patch
diff options
context:
space:
mode:
Diffstat (limited to 'ldc-druntime-finiTLSRanges.patch')
-rw-r--r--ldc-druntime-finiTLSRanges.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/ldc-druntime-finiTLSRanges.patch b/ldc-druntime-finiTLSRanges.patch
new file mode 100644
index 0000000..152f341
--- /dev/null
+++ b/ldc-druntime-finiTLSRanges.patch
@@ -0,0 +1,24 @@
+diff --git a/src/rt/sections_elf_shared.d b/src/rt/sections_elf_shared.d
+index a1ea73a..243e3f6 100644
+--- a/src/rt/sections_elf_shared.d
++++ b/src/rt/sections_elf_shared.d
+@@ -149,7 +149,8 @@ version (Shared)
+ 
+     void finiTLSRanges(Array!(ThreadDSO)* tdsos)
+     {
+-        tdsos.reset();
++        // Disabling like static version - not sure this one is misbehaving though
++        // tdsos.reset();
+     }
+ 
+     void scanTLSRanges(Array!(ThreadDSO)* tdsos, scope ScanDG dg) nothrow
+@@ -234,7 +235,8 @@ else
+ 
+     void finiTLSRanges(Array!(void[])* rngs)
+     {
+-        rngs.reset();
++        // Throws exception, see https://github.com/lomereiter/sambamba/issues/219#issuecomment-275838455
++        // rngs.reset();
+     }
+ 
+     void scanTLSRanges(Array!(void[])* rngs, scope ScanDG dg) nothrow