[Mesa-dev] [PATCH 08/16] targets/vdpau: use version script to limit the exported symbols
Emil Velikov
emil.l.velikov at gmail.com
Sat Apr 5 02:47:34 PDT 2014
On 05/04/14 10:34, Christian König wrote:
> 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.
>
Short story "trust me on this one" :) Long story read Ulrich Drepper's paper
http://people.redhat.com/drepper/dsohowto.pdf
-Emil
> 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