https://sourceware.org/bugzilla/show_bug.cgi?id=27210
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |NOTABUG Status|UNCONFIRMED |RESOLVED --- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Fangrui Song from comment #0) > cat > a.s <<eof > .globl foo > .symver foo, foo@v1 > foo: nop > eof > echo 'v1 {};' > a.ver > cat > b.s <<eof > .globl foo_v1 > foo_v1: nop > .symver foo_v1, foo@v1 > eof > > exit > > > GNU ld has a special rule removing foo if foo@v1 is defined. gold and LLD This is done on purpose. A single '@' defines a 'hidden' versioned symbol, which is intended for dynamic linker and shouldn't be used by ld to satisfy the unversioned reference. ld behavior is correct. -- You are receiving this mail because: You are on the CC list for the bug.