diff options
author | Chad Versace <[email protected]> | 2013-08-01 08:10:31 -0700 |
---|---|---|
committer | Chad Versace <[email protected]> | 2013-08-08 15:17:51 -0700 |
commit | 2c2e64edaba0f6aeb181ca5b51eb8dea8e9b39f9 (patch) | |
tree | 01dbda144eb51ee72d134f32bdea215fd0cfcd4d /src/egl/drivers | |
parent | fb3d62fe3d4fc40ba4ad9804d8b6f451316c9ae2 (diff) |
egl: Do not export private symbols
libEGL was incorrectly exporting *all* symbols, public and private.
This patch adds -fvisibility=hidden to libEGL's linker flags to ensure
that only symbols annotated with __attribute__((visibility("default")))
get exported.
Sanity-checked with libEGL's builtin DRI2 driver and the i965 DRI driver
by running Piglit on X/EGL and by running weston-gears on Weston as an
X client.
Sanity-checked with libEGL's Gallium driver (which is not built-in) and
the swrast Gallium driver by running es2gears_x11.
Kristian reviewed the symbol diff in `nm libEGL.so`.
CC: "9.2" <[email protected]>
CC: Ian Romanick <[email protected]>
Acked-by: Kristian Høgsberg <[email protected]>
Reviewed-by: Jakob Bornecrantz <[email protected]>
Signed-off-by: Chad Versace <[email protected]>
Diffstat (limited to 'src/egl/drivers')
-rw-r--r-- | src/egl/drivers/dri2/Makefile.am | 1 | ||||
-rw-r--r-- | src/egl/drivers/glx/Makefile.am | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/egl/drivers/dri2/Makefile.am b/src/egl/drivers/dri2/Makefile.am index 45f7dfa4b02..823ef5e369a 100644 --- a/src/egl/drivers/dri2/Makefile.am +++ b/src/egl/drivers/dri2/Makefile.am @@ -28,6 +28,7 @@ AM_CFLAGS = \ -I$(top_srcdir)/src/egl/wayland/wayland-drm \ -I$(top_builddir)/src/egl/wayland/wayland-drm \ $(DEFINES) \ + $(VISIBILITY_CFLAGS) \ $(LIBDRM_CFLAGS) \ $(LIBUDEV_CFLAGS) \ $(LIBKMS_CFLAGS) \ diff --git a/src/egl/drivers/glx/Makefile.am b/src/egl/drivers/glx/Makefile.am index 6bf67eaebbe..6db95b40cd4 100644 --- a/src/egl/drivers/glx/Makefile.am +++ b/src/egl/drivers/glx/Makefile.am @@ -22,6 +22,7 @@ AM_CFLAGS = \ -I$(top_srcdir)/include \ -I$(top_srcdir)/src/egl/main \ + $(VISIBILITY_CFLAGS) \ $(X11_CFLAGS) \ $(DEFINES) |