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

Emil Velikov emil.l.velikov at gmail.com
Wed Apr 1 09:15:11 PDT 2015


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