• Alessandro Arzilli's avatar
    cmd/compile: output DWARF lexical blocks for local variables · 2ad41a30
    Alessandro Arzilli authored
    Change compiler and linker to emit DWARF lexical blocks in .debug_info
    section when compiling with -N -l.
    
    Version of debug_info is updated from DWARF v2 to DWARF v3 since
    version 2 does not allow lexical blocks with discontinuous PC ranges.
    
    Remaining open problems:
    - scope information is removed from inlined functions
    - variables records do not have DW_AT_start_scope attributes so a
    variable will shadow other variables with the same name as soon as its
    containing scope begins, even before its declaration.
    
    Updates #6913.
    Updates #12899.
    
    Change-Id: Idc6808788512ea20e7e45bcf782453acb416fb49
    Reviewed-on: https://go-review.googlesource.com/40095
    Run-TryBot: Matthew Dempsky <mdempsky@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
    Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
    2ad41a30
noder.go 26.8 KB