[llvm] r324868 - [MC] Issue error message when data region is not terminated
Gerolf Hoflehner via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 11 23:19:05 PST 2018
Author: ghoflehner
Date: Sun Feb 11 23:19:05 2018
New Revision: 324868
URL: http://llvm.org/viewvc/llvm-project?rev=324868&view=rev
Log:
[MC] Issue error message when data region is not terminated
Added:
llvm/trunk/test/MC/X86/check-end-of-data-region.s
Modified:
llvm/trunk/lib/MC/MachObjectWriter.cpp
Modified: llvm/trunk/lib/MC/MachObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MachObjectWriter.cpp?rev=324868&r1=324867&r2=324868&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MachObjectWriter.cpp (original)
+++ llvm/trunk/lib/MC/MachObjectWriter.cpp Sun Feb 11 23:19:05 2018
@@ -945,7 +945,13 @@ void MachObjectWriter::writeObject(MCAss
it != ie; ++it) {
const DataRegionData *Data = &(*it);
uint64_t Start = getSymbolAddress(*Data->Start, Layout);
- uint64_t End = getSymbolAddress(*Data->End, Layout);
+ uint64_t End;
+ if (Data->End)
+ End = getSymbolAddress(*Data->End, Layout);
+ else
+ report_fatal_error("Data region not terminated");
+
+
DEBUG(dbgs() << "data in code region-- kind: " << Data->Kind
<< " start: " << Start << "(" << Data->Start->getName() << ")"
<< " end: " << End << "(" << Data->End->getName() << ")"
Added: llvm/trunk/test/MC/X86/check-end-of-data-region.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/check-end-of-data-region.s?rev=324868&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/check-end-of-data-region.s (added)
+++ llvm/trunk/test/MC/X86/check-end-of-data-region.s Sun Feb 11 23:19:05 2018
@@ -0,0 +1,8 @@
+// RUN: not llvm-mc -triple=x86_64-apple-darwin -filetype=obj -o /dev/null %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
+
+.align 4
+.data_region jt32
+foo:
+ .long 0
+
+// CHECK-ERROR: LLVM ERROR: Data region not terminated
More information about the llvm-commits
mailing list