pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
wip/threadingbuildingblocks: Work around aggressive DSE causing a SEGV under g++.
Module Name: pkgsrc-wip
Committed By: Paul Ripke <stix%stix.id.au@localhost>
Pushed By: stix
Date: Thu Oct 15 16:14:13 2020 +1100
Changeset: e590769db450d7d761b4c1b9430669c9f54d03a6
Modified Files:
threadingbuildingblocks/Makefile
Log Message:
wip/threadingbuildingblocks: Work around aggressive DSE causing a SEGV under g++.
Switch to clang, which doesn't do the aggressive DSE in this case.
The Makefiles aleady assume we're using clang, in any case.
See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388
SEGV crash is like (from PrusaSlicer):
parent=parent@entry=0x0, context=context@entry=0x79966ba4ab40 <tbb::internal::the_dummy_context>)
at ../../src/tbb/scheduler.cpp:352
genuine=genuine@entry=true) at ../../src/tbb/scheduler.cpp:99
m=..., this=0x799632fe7e80) at ../../src/tbb/custom_scheduler.h:55
at ../../src/tbb/custom_scheduler.h:140
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e590769db450d7d761b4c1b9430669c9f54d03a6
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
threadingbuildingblocks/Makefile | 9 +++++++++
1 file changed, 9 insertions(+)
diffs:
diff --git a/threadingbuildingblocks/Makefile b/threadingbuildingblocks/Makefile
index 5460afba6c..75b38f9f1f 100644
--- a/threadingbuildingblocks/Makefile
+++ b/threadingbuildingblocks/Makefile
@@ -20,6 +20,15 @@ USE_TOOLS+= gmake pax
BUILD_TARGET= default
TEST_TARGET= test
+# Work around old TBB bug, we'll force using clang++, which appears to
+# have less agressive Dead-Store Elimination (DSE).
+# The makefiles already assume we're using clang, and hence fail to pass
+# "-flifetime-dse=1" to g++.
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388
+PKGSRC_COMPILER= clang
+PKG_CC= clang
+PKG_CXX= clang++
+
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == Linux
Home |
Main Index |
Thread Index |
Old Index