DPDK CI discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: Lincoln Lavoie <lylavoie@iol.unh.edu>
Cc: dpdklab <dpdklab@iol.unh.edu>,
	ci@dpdk.org, Aaron Conole <aconole@redhat.com>,
	 Thomas Monjalon <thomas@monjalon.net>,
	Ray Kinsella <mdr@ashroe.eu>, Dodji Seketeli <dodji@redhat.com>
Subject: Re: [dpdk-ci] [dpdklab] ABI test failing for openSUSE and Arch Linux
Date: Mon, 7 Jun 2021 10:33:59 +0200	[thread overview]
Message-ID: <CAJFAV8zxOd2rBiQ4iHT46=Kk3Kp17RuzKLeF27=1k=ObjjYxkg@mail.gmail.com> (raw)
In-Reply-To: <CAOE1vsMnW2SVgocb3hRpdgNG41hDnmeAyTq+X7TfSYCCkXGCLw@mail.gmail.com>

Trying to do a post mortem.


On Fri, Jun 4, 2021 at 3:53 PM Lincoln Lavoie <lylavoie@iol.unh.edu> wrote:
> The ABI references for all systems were updated this week to the 21.05 release code.  The two failures look like places where the interfaces didn't actually change. We do see the failures across multiple patches, which might imply something got merged that caused these changes / failures.
>
> ---------------------------------------------------------------------------------------------
> OpenSUSE
> 2 Removed function symbols not referenced by debug info:
>
>   [D] _fini
>   [D] _init

This one, I am not sure what was wrong.
This is not a symbol from DPDK itself.
This comes from a libc / toolchain and/or linker change.


>
> ---------------------------------------------------------------------------------------------
> Arch Linux (one example from the output)
>
> Functions changes summary: 0 Removed, 0 Changed, 0 Added function
> Variables changes summary: 0 Removed, 1 Changed (13 filtered out), 0 Added variables
>
> 1 Changed variable:
>
>   [C] 'rte_table_ops rte_table_acl_ops' was changed at rte_table_acl.h:60:1:
>     type of variable changed:
>       type size hasn't changed
>       1 data member change:
>         type of 'rte_table_op_lookup f_lookup' changed:
>           underlying type 'int (void*, rte_mbuf**, typedef uint64_t, uint64_t*, void**)*' changed:
>             in pointed to type 'function type int (void*, rte_mbuf**, typedef uint64_t, uint64_t*, void**)':
>               parameter 2 of type 'rte_mbuf**' has sub-type changes:
>                 in pointed to type 'rte_mbuf*':
>                   in pointed to type 'struct rte_mbuf' at rte_mbuf_core.h:484:1:
>                     type size hasn't changed
>                     1 data member changes (1 filtered):
>                       type of 'anonymous data member union {uint32_t packet_type; struct {uint8_t l2_type; uint8_t l3_type; uint8_t l4_type; uint8_t tun_type; union {uint8_t inner_esp_next_proto; struct {uint8_t inner_l2_type; uint8_t inner_l3_type;};}; uint8_t inner_l4_type;};}' changed:
>                         type size hasn't changed
>                         1 data member change:
>                           type of 'anonymous data member struct {uint8_t l2_type; uint8_t l3_type; uint8_t l4_type; uint8_t tun_type; union {uint8_t inner_esp_next_proto; struct {uint8_t inner_l2_type; uint8_t inner_l3_type;};}; uint8_t inner_l4_type;}' changed:
>                             type size hasn't changed
>                             3 data member changes:
>                               'uint8_t inner_l4_type' offset changed from 0 to 24 (in bits) (by +24 bits)
>                               'uint8_t l4_type' offset changed from 0 to 8 (in bits) (by +8 bits)
>                               'uint8_t tun_type' offset changed from 4 to 12 (in bits) (by +8 bits)

For this one, this is probably due to
https://sourceware.org/bugzilla/show_bug.cgi?id=26684

I had a discussion with Dodji (libabigail maintainer).

Going from dwarf 4 to dwarf 5 is something that is decided at gcc /
binutils level.

Arch Linux recently adopted gcc 11.
https://archlinux.org/packages/core/x86_64/gcc/

If we compare gcc 10 and gcc 11:
- https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Debugging-Options.html
"Produce debugging information in DWARF format (if that is supported).
The value of version may be either 2, 3, 4 or 5; the default version
for most targets is 4. DWARF Version 5 is only experimental. "
- https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Debugging-Options.html
"Produce debugging information in DWARF format (if that is supported).
The value of version may be either 2, 3, 4 or 5; the default version
for most targets is 5 (with the exception of VxWorks, TPF and
Darwin/Mac OS X, which default to version 2, and AIX, which defaults
to version 4)."

So the reason, for the issue reported above, could be that the
reference had been generated before upgrading gcc to 11.


I have some trouble finding the actual date for the Arch Linux switch
to gcc 11 (maybe 2021/05/17).
Are you able to correlate this with the ABI reference previous generation?


-- 
David Marchand


  parent reply	other threads:[~2021-06-07  8:34 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-04  7:58 [dpdk-ci] " David Marchand
2021-06-04 13:52 ` [dpdk-ci] [dpdklab] " Lincoln Lavoie
2021-06-04 14:02   ` David Marchand
2021-06-04 18:28     ` Owen Hilyard
2021-06-07  8:33   ` David Marchand [this message]
2021-06-09 15:07     ` Brandon Lo
2021-06-10  8:02       ` David Marchand
2021-06-10  8:13         ` Lincoln Lavoie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJFAV8zxOd2rBiQ4iHT46=Kk3Kp17RuzKLeF27=1k=ObjjYxkg@mail.gmail.com' \
    --to=david.marchand@redhat.com \
    --cc=aconole@redhat.com \
    --cc=ci@dpdk.org \
    --cc=dodji@redhat.com \
    --cc=dpdklab@iol.unh.edu \
    --cc=lylavoie@iol.unh.edu \
    --cc=mdr@ashroe.eu \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).