From: Hsiangkai Wang Date: Wed, 1 Aug 2018 04:17:41 +0000 (+0000) Subject: [DebugInfo] Fix build failed in clang-x86_64-linux-selfhost-modules. X-Git-Tag: llvmorg-7.0.0-rc1~76 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2089e4c8f11aeff994c14a85b9de246538c8fd8d;p=platform%2Fupstream%2Fllvm.git [DebugInfo] Fix build failed in clang-x86_64-linux-selfhost-modules. Only generate symbol difference expression if needed. llvm-svn: 338484 --- diff --git a/llvm/lib/MC/MCAssembler.cpp b/llvm/lib/MC/MCAssembler.cpp index d3a84e2..1e23b6d 100644 --- a/llvm/lib/MC/MCAssembler.cpp +++ b/llvm/lib/MC/MCAssembler.cpp @@ -954,7 +954,13 @@ bool MCAssembler::relaxDwarfLineAddr(MCAsmLayout &Layout, 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 &Data = DF.getContents();