[llvm] 64df75f - [DWARFLinker][DWARFv5] change emitSLEB128IntValue with emitULEB128IntValue for ranges.

Alexey Lapshin via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 21 03:18:50 PDT 2023


Author: Alexey Lapshin
Date: 2023-06-21T12:13:00+02:00
New Revision: 64df75fb26e55c097e79df6770a99d4b1ad09716

URL: https://github.com/llvm/llvm-project/commit/64df75fb26e55c097e79df6770a99d4b1ad09716
DIFF: https://github.com/llvm/llvm-project/commit/64df75fb26e55c097e79df6770a99d4b1ad09716.diff

LOG: [DWARFLinker][DWARFv5] change emitSLEB128IntValue with emitULEB128IntValue for ranges.

This patch changes emitSLEB128IntValue with emitULEB128IntValue
for length part of address range of DW_RLE_start_length kind. DWARFv5
standard:

DW_RLE_start_length
This is a form of bounded range entry that has one target address operand
value and an unsigned LEB128 integer length operand value.

Differential Revision: https://reviews.llvm.org/D153334

Added: 
    

Modified: 
    llvm/lib/DWARFLinker/DWARFStreamer.cpp
    llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test

Removed: 
    


################################################################################
diff  --git a/llvm/lib/DWARFLinker/DWARFStreamer.cpp b/llvm/lib/DWARFLinker/DWARFStreamer.cpp
index 739b5035f275c..0e6a787e1bc37 100644
--- a/llvm/lib/DWARFLinker/DWARFStreamer.cpp
+++ b/llvm/lib/DWARFLinker/DWARFStreamer.cpp
@@ -496,7 +496,7 @@ void DwarfStreamer::emitDwarfDebugRngListsTableFragment(
     RngListsSectionSize += AddressSize;
 
     // Emit length of the range.
-    RngListsSectionSize += MS->emitSLEB128IntValue(Range.end() - Range.start());
+    RngListsSectionSize += MS->emitULEB128IntValue(Range.end() - Range.start());
   }
 
   // Emit the terminator entry.

diff  --git a/llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test b/llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test
index 3a869ef46d056..c7f4331dd9e6d 100644
--- a/llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test
+++ b/llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test
@@ -57,7 +57,7 @@
 #DWARF-CHECK: [0x0000000000001130, 0x0000000000001170)
 #DWARF-CHECK-NOT: .debug_addr contents:
 #DWARF-CHECK: .debug_rnglists contents:
-#DWARF-CHECK: 0x00000000: range list header: length = 0x00000040, format = DWARF32, version = 0x0005, addr_size = 0x08, seg_size = 0x00, offset_entry_count = 0x00000000
+#DWARF-CHECK: 0x00000000: range list header: length = 0x0000003f, format = DWARF32, version = 0x0005, addr_size = 0x08, seg_size = 0x00, offset_entry_count = 0x00000000
 #DWARF-CHECK: ranges:
 #DWARF-CHECK: 0x[[F1RANGE_OFF]]: [DW_RLE_start_length]:  0x0000000000001130, 0x0000000000000010 => [0x0000000000001130, 0x0000000000001140)
 #DWARF-CHECK: {{.*}} [DW_RLE_end_of_list ]


        


More information about the llvm-commits mailing list