Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Jun 2017 14:21:26 -0500
From:      Lewis Donzis <lew@perftech.com>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Jilles Tjoelker <jilles@stack.nl>, Alexander Kabaev <kabaev@gmail.com>, deischen@freebsd.org, freebsd-arch@freebsd.org
Subject:   Re: mq on kqueue broken after upgrade to FreeBSD 11
Message-ID:  <1BFDEE3C-0621-43F4-82AB-BB030F00F39D@perftech.com>
In-Reply-To: <20170614141703.GN2088@kib.kiev.ua>
References:  <8A6CD0D3-C4D5-40DF-B2AD-4C454CC88AD1@perftech.com> <20160930094544.GP38409@kib.kiev.ua> <19A6EEAA-C68E-4DAD-B98F-4D904734BD8B@perftech.com> <20160930152006.GS38409@kib.kiev.ua> <20160930184418.1047afc2@kan> <20161001092515.GW38409@kib.kiev.ua> <20161001201655.GA91457@stack.nl> <20161001210722.GC38409@kib.kiev.ua> <C6959811-CC61-4366-99A0-717ECDBDD998@perftech.com> <20170614141703.GN2088@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

Ah, yes, I see that it's in 11.0-STABLE, but I suppose it's not in 11.0-RELEASE.

Thanks for that, we’ll either update to STABLE or just wait another month for 11.1-RELEASE.

Thanks,
lew

> On Jun 14, 2017, at 9:17 AM, Konstantin Belousov <kostikbel@gmail.com> wrote:
> 
> On Wed, Jun 14, 2017 at 08:38:35AM -0500, Lewis Donzis wrote:
>> We had a discussion last October about __mq_oshandle() no longer being visible in FreeBSD 11, and I think the result was that it should be put back in the Symbol.map.  There was also some discussion about renaming it.
>> 
>> At the moment (11.0-RELEASE-p10), the function is still missing from librt.so.1, but is present in librt.a.  What seems odd is that running ???make??? in /usr/src/lib/librt produces a librt.so.1 that *does* have this function.
>> 
>> I???m curious as to how it???s possible that librt.a has the function but the released librt.so.1 does not have it, yet rebuilding from source does include the function?
> 
> The versioning on librt was broken some time ago, but I think it was fixed
> before 11.0.  Anyway, it works for me in HEAD and stable/11.
> librt.a, as any static library, does not support versioning so any symbol
> from the library can be accessed by linked code.  This is one of the reasons
> why static linking is discouraged.
> 
> It was decided that a symbol in the app-useable namespace must be officially
> exported from librt, and we export mq_getfd_np() for your purposes.  Again,
> I am not sure was it done before 11.0 or after, but the symbol is definitely
> present in stable/11 and in upcoming 11.1.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1BFDEE3C-0621-43F4-82AB-BB030F00F39D>