• A
    dwarf/line: fix some bugs with the state machine · 3f9875e2
    aarzilli 提交于
    Adds a test that compares the output of our state machine with the
    output of the debug_line reader in the standard library and checks that
    they produce the same output for the debug_line section of grafana as
    compiled on macOS (which is the most interesting case since it uses cgo
    and therefore goes through dsymutil).
    
    A few bugs were uncovered and fixed:
    
    1. is_stmt was reset improperly after a DW_LNS_end_sequence instruction
    2. basic_block, prologue_end and epilogue_begin were not reset after a
       DW_LNS_copy instruction
    3. some opcodes were not decoded properly if the debug_line section
       declares fewer standard opcodes than we know about.
    
    Fixes #1282
    3f9875e2
state_machine_test.go 2.7 KB