This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: OpenBSD shared library external versioning


On Sat, Jun 16, 2018 at 11:23 AM, Cary Coutant <ccoutant@gmail.com> wrote:
> 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.

not sure but it looks to me like openbsd's ld has diverged quite a bit
from upstream and includes this,
in emultempl/elf32.em:gld${EMULATION_NAME}_search_dir,
looking at a few commits around the date range of the last FSF copyright date,
i don't see it in a gnu release.

>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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]