[llvm] r338484 - [DebugInfo] Fix build failed in clang-x86_64-linux-selfhost-modules.
Hsiangkai Wang via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 31 21:17:41 PDT 2018
Author: hsiangkai
Date: Tue Jul 31 21:17:41 2018
New Revision: 338484
URL: http://llvm.org/viewvc/llvm-project?rev=338484&view=rev
Log:
[DebugInfo] Fix build failed in clang-x86_64-linux-selfhost-modules.
Only generate symbol difference expression if needed.
Modified:
llvm/trunk/lib/MC/MCAssembler.cpp
Modified: llvm/trunk/lib/MC/MCAssembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAssembler.cpp?rev=338484&r1=338483&r2=338484&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCAssembler.cpp (original)
+++ llvm/trunk/lib/MC/MCAssembler.cpp Tue Jul 31 21:17:41 2018
@@ -954,7 +954,13 @@ bool MCAssembler::relaxDwarfLineAddr(MCA
MCContext &Context = Layout.getAssembler().getContext();
uint64_t OldSize = DF.getContents().size();
int64_t AddrDelta;
- bool Abs = DF.getAddrDelta().evaluateAsAbsolute(AddrDelta, Layout);
+ bool Abs;
+ if (getBackend().requiresDiffExpressionRelocations())
+ Abs = DF.getAddrDelta().evaluateAsAbsolute(AddrDelta, Layout);
+ else {
+ Abs = DF.getAddrDelta().evaluateKnownAbsolute(AddrDelta, Layout);
+ assert(Abs && "We created a line delta with an invalid expression");
+ }
int64_t LineDelta;
LineDelta = DF.getLineDelta();
SmallVectorImpl<char> &Data = DF.getContents();
More information about the llvm-commits
mailing list