[PATCH libdrm 00/24] Annotate private symbols, drop drm_public macro

Emil Velikov emil.l.velikov at gmail.com
Tue Apr 21 08:41:58 PDT 2015


Hi all,

Pretty much all the feedback that I've received has been addressed. If
you have anything to share please go ahead, otherwise I will be
pushing this tomorrow/the day after.

Thanks
Emil

On 1 April 2015 at 17:15, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> Hi all,
>
> As mentioned by Alan, some compilers do not like it when the symbol
> declaration and definition differ wrt their visibility attribute.
>
> Afaict there are three ways to handle this;
>  - Add the drm_public macro into the public headers, and annotate the
> declarations.
>  - Use version script to limit the exported symbols.
>  - Remove the drm_public macro/VISIBILITY_CFLAGS and annotate the
> private symbols.
>
> From the above three I believe that 3) is the better one as:
>  - it does not add drm_public to the library API,
>  - does not rely on features that some platform may be missing (or
> require singling out every platform in the configure.ac script).
>
> So I've went ahead with 3), added a few tests and wired them to
> `make check' so that one can easily catch problems.
>
> I have checked that the libraries do not export any new symbols and the
> scripts work as intended nearly a dozen times :-)
>
> The whole series can be found in branch reannotate-symbols at
> https://github.com/evelikov/libdrm
>
> Cheers,
> Emil
>
>


More information about the dri-devel mailing list