• Matthew Dempsky's avatar
    cmd/cgo: iterate over names in deterministic order · 03e6a88e
    Matthew Dempsky authored
    This makes GCC behavior (and cgo build failures) deterministic.
    
    Fixes #8487.
    
    Ran this shell command on linux/amd64 (Ubuntu 12.04) before and
    after this change:
    
        for x in `seq 100`; do
          go tool cgo -debug-gcc=true issue8441.go 2>&1 | md5sum
        done | sort | uniq -c
    
    Before:
        67 2cdcb8c7c4e290f7d9009abc581b83dd  -
        10 9a55390df94f7cec6d810f3e20590789  -
        10 acfad22140d43d9b9517bbc5dfc3c0df  -
        13 c337f8fee2304b3a8e3158a4362d8698  -
    
    After:
        100 785c316cbcbcd50896695050e2fa23c1  -
    
    LGTM=minux, iant
    R=golang-codereviews, bradfitz, minux, iant
    CC=golang-codereviews
    https://golang.org/cl/126990043
    03e6a88e
gcc.go 47.1 KB