[Mesa-dev] [PATCH] egl/dri2: add a libname to dlopen for OpenBSD

Emil Velikov emil.l.velikov at gmail.com
Mon Oct 17 11:39:11 UTC 2016


On 17 October 2016 at 10:53, Eric Engestrom <eric.engestrom at imgtec.com> wrote:
> On Sunday, 2016-10-16 16:38:35 +1100, Jonathan Gray wrote:
>> On OpenBSD try to dlopen 'libglapi.so', ld.so will find
>> the highest major/minor version and open it in this case.
>>
>> Avoids '#error Unknown glapi provider for this platform' at build time.
>>
>> Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
>
> LGTM, and I guess the other *BSD will want the same since 7a9c92d0 broke
> them too.
>
I'm not 100% sure about that. OpenBSD (unlike other BSD) did bump the
major when the ABI breaks due to 'internal' changes - think of
off_t/time_t on 32 vs 64bit systems and alike.

Unlike Linux kernel/distros, BSDs tend to be more relaxed when in
comes to ABI, I believe. Don't quote me on that one ;-)

> Fixes: 7a9c92d071d010066349 ("egl/dri2: non-shared glapi cleanups")
> Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
>
> Side note, I don't understand why we hardcode the version everywhere
> (except Android). I can see it's been like that since that code was
> added nearly 6 years ago (218381d9), but I couldn't find an explanation
> in the logs, or any mention of it in the thread I found [1].
> Emil, do you know?
>
The ABI must be stable. Since a) we (and linux distros in general)
have the greater flexibility to "mix and match" components and b)
glapi is/was used by xserver as well, the initial goal was that the
ABI should not break, ever. See some the src/mapi changes by Brian
Paul, which rework the nop calls due to different calling convention
and stack corruption on Windows and the follow up fix to keep those
Windows only and stable for everyone else
be71bbfaa2ad201b570b56847a13328fc359d0ee.

Emil


More information about the mesa-dev mailing list