[llvm-bugs] [Bug 44274] New: Unknown standard opcodes printed as (null) in prologue

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Dec 11 05:57:10 PST 2019


https://bugs.llvm.org/show_bug.cgi?id=44274

            Bug ID: 44274
           Summary: Unknown standard opcodes printed as (null) in prologue
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: DebugInfo
          Assignee: unassignedbugs at nondot.org
          Reporter: jh7370.2008 at my.bristol.ac.uk
                CC: jdevlieghere at apple.com, keith.walker at arm.com,
                    llvm-bugs at lists.llvm.org,
                    paul_robinson at playstation.sony.com

If the opcode base of a line table prologue is higher than 13 (i.e. the program
defines unknown standard opcodes), the unknown opcodes are printed as "(null)"
in the array, which doesn't look great. We should probably print something like
"DW_LNS_unknown" instead, which roughly matches what is done for unknown
DW_AT_* and other DWARF constants.

See test/tools/llvm-dwarfdump/X86/debug-line.s for an example:

# CHECK-NEXT:      opcode_base: 14
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_copy] = 0
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_advance_pc] = 1
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_advance_line] = 1
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_set_file] = 1
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_set_column] = 1
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_negate_stmt] = 0
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_set_basic_block] = 0
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_const_add_pc] = 0
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
# CHECK-NEXT: standard_opcode_lengths[DW_LNS_set_isa] = 1
# CHECK-NEXT: standard_opcode_lengths[(null)] = 0 *** BAD ***

The verbose dumping currently prints these as an empty string, probably for the
same reason at a guess.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20191211/d8e6de41/attachment.html>


More information about the llvm-bugs mailing list