[Mesa-dev] [PATCH 07/16] targets/omx: use version script to limit amount of exported symbols

Emil Velikov emil.l.velikov at gmail.com
Sat Apr 5 03:13:37 PDT 2014


On 05/04/14 11:02, Christian König wrote:
> Am 05.04.2014 12:01, schrieb Emil Velikov:
>> 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.
>>>>
>>>> radeon_drm_winsys_create is not needed, avoid exporting it.
>>> Please add that anyway, we are going to need OMX GL interop pretty soon.
>>>
>> IMHO the "add an exported symbol when needed" approach sounds slightly better,
>> but I can add it back if you really like it.
> 
> Fair enough.
> 
To clarify, should I add radeon_drm_winsys_create or the patch is ok as is ?

>>
>> Related: Is there any particular reason what the library is versioned but the
>> number is omitted/kept 0:) (i.e. libomx_r600.so.0.0.0) ?
> 
> Yeah, the reason is I'm lazy and coded this under time pressure.
> 
Would be great to have it in a stable state before distros start
building/shipping this by default.

I can send a patch, but I'm not sure how you feel - drop the versioning, or
promote to 1:0 ?  FWIW my "vote" goes for the former.

-Emil
> Christian.
> 
>>
>> -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/omx.sym                  | 6 ++++++
>>>>    src/gallium/targets/r600/omx/Makefile.am     | 2 --
>>>>    src/gallium/targets/radeonsi/omx/Makefile.am | 2 --
>>>>    4 files changed, 7 insertions(+), 5 deletions(-)
>>>>    create mode 100644 src/gallium/targets/omx.sym
>>>>
>>>> diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc
>>>> index a70ab6c..2fbea6e 100644
>>>> --- a/src/gallium/Automake.inc
>>>> +++ b/src/gallium/Automake.inc
>>>> @@ -80,7 +80,7 @@ GALLIUM_OMX_LINKER_FLAGS = \
>>>>        -shared \
>>>>        -module \
>>>>        -no-undefined \
>>>> -    -export-symbols-regex $(EXPORTS) \
>>>> +    -Wl,--version-script=$(top_srcdir)/src/gallium/targets/omx.sym \
>>>>        $(GC_SECTIONS) \
>>>>        -Wl,--no-undefined
>>>>    diff --git a/src/gallium/targets/omx.sym b/src/gallium/targets/omx.sym
>>>> new file mode 100644
>>>> index 0000000..af22aed
>>>> --- /dev/null
>>>> +++ b/src/gallium/targets/omx.sym
>>>> @@ -0,0 +1,6 @@
>>>> +{
>>>> +    global:
>>>> +        omx_component_library_Setup;
>>>> +    local:
>>>> +        *;
>>>> +};
>>>> diff --git a/src/gallium/targets/r600/omx/Makefile.am
>>>> b/src/gallium/targets/r600/omx/Makefile.am
>>>> index 2168db8..62e3970 100644
>>>> --- a/src/gallium/targets/r600/omx/Makefile.am
>>>> +++ b/src/gallium/targets/r600/omx/Makefile.am
>>>> @@ -20,8 +20,6 @@
>>>>    # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>>    # DEALINGS IN THE SOFTWARE.
>>>>    -EXPORTS = '^(omx_component_library_Setup|radeon_drm_winsys_create)$$'
>>>> -
>>>>    include $(top_srcdir)/src/gallium/Automake.inc
>>>>      AM_CFLAGS = \
>>>> diff --git a/src/gallium/targets/radeonsi/omx/Makefile.am
>>>> b/src/gallium/targets/radeonsi/omx/Makefile.am
>>>> index 3c37909..859659e 100644
>>>> --- a/src/gallium/targets/radeonsi/omx/Makefile.am
>>>> +++ b/src/gallium/targets/radeonsi/omx/Makefile.am
>>>> @@ -20,8 +20,6 @@
>>>>    # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>>    # DEALINGS IN THE SOFTWARE.
>>>>    -EXPORTS = '^(omx_component_library_Setup|radeon_drm_winsys_create)$$'
>>>> -
>>>>    include $(top_srcdir)/src/gallium/Automake.inc
>>>>      AM_CFLAGS = \
> 



More information about the mesa-dev mailing list