[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