[PATCH libdrm v2 00/13] hide library symbols by default

Lucas De Marchi lucas.demarchi at intel.com
Thu Sep 13 23:57:11 UTC 2018


Rely on -fvisibility=hidden to hide the symbols. Previous version of
this series applying only to drm_intel.so is

	Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>

but it's not included here since I changed the approach for the build
system change.

drm_private can also be removed from other symbols but it proved to be
a lot of manual work to re-align all the fields, so I decided to leave
it to be done on top as a cleanup.

There were lots of changes to param alignement that had to be done
manually, I may have missed some.

Changes from v1:
	- Include changes for all other sub-libraries
	- Include changes to autotools
	- Make main Makefil.am and meson.build define the required
	  flag

This is build-tested locally and on gitlab:
https://gitlab.freedesktop.org/demarchi/drm/pipelines/4339

Lucas De Marchi (13):
  intel: annotate public functions
  libkms: annotate public functions
  nouveau: annotate public functions
  libkms: annotate public functions
  libdrm: annotate public functions
  etnaviv: annotate public functions
  freedreno: annotate public functions
  omap: annotate public functions
  radeon: annotate public functions
  tegra: annotate public functions
  exynos: annotate public functions
  meson: make symbols hidden by default
  autotools: make symbols hidden by default

 Makefile.am                      |   1 +
 amdgpu/Makefile.am               |   1 +
 amdgpu/amdgpu_bo.c               | 104 ++++++------
 amdgpu/amdgpu_cs.c               | 137 +++++++--------
 amdgpu/amdgpu_device.c           |  19 ++-
 amdgpu/amdgpu_gpu_info.c         |  51 +++---
 amdgpu/amdgpu_vamgr.c            |  24 +--
 amdgpu/amdgpu_vm.c               |   5 +-
 amdgpu/meson.build               |   2 +-
 etnaviv/Makefile.am              |   1 +
 etnaviv/etnaviv_bo.c             |  25 +--
 etnaviv/etnaviv_cmd_stream.c     |  21 ++-
 etnaviv/etnaviv_device.c         |  10 +-
 etnaviv/etnaviv_gpu.c            |   6 +-
 etnaviv/etnaviv_perfmon.c        |   8 +-
 etnaviv/etnaviv_pipe.c           |   8 +-
 etnaviv/meson.build              |   2 +-
 exynos/Makefile.am               |   1 +
 exynos/exynos_drm.c              |  30 ++--
 exynos/exynos_fimg2d.c           |  20 +--
 exynos/meson.build               |   2 +-
 freedreno/Makefile.am            |   1 +
 freedreno/freedreno_bo.c         |  32 ++--
 freedreno/freedreno_device.c     |  12 +-
 freedreno/freedreno_pipe.c       |  14 +-
 freedreno/freedreno_ringbuffer.c |  40 ++---
 freedreno/meson.build            |   2 +-
 intel/Makefile.am                |   1 +
 intel/intel_bufmgr.c             |  64 +++----
 intel/intel_bufmgr_fake.c        |  10 +-
 intel/intel_bufmgr_gem.c         |  73 ++++----
 intel/intel_decode.c             |  14 +-
 intel/meson.build                |   4 +-
 libdrm_macros.h                  |   2 +
 libkms/Makefile.am               |   1 +
 libkms/api.c                     |  16 +-
 libkms/meson.build               |   2 +-
 meson.build                      |   5 +-
 nouveau/Makefile.am              |   1 +
 nouveau/bufctx.c                 |  10 +-
 nouveau/meson.build              |   2 +-
 nouveau/nouveau.c                |  50 +++---
 nouveau/pushbuf.c                |  18 +-
 omap/Makefile.am                 |   1 +
 omap/meson.build                 |   2 +-
 omap/omap_drm.c                  |  36 ++--
 radeon/Makefile.am               |   1 +
 radeon/meson.build               |   2 +-
 radeon/radeon_bo.c               |  24 +--
 radeon/radeon_bo_gem.c           |  16 +-
 radeon/radeon_cs.c               |  24 +--
 radeon/radeon_cs_gem.c           |   4 +-
 radeon/radeon_cs_space.c         |   6 +-
 radeon/radeon_surface.c          |   8 +-
 tegra/Makefile.am                |   3 +-
 tegra/meson.build                |   2 +-
 tegra/tegra.c                    |  26 +--
 tests/Makefile.am                |   1 +
 tests/amdgpu/Makefile.am         |   1 +
 tests/etnaviv/Makefile.am        |   1 +
 tests/exynos/Makefile.am         |   1 +
 tests/exynos/meson.build         |   6 +-
 tests/kms/Makefile.am            |   3 +-
 tests/kms/meson.build            |   2 +-
 tests/kmstest/Makefile.am        |   1 +
 tests/kmstest/meson.build        |   2 +-
 tests/meson.build                |   8 +-
 tests/modeprint/Makefile.am      |   1 +
 tests/modeprint/meson.build      |   2 +-
 tests/modetest/Makefile.am       |   1 +
 tests/modetest/meson.build       |   2 +-
 tests/nouveau/Makefile.am        |   1 +
 tests/nouveau/meson.build        |   2 +-
 tests/proptest/Makefile.am       |   1 +
 tests/proptest/meson.build       |   2 +-
 tests/radeon/Makefile.am         |   1 +
 tests/radeon/meson.build         |   2 +-
 tests/tegra/Makefile.am          |   4 +-
 tests/tegra/meson.build          |   2 +-
 tests/vbltest/Makefile.am        |   1 +
 tests/vbltest/meson.build        |   2 +-
 vc4/Makefile.am                  |   1 +
 xf86drm.c                        | 276 ++++++++++++++++---------------
 xf86drmHash.c                    |  15 +-
 xf86drmMode.c                    | 158 ++++++++++--------
 xf86drmRandom.c                  |   9 +-
 xf86drmSL.c                      |  23 +--
 87 files changed, 803 insertions(+), 736 deletions(-)

-- 
2.17.1



More information about the dri-devel mailing list