fix vdpau interop when using -Bsymbolic-functions in ldflags

Explicitly add radeon_drm_winsys_create and nouveau_drm_screen_create to
the dynamic list. This will ensure vdpau interop still works even when
the user links with -Bsymbolic-functions in hardened builds.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Tested-by: Rachel Greenham <rachel@strangenoises.org>
Reported-by: Peter Frühberger <peter.fruehberger@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
Maarten Lankhorst 2014-03-06 15:20:56 +01:00
parent 952fda4d3f
commit 8c136b53b7
9 changed files with 25 additions and 7 deletions

View file

@ -35,7 +35,9 @@ dri_LTLIBRARIES = nouveau_dri.la
nodist_EXTRA_nouveau_dri_la_SOURCES = dummy.cpp
nouveau_dri_la_SOURCES = target.c
nouveau_dri_la_LDFLAGS = $(GALLIUM_DRI_LINKER_FLAGS)
nouveau_dri_la_LDFLAGS = \
$(GALLIUM_DRI_LINKER_FLAGS) \
-Wl,--dynamic-list=$(srcdir)/nouveau_dri.dyn
nouveau_dri_la_LIBADD = \
$(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \

View file

@ -0,0 +1,3 @@
{
nouveau_drm_screen_create;
};

View file

@ -37,7 +37,9 @@ nodist_EXTRA_r300_dri_la_SOURCES = dummy.cpp
r300_dri_la_SOURCES = \
drm_target.c
r300_dri_la_LDFLAGS = $(GALLIUM_DRI_LINKER_FLAGS)
r300_dri_la_LDFLAGS = \
$(GALLIUM_DRI_LINKER_FLAGS) \
-Wl,--dynamic-list=$(srcdir)/radeon.dyn
r300_dri_la_LIBADD = \
$(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \

View file

@ -0,0 +1,3 @@
{
radeon_drm_winsys_create;
};

View file

@ -36,7 +36,9 @@ dri_LTLIBRARIES = r600_dri.la
r600_dri_la_SOURCES = \
drm_target.c
r600_dri_la_LDFLAGS = $(GALLIUM_DRI_LINKER_FLAGS)
r600_dri_la_LDFLAGS = \
$(GALLIUM_DRI_LINKER_FLAGS) \
-Wl,--dynamic-list=$(srcdir)/../../r300/dri/radeon.dyn
r600_dri_la_LIBADD = \
$(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \

View file

@ -35,7 +35,8 @@ libvdpau_r600_la_SOURCES = \
$(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c
libvdpau_r600_la_LDFLAGS = \
$(GALLIUM_VDPAU_LINKER_FLAGS)
$(GALLIUM_VDPAU_LINKER_FLAGS) \
-Wl,--dynamic-list=$(srcdir)/../../r300/dri/radeon.dyn
libvdpau_r600_la_LIBADD = \
$(top_builddir)/src/gallium/drivers/r600/libr600.la \

View file

@ -37,7 +37,9 @@ nodist_EXTRA_radeonsi_dri_la_SOURCES = dummy.cpp
radeonsi_dri_la_SOURCES = \
drm_target.c
radeonsi_dri_la_LDFLAGS = $(GALLIUM_DRI_LINKER_FLAGS)
radeonsi_dri_la_LDFLAGS = \
$(GALLIUM_DRI_LINKER_FLAGS) \
-Wl,--dynamic-list=$(srcdir)/../../r300/dri/radeon.dyn
radeonsi_dri_la_LIBADD = \
$(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \

View file

@ -36,7 +36,9 @@ libvdpau_radeonsi_la_SOURCES = \
$(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c
libvdpau_radeonsi_la_LDFLAGS = \
$(GALLIUM_VDPAU_LINKER_FLAGS)
$(GALLIUM_VDPAU_LINKER_FLAGS) \
-Wl,--dynamic-list=$(srcdir)/../../r300/dri/radeon.dyn
libvdpau_radeonsi_la_LIBADD = \
$(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \

View file

@ -36,7 +36,8 @@ libvdpau_nouveau_la_SOURCES = \
$(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c
libvdpau_nouveau_la_LDFLAGS = \
$(GALLIUM_VDPAU_LINKER_FLAGS)
$(GALLIUM_VDPAU_LINKER_FLAGS) \
-Wl,--dynamic-list=$(srcdir)/../dri-nouveau/nouveau_dri.dyn
libvdpau_nouveau_la_LIBADD = \
$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \