• Michael Hudson-Doyle's avatar
    cmd/link: do not add duplicate symbols to Allsym · 956e9e6c
    Michael Hudson-Doyle authored
    When building shared libraries, all symbols on Allsym are marked reachable.
    What I didn't realize was that this includes the ".dup" symbols created when
    "dupok" symbols are read from multiple package files. This breaks now because
    deadcode makes some assumptions that fail for these ".dup" symbols, but in any
    case was a bad idea -- I suspect this change makes libstd.so a bunch smaller,
    but creating it was broken before this CL so I can't be sure.
    
    This change simply stops adding these symbols to Allsym, which might make some
    of the many iterations over Allsym the linker does a touch quicker, although
    that's not the motivation here.
    
    Add a test that no symbols called ".dup" makes it into the runtime shared
    library.
    
    Fixes #14841
    
    Change-Id: I65dd6e88d150a770db2d01b75cfe5db5fd4f8d25
    Reviewed-on: https://go-review.googlesource.com/20780
    Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    956e9e6c
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...