[Mesa-dev] [PATCH 2/4] targets/xa: limit the amount of exported symbols
Thomas Hellstrom
thellstrom at vmware.com
Wed May 14 12:16:03 PDT 2014
Hi, I'm on vacation, so I have no way of testing this until next week.
/Thomas
On 05/14/2014 02:04 PM, Emil Velikov wrote:
> 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