• Michael Hudson-Doyle's avatar
    cmd/link: always read type data for dynimport symbols · 2f41edf1
    Michael Hudson-Doyle authored
    Consider three shared libraries:
    
     libBase.so -- defines a type T
     lib2.so    -- references type T
     lib3.so    -- also references type T, and something from lib2
    
    lib2.so will contain a type symbol for T in its symbol table, but no
    definition. If, when linking lib3.so the linker reads the symbols from lib2.so
    before libBase.so, the linker didn't read the type data and later crashed.
    
    The fix is trivial but the test change is a bit messy because the order the
    linker reads the shared libraries in ends up depending on the order of the
    import statements in the file so I had to rename one of the test packages so
    that gofmt doesn't fix the test by accident...
    
    Fixes #15516
    
    Change-Id: I124b058f782c900a3a54c15ed66a0d91d0cde5ce
    Reviewed-on: https://go-review.googlesource.com/22744
    Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    2f41edf1
Name
Last commit
Last update
..
errors Loading commit data...
fortran Loading commit data...
gmp Loading commit data...
life Loading commit data...
nocgo Loading commit data...
stdio Loading commit data...
test Loading commit data...
testasan Loading commit data...
testcarchive Loading commit data...
testcshared Loading commit data...
testgodefs Loading commit data...
testsanitizers Loading commit data...
testshared Loading commit data...
testsigfwd Loading commit data...
testso Loading commit data...
testsovar Loading commit data...
testtls Loading commit data...