public inbox for dwz@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: "Martin Liška" <mliska@suse.cz>
Cc: dwz@sourceware.org, Tom de Vries <tdevries@suse.de>
Subject: Re: ☺ Buildbot (GNU Toolchain): dwz - build successful (master)
Date: Thu, 30 Jun 2022 22:05:52 +0200	[thread overview]
Message-ID: <Yr4CIH7/cSQN0wkT@wildebeest.org> (raw)
In-Reply-To: <9b8016f2-b9f4-b310-4a73-692f70e32799@suse.cz>

Hi Martin,

On Thu, Jun 30, 2022 at 04:23:02PM +0200, Martin Liška wrote:
> On 6/28/22 23:43, Mark Wielaard wrote:
> > On Mon, Jun 27, 2022 at 09:25:23AM +0200, Martin Liška wrote:
> >> On 6/26/22 00:17, Mark Wielaard wrote:
> >>> The build is now green on all builders except one:
> >>> https://builder.sourceware.org/buildbot/#/builders?tags=dwz
> >>> dwz-opensusetw-x86_64 fails one testcase: odr-struct-ns.sh
> >>> https://builder.sourceware.org/buildbot/#/builders/100/builds/2
> >>>
> >>> Martin, could you take a look at what is different on tumbleweed from
> >>> the other builders that makes that testcase fail?
> >>
> >> It's going to be likely GCC compiler version that plays role.
> >>
> >> Anyway, it's caused by:
> >>
> >> expected_decl_cnt: 20, decl_cnt: 10
> > 
> > I took a quick look and this seems to be caused by lots of extra
> > DW_AT_declaration in the original binary:
> > 
> > readelf -wi odr-struct-ns | grep -3 DW_AT_declaration  | grep name
> >     <1c0>   DW_AT_name        : (indirect string, offset: 0x3f1): sockaddr_at
> >     <1d4>   DW_AT_name        : (indirect string, offset: 0x450): sockaddr_ax25
> >     <1e8>   DW_AT_name        : (indirect string, offset: 0x366): sockaddr_dl
> >     <1fc>   DW_AT_name        : (indirect string, offset: 0x382): sockaddr_eon
> >     <2c4>   DW_AT_name        : (indirect string, offset: 0x5e): sockaddr_inarp
> >     <2d8>   DW_AT_name        : (indirect string, offset: 0xa7): sockaddr_ipx
> >     <2ec>   DW_AT_name        : (indirect string, offset: 0x51): sockaddr_iso
> >     <300>   DW_AT_name        : (indirect string, offset: 0x11c): sockaddr_ns
> >     <314>   DW_AT_name        : (indirect string, offset: 0x86): sockaddr_un
> >     <328>   DW_AT_name        : (indirect string, offset: 0x3bd): sockaddr_x25
> >     <671>   DW_AT_name        : (indirect string, offset: 0x3f1): sockaddr_at
> >     <685>   DW_AT_name        : (indirect string, offset: 0x450): sockaddr_ax25
> >     <699>   DW_AT_name        : (indirect string, offset: 0x366): sockaddr_dl
> >     <6ad>   DW_AT_name        : (indirect string, offset: 0x382): sockaddr_eon
> >     <770>   DW_AT_name        : (indirect string, offset: 0x5e): sockaddr_inarp
> >     <784>   DW_AT_name        : (indirect string, offset: 0xa7): sockaddr_ipx
> >     <798>   DW_AT_name        : (indirect string, offset: 0x51): sockaddr_iso
> >     <7ac>   DW_AT_name        : (indirect string, offset: 0x11c): sockaddr_ns
> >     <7c0>   DW_AT_name        : (indirect string, offset: 0x86): sockaddr_un
> >     <7d4>   DW_AT_name        : (indirect string, offset: 0x3bd): sockaddr_x25
> >     <9e0>   DW_AT_name        : bbb
> >     <aa6>   DW_AT_name        : ccc
> 
> Just to summarize it what we have for Tumbleweed and Leap:
> 
> TW:
> 
> ==before==
>     <1c0>   DW_AT_name        : (indirect string, offset: 0x3f1): sockaddr_at
>     <1d4>   DW_AT_name        : (indirect string, offset: 0x450): sockaddr_ax25
>     <1e8>   DW_AT_name        : (indirect string, offset: 0x366): sockaddr_dl
>     <1fc>   DW_AT_name        : (indirect string, offset: 0x382): sockaddr_eon
>     <2c4>   DW_AT_name        : (indirect string, offset: 0x5e): sockaddr_inarp
>     <2d8>   DW_AT_name        : (indirect string, offset: 0xa7): sockaddr_ipx
>     <2ec>   DW_AT_name        : (indirect string, offset: 0x51): sockaddr_iso
>     <300>   DW_AT_name        : (indirect string, offset: 0x11c): sockaddr_ns
>     <314>   DW_AT_name        : (indirect string, offset: 0x86): sockaddr_un
>     <328>   DW_AT_name        : (indirect string, offset: 0x3bd): sockaddr_x25
>     <671>   DW_AT_name        : (indirect string, offset: 0x3f1): sockaddr_at
>     <685>   DW_AT_name        : (indirect string, offset: 0x450): sockaddr_ax25
>     <699>   DW_AT_name        : (indirect string, offset: 0x366): sockaddr_dl
>     <6ad>   DW_AT_name        : (indirect string, offset: 0x382): sockaddr_eon
>     <770>   DW_AT_name        : (indirect string, offset: 0x5e): sockaddr_inarp
>     <784>   DW_AT_name        : (indirect string, offset: 0xa7): sockaddr_ipx
>     <798>   DW_AT_name        : (indirect string, offset: 0x51): sockaddr_iso
>     <7ac>   DW_AT_name        : (indirect string, offset: 0x11c): sockaddr_ns
>     <7c0>   DW_AT_name        : (indirect string, offset: 0x86): sockaddr_un
>     <7d4>   DW_AT_name        : (indirect string, offset: 0x3bd): sockaddr_x25
>     <9e0>   DW_AT_name        : bbb
>     <aa6>   DW_AT_name        : ccc
> ==after==
>     <ee>   DW_AT_name        : (indirect string, offset: 0x3f1): sockaddr_at
>     <fc>   DW_AT_name        : (indirect string, offset: 0x450): sockaddr_ax25
>     <10a>   DW_AT_name        : (indirect string, offset: 0x366): sockaddr_dl
>     <118>   DW_AT_name        : (indirect string, offset: 0x382): sockaddr_eon
>     <1b6>   DW_AT_name        : (indirect string, offset: 0x5e): sockaddr_inarp
>     <1c4>   DW_AT_name        : (indirect string, offset: 0xa7): sockaddr_ipx
>     <1d2>   DW_AT_name        : (indirect string, offset: 0x51): sockaddr_iso
>     <1e0>   DW_AT_name        : (indirect string, offset: 0x11c): sockaddr_ns
>     <1ee>   DW_AT_name        : (indirect string, offset: 0x86): sockaddr_un
>     <1fc>   DW_AT_name        : (indirect string, offset: 0x3bd): sockaddr_x25
> 
> while Leap has:
> 
> ==before==
>     <105>   DW_AT_name        : bbb
>     <1cb>   DW_AT_name        : ccc
>     <2b3>   DW_AT_name        : (indirect string, offset: 0x4b6): __preinit_array_end
>     <2be>   DW_AT_name        : (indirect string, offset: 0x2a5): __init_array_start
>     <2c9>   DW_AT_name        : (indirect string, offset: 0x4ca): __init_array_end
>     <2f1>   DW_AT_name        : (indirect string, offset: 0x2fd): __fini_array_end
>     <2fc>   DW_AT_name        : (indirect string, offset: 0x2ed): __libc_csu_fini
>     <3bb>   DW_AT_linkage_name: (indirect string, offset: 0x33d): _init
>     <3bf>   DW_AT_name        : (indirect string, offset: 0x33d): _init
> ==after==
>     <27e>   DW_AT_name        : (indirect string, offset: 0x4b6): __preinit_array_end
>     <286>   DW_AT_name        : (indirect string, offset: 0x2a5): __init_array_start
>     <28e>   DW_AT_name        : (indirect string, offset: 0x4ca): __init_array_end
>     <2ab>   DW_AT_name        : (indirect string, offset: 0x2fd): __fini_array_end
>     <2b4>   DW_AT_name        : (indirect string, offset: 0x2ed): __libc_csu_fini
>     <34c>   DW_AT_linkage_name: (indirect string, offset: 0x33d): _init
>     <350>   DW_AT_name        : (indirect string, offset: 0x33d): _init
> 
> So as Florian said, we should ignore sockeraddr decls and check that bbb and ccc
> are not present after dwz.
> 
> What about using the following patch?

