From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 7DD183858D20 for ; Fri, 2 Dec 2022 16:16:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7DD183858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1669997788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=+qs9v0xjpsFc15tS29Vub4sT1pcoxNZm70//yVowk7U=; b=EJxohnANuYmwV2p39KGnAf3iL7fq3ju6j3vtc0tX6zu4CM4KnhYSzyIfrFC1sr7mUlAz4I ljGztYSkWGUuqHynG7AuvnXfaJfqy4bkbwwKRS9UoJdrUT+4EF27lwbN0AtOpMTLYxiFy3 81rGo/bpj4Uw11vAqQyNc1pduPRH2kI= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-553-TKwMLS6lP3mfmUxDUFz-vg-1; Fri, 02 Dec 2022 11:16:26 -0500 X-MC-Unique: TKwMLS6lP3mfmUxDUFz-vg-1 Received: by mail-wm1-f72.google.com with SMTP id e8-20020a05600c218800b003cf634f5280so2102000wme.8 for ; Fri, 02 Dec 2022 08:16:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:message-id:date:organization:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+qs9v0xjpsFc15tS29Vub4sT1pcoxNZm70//yVowk7U=; b=elxcWJ8EvGda/zghP4eVnXmHBuuo53eaAtTmS7S0vS9bMNydC+Va0RfmZrYaBW5mYx /xmci6fG2Z6RectzJxhOgWqq7RZb4y6xSVHOHhBVjiDcnazuFixuHMjcJSStX5bR9lBe 7MEuHuPDTEvQFtkelxzw6CU/C4exq/KyOHxBud4azJAahBq9tRvVbCkek91eQB9gMypS ZbIncT2u5sSjmdin57e9Sx1V4y0UWYkRTEdNbfuIq1xNXux+DrlW2Q/+1yp2SuLeXCF6 t6yrmrwvOjVXHnBX37x4EkC1//wO2Vc29tuaP1gjvGBz5s4e/cxqkkk5SDTEw9kim+vb gs6w== X-Gm-Message-State: ANoB5pnMUD3KGKl/Q5bKqmKH+T7fCH2GOOdp+H5pp5uEOy0oOfxUUI23 gT2LHovATXWYMjoskA4yQfMQr0zcEk7auTb5tRRSq4z6vcZ0dKSjDHLu6qEpRAGRHcW607pKGsv PMyOhhyejgdxrXsHOpXpau2vbJEj8SJMNO5E0mbBjbNW5fbDe9uX1ROjdp0RGzRhy0Prq X-Received: by 2002:a5d:6e0e:0:b0:22e:ed53:771c with SMTP id h14-20020a5d6e0e000000b0022eed53771cmr45993144wrz.297.1669997785264; Fri, 02 Dec 2022 08:16:25 -0800 (PST) X-Google-Smtp-Source: AA0mqf7Zst4lKCynzgpSDIRSqdoG6NtmmACioByNVp1TizhfEpJwoO127StBDpdDeKSpN93xesy6hw== X-Received: by 2002:a5d:6e0e:0:b0:22e:ed53:771c with SMTP id h14-20020a5d6e0e000000b0022eed53771cmr45993131wrz.297.1669997785034; Fri, 02 Dec 2022 08:16:25 -0800 (PST) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id u11-20020a5d6acb000000b00241c4bd6c09sm7342038wrw.33.2022.12.02.08.16.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Dec 2022 08:16:24 -0800 (PST) Received: by localhost (Postfix, from userid 1000) id 30FECC1B73CB; Fri, 2 Dec 2022 17:16:24 +0100 (CET) From: Dodji Seketeli To: libabigail@sourceware.org Subject: [PATCH, applied] Bug 29829 - dwarf-reader: Allow DIEs to be in a lexical block Organization: Red Hat / France X-Operating-System: AlmaLinux 9.0 X-URL: http://www.redhat.com Date: Fri, 02 Dec 2022 17:16:24 +0100 Message-ID: <87y1rpsrvr.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hello, Normally, ABI-relevant DWARF DIEs (types and decls) should be at namespace level. There are real-life cases where such a DIE might be defined in a lexical block. This patch teaches the DWARF reader to handle such cases. * src/abg-dwarf-reader.cc (get_scope_for_die): Support DW_TAG_lexical_block as DIE scope. Signed-off-by: Dodji Seketeli Applied to the master branch. --- src/abg-dwarf-reader.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index e18f111b..68a4ca35 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -11632,7 +11632,8 @@ get_scope_for_die(reader& rdr, scope_decl_sptr s; type_or_decl_base_sptr d; if (dwarf_tag(&parent_die) == DW_TAG_subprogram - || dwarf_tag(&parent_die) == DW_TAG_array_type) + || dwarf_tag(&parent_die) == DW_TAG_array_type + || dwarf_tag(&parent_die) == DW_TAG_lexical_block) // this is an entity defined in a scope that is a function. // Normally, I would say that this should be dropped. But I have // seen a case where a typedef DIE needed by a function parameter -- 2.31.1 -- Dodji