[Mesa-dev] [PATCH 00/22] Exported symbols cleanup and tests

Emil Velikov emil.l.velikov at gmail.com
Sat Feb 8 08:03:45 PST 2014


Hello list,

Continuing with another not so interesting area of mesa - cleaning up
the exported symbols and adding make check tests.

Note: Most of these patches are rather dull and may cause boredom or
sleepiness :-)

Before proceeding make sure that with-llvm-shared-libs is set, otherwise
the modules will export every llvm symbol imaginable and make check will
fail. The above option will default to enabled/with with mesa 10.1 and
later once patch is commited.

Brief/highlights:
 - Cleans up symbols that has been incorrectly marked as PUBLIC.
 - Adds VISIBILITY_CFLAGS on a handful of places within automake.
 - Adds tests so that make check shouts loudly if we're exporting too
many symbols.
 - Mainly T symbols are checked, due to the reasons listed in the next
 point.
 - Drivers using stl (r600 and nouveau I'm looking at you), provide a
handfull of exported weak symbols due to gcc design feature [1]. Those
have been left as is.
 - Finally VISIBILITY_CFLAGS has been compacted into DEFINES. The cases
that break (if any) should be fixed approapriately.
 - There is a few more places that could use similar treatment. To be
continued ...

As usual a branch cleanup-exported-symbols-v2 can be found over at 
https://github.com/evelikov/Mesa/


Runtime tested on my rusty old nv96 (nouveau), using the dri and vdpau
state-trackers.
make check tested for every possible test, with swrast, nouveau and r600.

Feel free to take a look and more importantly _please_ give them a test.

Thanks
Emil

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36022

Emil Velikov (22):
      auxiliary/pipe-loader: automake: avoid exporting all symbols
      targets/pipe-loader: automake: drop obsolete version-script
      st/gbm: automake: do not export gbm_gallium_drm_device_create
      gbm: automake: add VISIBILITY_CFLAGS
      gbm: do not export _gbm_mesa_get_device
      targets/gbm: automake: do not export internal symbols
      gbm: automake: add symbol tests
      targets/egl-static: automake: don't export local symbols
      st/egl: automake: avoid exporting all symbols
      wayland-egl: automake: add symbol test
      egl: automake: add symbol test
      targets/egl-static: automake: drop obsolete version-script
      st/vdpau: do not export VdpPresentationQueueTargetCreateX11
      st/vdpau: automake: export only PUBLIC symbols
      targets/vdpau: automake: add exported symbol tests
      targets/dri: automake: add test for exported symbols
      targets/xvmc: add automake test to check for exported symbols
      osmesa: drop obsolete AM_CXXFLAGS
      omx: use VISIBILITY_CFLAGS to control exported symbols
      st/clover: use VISIBILITY_CXXFLAGS where approapriate
      automake: fold VISIBILITY_CFLAGS within DEFINES
      targets/omx: automake: add symbol test

  59 files changed, 369 insertions(+), 70 deletions(-)



More information about the mesa-dev mailing list