The text file would map simply a symbol to a version, to be overridden in the generated ELF binary (exe or SO).
That way, the game devs don't need to build the "old" SOs and reconfigure the toolchain to use them, which is unreasonable to ask them (but this is expected from game engine elf/linux devs like unity/unreal/godot/etc) and a MASSIVE PAIN to make work properly (exponentially proportional on the abstraction level of the game/engine build system).
I correct myself: just overridding is shabby, once the linker has selected the the version of a symbol, it will pick the binary objecti(.o) where the this version is. And the semantic/dependency can vary from one version to another. See libc_start from glibc 2.34.
So I think we may have our solution to make the life of developers of binary-only distribution on elf/linux (for instance games) much better.
sourceware binutils ld need a "version selection" file which will define binary compatibility of the produced binaries.
That way, the game devs don't need to build the "old" SOs and reconfigure the toolchain to use them, which is unreasonable to ask them (but this is expected from game engine elf/linux devs like unity/unreal/godot/etc) and a MASSIVE PAIN to make work properly (exponentially proportional on the abstraction level of the game/engine build system).
While any "old" symbol version is not removed...