OpenBSD shared library external versioning
Cary Coutant
ccoutant@gmail.com
Sat Jun 16 18:23:00 GMT 2018
In PR 23295, the following claim is made:
> On OpenBSD (at least), shared libraries are in the form
> libname.so.X.Y, where X and Y are both versioned symbol numbers.
> As I understand gold's code in fileread.cc,
> Input_file::find_file, if you are not linking statically gold
> will take each -lname given to it, construct a libname.so and
> libname.a, and push both onto the search list.
>
> This setup does not work for OpenBSD, since there are no bare
> libname.so shared libraries (with rare exception) gold can never
> find the shared libraries. I intend to eventually prepare a patch
> that would permit adding libname.so.X.Y (and likely also
> libname.so.X as well in case any systems use that scheme) to the
> search list but am submitting the bug report now in case it is in
> fact easy enough for someone else to just do it.
Please tell me that ld.bfd doesn't do something as absurd as what he's
proposing. I've explained how symlinks and sonames work, but he claims
OpenBSD just doesn't do it that way. I looked through ldfile.c and the
emultempl/elf32.em version of open_dynamic_archive, but couldn't find
anything that would support that.
-cary
More information about the Binutils
mailing list