[Mesa-dev] [PATCH 2/4] targets/xa: limit the amount of exported symbols
Emil Velikov
emil.l.velikov at gmail.com
Wed May 14 05:04:18 PDT 2014
ping for the series
If there is no objections I would like to push these over the weekend.
Cheers,
Emil
On 09/05/14 18:10, Emil Velikov wrote:
> ping
>
> Thomas, Rob,
> Can you please take a look if the patch makes sense ? I have double checked
> that only the required functions are exported although I may have missed
> something. IMHO you both know XA API a lot better than me :)
>
> Thanks
> Emil
>
> On 02/05/14 22:02, Emil Velikov wrote:
>> In the presence of LLVM the final library exports every symbol from
>> the llvm namespace. Resolve this by using a version script (w/o the
>> version/name tag).
>>
>> Considering that there are only ~35 symbols, explicitly list them
>> to minimize the chances of rogue symbols sneaking in.
>>
>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
>> ---
>> src/gallium/targets/xa/Makefile.am | 1 +
>> src/gallium/targets/xa/xa.sym | 38 ++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 39 insertions(+)
>> create mode 100644 src/gallium/targets/xa/xa.sym
>>
>> diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am
>> index 2619e57..17cd6c4 100644
>> --- a/src/gallium/targets/xa/Makefile.am
>> +++ b/src/gallium/targets/xa/Makefile.am
>> @@ -63,6 +63,7 @@ endif
>> libxatracker_la_LDFLAGS = \
>> -no-undefined \
>> -version-number $(XA_MAJOR):$(XA_MINOR):$(XA_TINY) \
>> + -Wl,--version-script=$(top_srcdir)/src/gallium/targets/xa/xa.sym \
>> $(GC_SECTIONS) \
>> $(LD_NO_UNDEFINED)
>>
>> diff --git a/src/gallium/targets/xa/xa.sym b/src/gallium/targets/xa/xa.sym
>> new file mode 100644
>> index 0000000..9c7f422
>> --- /dev/null
>> +++ b/src/gallium/targets/xa/xa.sym
>> @@ -0,0 +1,38 @@
>> +{
>> + global:
>> + xa_composite_allocation;
>> + xa_composite_check_accelerated;
>> + xa_composite_done;
>> + xa_composite_prepare;
>> + xa_composite_rect;
>> + xa_context_create;
>> + xa_context_default;
>> + xa_context_destroy;
>> + xa_context_flush;
>> + xa_copy;
>> + xa_copy_done;
>> + xa_copy_prepare;
>> + xa_fence_get;
>> + xa_fence_wait;
>> + xa_fence_destroy;
>> + xa_format_check_supported;
>> + xa_solid;
>> + xa_solid_done;
>> + xa_solid_prepare;
>> + xa_surface_create;
>> + xa_surface_dma;
>> + xa_surface_format;
>> + xa_surface_from_handle;
>> + xa_surface_handle;
>> + xa_surface_map;
>> + xa_surface_redefine;
>> + xa_surface_ref;
>> + xa_surface_unmap;
>> + xa_surface_unref;
>> + xa_tracker_create;
>> + xa_tracker_destroy;
>> + xa_tracker_version;
>> + xa_yuv_planar_blit;
>> + local:
>> + *;
>> +};
>>
>
More information about the mesa-dev
mailing list