On 2024-02-06 14:28, Christian Kastner wrote:
> As discussed in this thread [1], libamd-comgr2 exports
> amd_comgr_get_isa_count@1.8 when upstream is at @2.0.
>
> This is because the symbol was erroneously not removed from @1.8 when it
> was added to @2.0 when the ABI changed.
Following [1] (bottom example), I updated the patch restoring the old
symbol with the suggested trickery, and together with the restored
export map, this seems to have worked.
unstable:
$nm -gD /usr/lib/x86_64-linux-gnu/libamd_comgr.so.2.4.0 | grep isa_count
005cbd10 T amd_comgr_get_isa_count@@amd_comgr_1.8
experimental+updated patch:
$ nm -gD /usr/lib/x86_64-linux-gnu/libamd_comgr.so.2.6.0 | grep isa_count
00491d70 T amd_comgr_get_isa_count@@amd_comgr_2.0
00491d70 T amd_comgr_get_isa_count@amd_comgr_1.8
To test this, I compiled a minimal test program using the old version.
Then I updated the library, and compiled a new test program. The old
program continued to work fine with @1.8, and the new one used @2.0.
I'm not sure how portable this is, but this is localized to us anyway.
Best,
Christian
[1] https://gcc.gnu.org/wiki/SymbolVersioning