• Ian Lance Taylor's avatar
    cmd/cgo: preserve type information across loadDWARF loop · 6d435870
    Ian Lance Taylor authored
    CL 122575 and its successors introduced a loop calling loadDWARF,
    whereas before we only called it once. Pass a single typeConv to each
    call, rather than creating a new one in loadDWARF itself. Change the
    maps from dwarf.Type to use string keys rather than dwarf.Type keys,
    since when the DWARF is reloaded the dwarf.Type pointers will be
    different. These changes permit typeConv.Type to return a consistent
    value for a given DWARF type, avoiding spurious type conversion errors
    due to typedefs loaded after the first loop iteration.
    
    Fixes #27340
    
    Change-Id: Ic33467bbfca4c54e95909621b35ba2a58216d96e
    Reviewed-on: https://go-review.googlesource.com/c/152762
    Run-TryBot: Ian Lance Taylor <iant@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    6d435870
issue27340.go 341 Bytes