devtools: skip removed DLB driver in ABI check

Message ID 20210413084525.3057669-1-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series devtools: skip removed DLB driver in ABI check |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues
ci/iol-abi-testing success Testing PASS
ci/iol-testing success Testing PASS

Commit Message

Thomas Monjalon April 13, 2021, 8:45 a.m. UTC
  The eventdev driver DLB was removed in DPDK 21.05,
breaking the ABI check.
The exception was agreed so we just need to skip this check.

Note: complete removal of a driver cannot be ignored
in devtools/libabigail.abignore, so the script must be patched.

Fixes: 698fa829415d ("event/dlb: remove driver")

Reported-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
This should have been done as part of removing the driver.
The CI is currently broken, so it should be merged today.
---
 devtools/check-abi.sh | 4 ++++
 1 file changed, 4 insertions(+)
  

Comments

David Marchand April 13, 2021, 9:15 a.m. UTC | #1
On Tue, Apr 13, 2021 at 10:45 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> The eventdev driver DLB was removed in DPDK 21.05,
> breaking the ABI check.
> The exception was agreed so we just need to skip this check.
>
> Note: complete removal of a driver cannot be ignored
> in devtools/libabigail.abignore, so the script must be patched.

Indeed, abidiff wants to compare two shared libraries/dumps.
In this situation, we don't have a second library/dump.


>
> Fixes: 698fa829415d ("event/dlb: remove driver")
>
> Reported-by: David Marchand <david.marchand@redhat.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: David Marchand <david.marchand@redhat.com>
  
Thomas Monjalon April 13, 2021, 9:32 a.m. UTC | #2
13/04/2021 11:15, David Marchand:
> On Tue, Apr 13, 2021 at 10:45 AM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > The eventdev driver DLB was removed in DPDK 21.05,
> > breaking the ABI check.
> > The exception was agreed so we just need to skip this check.
> >
> > Note: complete removal of a driver cannot be ignored
> > in devtools/libabigail.abignore, so the script must be patched.
> 
> Indeed, abidiff wants to compare two shared libraries/dumps.
> In this situation, we don't have a second library/dump.
> 
> > Fixes: 698fa829415d ("event/dlb: remove driver")
> >
> > Reported-by: David Marchand <david.marchand@redhat.com>
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Reviewed-by: David Marchand <david.marchand@redhat.com>

Applied
  
Ray Kinsella April 13, 2021, 4:09 p.m. UTC | #3
On 13/04/2021 09:45, Thomas Monjalon wrote:
> The eventdev driver DLB was removed in DPDK 21.05,
> breaking the ABI check.
> The exception was agreed so we just need to skip this check.
> 
> Note: complete removal of a driver cannot be ignored
> in devtools/libabigail.abignore, so the script must be patched.
> 
> Fixes: 698fa829415d ("event/dlb: remove driver")
> 
> Reported-by: David Marchand <david.marchand@redhat.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> This should have been done as part of removing the driver.
> The CI is currently broken, so it should be merged today.
> ---
>  devtools/check-abi.sh | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/devtools/check-abi.sh b/devtools/check-abi.sh
> index 9835e346da..ca523eb94c 100755
> --- a/devtools/check-abi.sh
> +++ b/devtools/check-abi.sh
> @@ -44,6 +44,10 @@ for dump in $(find $refdir -name "*.dump"); do
>  		echo "Skipped glue library $name."
>  		continue
>  	fi
> +	if grep -qE "\<soname='librte_event_dlb\.so" $dump; then
> +		echo "Skipped removed driver $name."
> +		continue
> +	fi

So this is brute force fix - we can anticipate this problem happening again.
Perhaps a 2nd file called devtools/libabigail.soignore, if agreed I will submit a patch?
  
