[dpdk-dev] [PATCH 00/16] NXP DPAAx fixes and enhancements

Dodji Seketeli dseketel at redhat.com
Wed Apr 8 09:52:43 CEST 2020


Hello Thomas, Hemant,

Thomas Monjalon <thomas at monjalon.net> writes:

> 07/04/2020 12:25, Hemant Agrawal:

[...]

>> [Hemant] I have commented on Neil's series.
>> It needs more changes in existing code.
>> An approach like __rte_experimental will work better.
>
> I guess you mean __rte_internal?
>
> Please Hemant don't wait for someone else filling the gap.
> If __rte_internal is the right approach, please complete and use it.

Just so that I understand, is __rte_internal an ELF version that the
symbols per_lcore_dpaa2_held_bufs, dpaa2_io_portal and
per_lcore__dpaa2_io should have in the binary?

If that is the case, then it seems to me that the __rte_internal
approach that you are suggesting would be a much better approach that
the one I replied to Hemant about below.

I didn't mean to tell Hemant what approach he should take :-) I was just
trying to help him get the syntax of a libabigail suppression
specification right.

Sorry for the confusion I might have induced.

Dodji Seketeli <dseketel at redhat.com> writes:

> Hello Hemant,
>
> Hemant Agrawal <hemant.agrawal at nxp.com> writes:
>
> [...]
>
>>> >> > > [Hemant]
>>> >> > > As per the logs:
>>> >> > >
>>> >> > > Variables changes summary: 1 Removed, 2 Changed, 0 Added
>>> >> > > variables
>>> >> > > 1 Removed variable:
>>> >> > >   'dpaa2_portal_dqrr per_lcore_dpaa2_held_bufs'
>>> >> > {per_lcore_dpaa2_held_bufs@@DPDK_20.0}
>>> >> > > 2 Changed variables:
>>> >> > >   [C]'dpaa2_io_portal_t dpaa2_io_portal[128]' was changed at
>>> >> > dpaa2_hw_dpio.h:40:1: size of symbol changed from 5120 to 2048
>>> >> > >   [C]'dpaa2_io_portal_t per_lcore__dpaa2_io' was changed at
>>> >> > > dpaa2_hw_dpio.h:20:1: size of symbol changed from 40 to 16
>>> >> > >
>>> >> > > Error: ABI issue reported for 'abidiff --suppr
>>> >> > > devtools/libabigail.abignore --
>>> >> > no-added-syms --headers-dir1 reference/usr/local/include
>>> >> > --headers-dir2 install/usr/local/include
>>> >> > reference/dump/librte_bus_fslmc.dump
>>> >> > install/dump/librte_bus_fslmc.dump'
>
> [...]
>
>>> In the mean time, the tooling can be tought to ignore changes to these ELF
>>> symbols, as you you guys all know already.
>>> 
>> [Hemant] will you please help me about adding entry to libagigail.abignore 
>> I tried doing following, but it is not helping
>> --- a/devtools/libabigail.abignore
>> +++ b/devtools/libabigail.abignore
>> @@ -2,10 +2,15 @@
>>          symbol_version = EXPERIMENTAL
>>  [suppress_variable]
>>          symbol_version = EXPERIMENTAL
>> +       name = per_lcore__dpaa2_io
>> +       name = dpaa2_io_portal
>>
>>  ; Explicit ignore for driver-only ABI
>>  [suppress_type]
>>          name = rte_cryptodev_ops
>> +       name = dpaa2_io_portal_t
>
> So, I understand you want the tooling to ignore changes to the global
> arrays dpaa2_io_portal and per_lcore__dpaa2_io, right?
>
> If that is correct, then here are the entries you should add to the
> libabigail.abignore file (please make sure the comments I have added
> there is accurate):
>
>         [suppress_variable]
>           # This global variable is exported by the binary but is not part of
>           # the logical ABI.  In a perfect world, that variable should not be
>           # global, and we should access it via an accessor function.  We do
>           # that right now because of performance concerns.
>           name = dpaa2_io_portal
>
>         [suppress_variable]
>           # This global variable is exported by the binary but is not part of
>           # the logical ABI.  In a perfect world, that variable should not be
>           # global, and we should access it via an accessor function.  We do
>           # that right now because of performance concerns.
>           name = per_lcore__dpaa2_io
>
> I hope this helps.
>
> Cheers,

-- 
		Dodji



More information about the dev mailing list