Backport a patch to use Dwarf debuginfo v3 and build with -DLDC_WITH_LLD=OFF, as suggested by upstream in https://github.com/ldc-developers/ldc/pull/2608epel9
parent
dc04009c13
commit
f09f359764
@ -0,0 +1,30 @@
|
|||||||
|
From 18cf4196f66c9e11ff744d85d2803af8d593dbe3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin <noone@nowhere.com>
|
||||||
|
Date: Sun, 25 Mar 2018 17:37:34 +0200
|
||||||
|
Subject: [PATCH] LLVM 6+: Default to Dwarf debuginfos v3
|
||||||
|
|
||||||
|
At least on Linux it appears to default to v4 or newer, which druntime's
|
||||||
|
rt.backtrace.dwarf doesn't handle yet.
|
||||||
|
|
||||||
|
This fixes tests/codegen/exception_stack_trace.d on Linux.
|
||||||
|
---
|
||||||
|
driver/targetmachine.cpp | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/driver/targetmachine.cpp b/driver/targetmachine.cpp
|
||||||
|
index d75a31b2c..70a09127c 100644
|
||||||
|
--- a/driver/targetmachine.cpp
|
||||||
|
+++ b/driver/targetmachine.cpp
|
||||||
|
@@ -458,6 +458,12 @@ createTargetMachine(const std::string targetTriple, const std::string arch,
|
||||||
|
if (targetOptions.MCOptions.ABIName.empty())
|
||||||
|
targetOptions.MCOptions.ABIName = getABI(triple);
|
||||||
|
|
||||||
|
+#if LDC_LLVM_VER >= 600
|
||||||
|
+ // druntime isn't ready for Dwarf v4+ debuginfos (e.g., in rt.backtrace.dwarf).
|
||||||
|
+ if (targetOptions.MCOptions.DwarfVersion == 0)
|
||||||
|
+ targetOptions.MCOptions.DwarfVersion = 3;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
auto ldcFloatABI = floatABI;
|
||||||
|
if (ldcFloatABI == FloatABI::Default) {
|
||||||
|
switch (triple.getArch()) {
|
Loading…
Reference in new issue