All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH libdrm 00/24] Annotate private symbols, drop drm_public macro
@ 2015-04-01 16:15 Emil Velikov
  2015-04-01 16:15 ` [PATCH libdrm 01/24] configure.ac: split -fvisibility and __attribute__((visibility)) checks Emil Velikov
                   ` (24 more replies)
  0 siblings, 25 replies; 45+ messages in thread
From: Emil Velikov @ 2015-04-01 16:15 UTC (permalink / raw)
  To: dri-devel; +Cc: emil.l.velikov

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


_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2015-04-21 15:41 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-01 16:15 [PATCH libdrm 00/24] Annotate private symbols, drop drm_public macro Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 01/24] configure.ac: split -fvisibility and __attribute__((visibility)) checks Emil Velikov
2015-04-08  0:18   ` Alan Coopersmith
2015-04-01 16:15 ` [PATCH libdrm 02/24] radeon: remove empty function declarations Emil Velikov
2015-04-01 17:30   ` Jerome Glisse
2015-04-01 20:34     ` Emil Velikov
2015-04-01 20:57       ` Emil Velikov
2015-04-01 21:26         ` Jerome Glisse
2015-04-01 22:04           ` Emil Velikov
2015-04-02  3:51             ` Jerome Glisse
2015-04-01 21:24       ` Jerome Glisse
2015-04-01 16:15 ` [PATCH libdrm 03/24] radeon: remove unused functions Emil Velikov
2015-04-01 17:31   ` Jerome Glisse
2015-04-01 16:15 ` [PATCH libdrm 04/24] radeon: annotate bof_incref, bof_string functions as static Emil Velikov
2015-04-01 17:31   ` Jerome Glisse
2015-04-01 17:32   ` Jerome Glisse
2015-04-01 16:15 ` [PATCH libdrm 05/24] radeon: remove more unused functions Emil Velikov
2015-04-01 17:32   ` Jerome Glisse
2015-04-01 16:15 ` [PATCH libdrm 06/24] radeon: remove no-longer used static functions Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 07/24] radeon: annotate the private symbols Emil Velikov
2015-04-02  2:48   ` Michel Dänzer
2015-04-02  3:57     ` Jerome Glisse
2015-04-02 23:10       ` Emil Velikov
2015-04-05 15:29         ` [PATCH libdrm v2 02/19] radeon: move bof.[ch] out of libdrm_radeon Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 08/24] radeon: add symbols test Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 09/24] freedreno: annotate the private symbols Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 10/24] freedreno: add symbols test Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 11/24] intel: remove the drm_mm* symbol workarounds Emil Velikov
2015-04-09 14:56   ` Emil Velikov
2015-04-10  6:05     ` Eric Anholt
2015-04-10 17:40       ` Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 12/24] intel: remove unused mmFindBlock Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 13/24] intel: annotate the private symbols Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 14/24] intel: add symbols test Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 15/24] nouveau: annotate the private symbols Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 16/24] nouveau: add symbols test Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 17/24] libkms: annotate private symbols Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 18/24] libkms: add symbols test Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 19/24] exynos: " Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 20/24] omap: " Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 21/24] tegra: " Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 22/24] drm: rename libdrm{,_macros}.h Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 23/24] drm: remove no longer needed VISIBILITY_CFLAGS Emil Velikov
2015-04-01 16:15 ` [PATCH libdrm 24/24] drm: remove drm_public macro Emil Velikov
2015-04-21 15:41 ` [PATCH libdrm 00/24] Annotate private symbols, drop " Emil Velikov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.