[Mesa-dev] [PATCH 08/16] targets/vdpau: use version script to limit the exported symbols

Christian König christian.koenig at amd.com
Sat Apr 5 02:34:38 PDT 2014


Am 05.04.2014 03:46, schrieb Emil Velikov:
> Using export-symbols-regex is the least desirable method of restricting
> the exported symbols, as is completely messes up with the symbol table.

Why? As far as I can tell it does exactly what it is supposed to do.

Christian.

>
> Cc: Christian König <christian.koenig at amd.com>
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> ---
>   src/gallium/Automake.inc                       | 2 +-
>   src/gallium/targets/r600/vdpau/Makefile.am     | 2 --
>   src/gallium/targets/radeonsi/vdpau/Makefile.am | 2 --
>   src/gallium/targets/vdpau-nouveau/Makefile.am  | 2 --
>   src/gallium/targets/vdpau.sym                  | 8 ++++++++
>   5 files changed, 9 insertions(+), 7 deletions(-)
>   create mode 100644 src/gallium/targets/vdpau.sym
>
> diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc
> index 2fbea6e..b52b34c 100644
> --- a/src/gallium/Automake.inc
> +++ b/src/gallium/Automake.inc
> @@ -63,7 +63,7 @@ GALLIUM_VDPAU_LINKER_FLAGS = \
>   	-module \
>   	-no-undefined \
>   	-version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \
> -	-export-symbols-regex $(VDPAU_EXPORTS) \
> +	-Wl,--version-script=$(top_srcdir)/src/gallium/targets/vdpau.sym \
>   	$(GC_SECTIONS) \
>   	-Wl,--no-undefined
>   
> diff --git a/src/gallium/targets/r600/vdpau/Makefile.am b/src/gallium/targets/r600/vdpau/Makefile.am
> index 455d90f..b212024 100644
> --- a/src/gallium/targets/r600/vdpau/Makefile.am
> +++ b/src/gallium/targets/r600/vdpau/Makefile.am
> @@ -20,8 +20,6 @@
>   # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>   # DEALINGS IN THE SOFTWARE.
>   
> -# Note: Make sure VDPAU_EXPORTS is defined before including Automake.inc
> -VDPAU_EXPORTS = '^(vdp_imp_device_create_x11|radeon_drm_winsys_create)$$'
>   include $(top_srcdir)/src/gallium/Automake.inc
>   
>   AM_CFLAGS = \
> diff --git a/src/gallium/targets/radeonsi/vdpau/Makefile.am b/src/gallium/targets/radeonsi/vdpau/Makefile.am
> index b8dcf88..975ae78 100644
> --- a/src/gallium/targets/radeonsi/vdpau/Makefile.am
> +++ b/src/gallium/targets/radeonsi/vdpau/Makefile.am
> @@ -20,8 +20,6 @@
>   # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>   # DEALINGS IN THE SOFTWARE.
>   
> -# Note: Make sure VDPAU_EXPORTS is defined before including Automake.inc
> -VDPAU_EXPORTS = '^(vdp_imp_device_create_x11|radeon_drm_winsys_create)$$'
>   include $(top_srcdir)/src/gallium/Automake.inc
>   
>   AM_CFLAGS = \
> diff --git a/src/gallium/targets/vdpau-nouveau/Makefile.am b/src/gallium/targets/vdpau-nouveau/Makefile.am
> index de1adf8..36d2f47 100644
> --- a/src/gallium/targets/vdpau-nouveau/Makefile.am
> +++ b/src/gallium/targets/vdpau-nouveau/Makefile.am
> @@ -20,8 +20,6 @@
>   # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>   # DEALINGS IN THE SOFTWARE.
>   
> -# Note: Make sure VDPAU_EXPORTS is defined before including Automake.inc
> -VDPAU_EXPORTS = '^(vdp_imp_device_create_x11|nouveau_drm_screen_create)$$'
>   include $(top_srcdir)/src/gallium/Automake.inc
>   
>   AM_CFLAGS = \
> diff --git a/src/gallium/targets/vdpau.sym b/src/gallium/targets/vdpau.sym
> new file mode 100644
> index 0000000..f184193
> --- /dev/null
> +++ b/src/gallium/targets/vdpau.sym
> @@ -0,0 +1,8 @@
> +{
> +       global:
> +               vdp_imp_device_create_x11;
> +               nouveau_drm_screen_create;
> +               radeon_drm_winsys_create;
> +       local:
> +               *;
> +};



More information about the mesa-dev mailing list