Thomas Monjalon April 13, 2021, 4:44 p.m. UTC | #4
13/04/2021 18:09, Kinsella, Ray:
> On 13/04/2021 09:45, Thomas Monjalon wrote:
> > The eventdev driver DLB was removed in DPDK 21.05,
> > breaking the ABI check.
> > The exception was agreed so we just need to skip this check.
> > 
> > Note: complete removal of a driver cannot be ignored
> > in devtools/libabigail.abignore, so the script must be patched.
> > 
> > Fixes: 698fa829415d ("event/dlb: remove driver")
> > 
> > Reported-by: David Marchand <david.marchand@redhat.com>
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> > This should have been done as part of removing the driver.
> > The CI is currently broken, so it should be merged today.
> > ---
> >  devtools/check-abi.sh | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/devtools/check-abi.sh b/devtools/check-abi.sh
> > index 9835e346da..ca523eb94c 100755
> > --- a/devtools/check-abi.sh
> > +++ b/devtools/check-abi.sh
> > @@ -44,6 +44,10 @@ for dump in $(find $refdir -name "*.dump"); do
> >  		echo "Skipped glue library $name."
> >  		continue
> >  	fi
> > +	if grep -qE "\<soname='librte_event_dlb\.so" $dump; then
> > +		echo "Skipped removed driver $name."
> > +		continue
> > +	fi
> 
> So this is brute force fix - we can anticipate this problem happening again.
> Perhaps a 2nd file called devtools/libabigail.soignore, if agreed I will submit a patch?

Yes indeed we could have a file for this.
Maybe we could have a dedicated section [suppress_lib]
in the existing file if libabigail is OK with unknown sections?
  
Ray Kinsella April 13, 2021, 4:45 p.m. UTC | #5
On 13/04/2021 17:44, Thomas Monjalon wrote:
> 13/04/2021 18:09, Kinsella, Ray:
>> On 13/04/2021 09:45, Thomas Monjalon wrote:
>>> The eventdev driver DLB was removed in DPDK 21.05,
>>> breaking the ABI check.
>>> The exception was agreed so we just need to skip this check.
>>>
>>> Note: complete removal of a driver cannot be ignored
>>> in devtools/libabigail.abignore, so the script must be patched.
>>>
>>> Fixes: 698fa829415d ("event/dlb: remove driver")
>>>
>>> Reported-by: David Marchand <david.marchand@redhat.com>
>>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>> ---
>>> This should have been done as part of removing the driver.
>>> The CI is currently broken, so it should be merged today.
>>> ---
>>>  devtools/check-abi.sh | 4 ++++
>>>  1 file changed, 4 insertions(+)
>>>
>>> diff --git a/devtools/check-abi.sh b/devtools/check-abi.sh
>>> index 9835e346da..ca523eb94c 100755
>>> --- a/devtools/check-abi.sh
>>> +++ b/devtools/check-abi.sh
>>> @@ -44,6 +44,10 @@ for dump in $(find $refdir -name "*.dump"); do
>>>  		echo "Skipped glue library $name."
>>>  		continue
>>>  	fi
>>> +	if grep -qE "\<soname='librte_event_dlb\.so" $dump; then
>>> +		echo "Skipped removed driver $name."
>>> +		continue
>>> +	fi
>>
>> So this is brute force fix - we can anticipate this problem happening again.
>> Perhaps a 2nd file called devtools/libabigail.soignore, if agreed I will submit a patch?
> 
> Yes indeed we could have a file for this.
> Maybe we could have a dedicated section [suppress_lib]
> in the existing file if libabigail is OK with unknown sections?
> 

That would be tidier - I will take a look.
  

Patch

diff --git a/devtools/check-abi.sh b/devtools/check-abi.sh
index 9835e346da..ca523eb94c 100755
--- a/devtools/check-abi.sh
+++ b/devtools/check-abi.sh
@@ -44,6 +44,10 @@  for dump in $(find $refdir -name "*.dump"); do
 		echo "Skipped glue library $name."
 		continue
 	fi
+	if grep -qE "\<soname='librte_event_dlb\.so" $dump; then
+		echo "Skipped removed driver $name."
+		continue
+	fi
 	dump2=$(find $newdir -name $name)
 	if [ -z "$dump2" ] || [ ! -e "$dump2" ]; then
 		echo "Error: cannot find $name in $newdir" >&2