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=E2=80=99ll 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:
>=20
> 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.
>>=20
>> 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.
>>=20
>> 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?
>=20
> 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.
>=20
> 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>