[Mesa-dev] [PATCH 2/4] targets/xa: limit the amount of exported symbols

Emil Velikov emil.l.velikov at gmail.com
Tue May 20 17:04:38 PDT 2014


On 14/05/14 20:16, Thomas Hellstrom wrote:
> Hi, I'm on vacation, so I have no way of testing this until next week.
> 
Hi Thomas,

With the next week upon us can you spare a few minutes to check that I've not
butchered the API ?

Perhaps you'll have the chance to poke Brian to see patches 3/4 and 4/4 :)

Thanks
Emil

> /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