That fails on my local debian-arm64 setup.

Because bbb and ccc were the only DW_AT_declarations in the original
binary.

$ readelf -wi odr-struct-ns | grep -3 DW_AT_declaration  | grep name
    <7c>   DW_AT_name        : bbb
    <14b>   DW_AT_name        : ccc

So
  readelf -wi 1 | grep -3 DW_AT_declaration > decls
fails because the grep fails

So I think that should also be a passing condition (no decls left).
It would be good to make sure they were there at the start though.

Cheers,

Mark


  reply	other threads:[~2022-06-30 20:05 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-25 21:56 builder
2022-06-25 22:17 ` Mark Wielaard
2022-06-27  7:25   ` Martin Liška
2022-06-28 21:43     ` Mark Wielaard
2022-06-29  7:17       ` Florian Weimer
2022-06-30 14:23       ` Martin Liška
2022-06-30 20:05         ` Mark Wielaard [this message]
2022-07-01  6:42           ` Martin Liška
2022-07-01  7:43             ` Mark Wielaard
2022-07-01  7:53               ` Martin Liška
  -- strict thread matches above, loose matches on Subject: below --
2022-11-03 22:18 builder
2022-07-11  8:44 builder
2022-07-11  8:44 builder
2022-07-07 15:29 builder
2022-07-07 13:12 builder
2022-07-07 13:10 builder
2022-07-07 12:46 builder
2022-07-07 12:46 builder
2022-07-07 12:39 builder
2022-07-07 12:38 builder
2022-07-07 12:32 builder
2022-07-07 12:31 builder
2022-07-01  7:56 builder
2022-06-30 12:50 builder
2022-06-30 12:55 ` Mark Wielaard
2022-06-25 21:55 builder

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=Yr4CIH7/cSQN0wkT@wildebeest.org \
    --to=mark@klomp.org \
    --cc=dwz@sourceware.org \
    --cc=mliska@suse.cz \
    --cc=tdevries@suse.de \
    /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 read-only IMAP folder(s) and NNTP newsgroup(s).