A default version (@@) is only available for defined symbols.
Here is a corresponding code from GNU readelf:
if (sym_info == symbol_undefined)
printf ("@%s (%d)", version_string, vna_other);
else
printf (sym_info == symbol_hidden ? "@%s" : "@@%s",
version_string);Currently we use "@@" for undefined symbols too.
This patch fixes the issue and improves our test case.
Why not return directly as it did before?