[llvm] r182712 - Add support for DWARF line number table entries for values in the instruction
Cameron Zwarich
zwarich at apple.com
Sat May 25 14:56:54 PDT 2013
Author: zwarich
Date: Sat May 25 16:56:53 2013
New Revision: 182712
URL: http://llvm.org/viewvc/llvm-project?rev=182712&view=rev
Log:
Add support for DWARF line number table entries for values in the instruction
stream.
Modified:
llvm/trunk/lib/MC/MCObjectStreamer.cpp
llvm/trunk/test/MC/ELF/debug-line.s
Modified: llvm/trunk/lib/MC/MCObjectStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCObjectStreamer.cpp?rev=182712&r1=182711&r2=182712&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCObjectStreamer.cpp (original)
+++ llvm/trunk/lib/MC/MCObjectStreamer.cpp Sat May 25 16:56:53 2013
@@ -103,6 +103,8 @@ void MCObjectStreamer::EmitValueImpl(con
assert(AddrSpace == 0 && "Address space must be 0!");
MCDataFragment *DF = getOrCreateDataFragment();
+ MCLineEntry::Make(this, getCurrentSection().first);
+
// Avoid fixups when possible.
int64_t AbsValue;
if (AddValueSymbols(Value)->EvaluateAsAbsolute(AbsValue, getAssembler())) {
Modified: llvm/trunk/test/MC/ELF/debug-line.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/debug-line.s?rev=182712&r1=182711&r2=182712&view=diff
==============================================================================
--- llvm/trunk/test/MC/ELF/debug-line.s (original)
+++ llvm/trunk/test/MC/ELF/debug-line.s Sat May 25 16:56:53 2013
@@ -8,17 +8,18 @@
// CHECK-NEXT: Flags [
// CHECK-NEXT: ]
// CHECK-NEXT: Address: 0x0
-// CHECK-NEXT: Offset: 0x44
-// CHECK-NEXT: Size: 55
+// CHECK-NEXT: Offset: 0x48
+// CHECK-NEXT: Size: 72
// CHECK-NEXT: Link: 0
// CHECK-NEXT: Info: 0
// CHECK-NEXT: AddressAlignment: 1
// CHECK-NEXT: EntrySize: 0
// CHECK-NEXT: SectionData (
-// CHECK-NEXT: 0000: 33000000 02001C00 00000101 FB0E0D00
+// CHECK-NEXT: 0000: 44000000 02001C00 00000101 FB0E0D00
// CHECK-NEXT: 0010: 01010101 00000001 00000100 666F6F2E
// CHECK-NEXT: 0020: 63000000 00000009 02000000 00000000
-// CHECK-NEXT: 0030: 00150204 000101
+// CHECK-NEXT: 0030: 00150205 00010100 09020000 00000000
+// CHECK-NEXT: 0040: 00001602 43000101
// CHECK-NEXT: )
// CHECK-NEXT: }
@@ -28,3 +29,8 @@
.file 1 "foo.c"
.loc 1 4 0
subq $8, %rsp
+
+// Test that .loc works with values, not just instructions.
+
+ .loc 1 5 0
+ .byte 0xc3
More information about the llvm-commits
mailing list