From patchwork Mon Jun 5 11:18:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 70600 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BFEDD38515C9 for ; Mon, 5 Jun 2023 11:18:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BFEDD38515C9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1685963933; bh=9T2WYbrul2qqBTu9+bcjCfsiuLbmyPipu0Q/I6BmliM=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:From; b=VXa7HLrYUifhGA1MR3xbKbq5FN+L0Cj6O1Irxw6loCvKSf41QP4NF1UY/qgae1bQt 97s2LzvCb2yjH//JsHNJwZOXsahPRD7WmG8Ixdv9jJSDjsMkrg1pDOCnvhhg29CD6S lYsT7ZnDokxtQ5aCMdcosDKCFU78SO1b89t4bLDw= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 9152D3853D0C for ; Mon, 5 Jun 2023 11:18:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9152D3853D0C Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-590-zYtUvNNoPRWCxanIIIxD-g-1; Mon, 05 Jun 2023 07:18:47 -0400 X-MC-Unique: zYtUvNNoPRWCxanIIIxD-g-1 Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-3f6a71e8321so73342741cf.2 for ; Mon, 05 Jun 2023 04:18:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685963927; x=1688555927; 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=9T2WYbrul2qqBTu9+bcjCfsiuLbmyPipu0Q/I6BmliM=; b=cYRcAJ2Sm5swJWLb0OSXZ84Fk+KHV5xi5x4JoTXYpU9rb1HFCQB0lZiByTB3JnnwnQ YmjgKYS8rtVk+ZSvoYLmIuu1KysOWB+aY56wEWnL918NmyLGjGy1kgbUZ6BRUGU8spXK lwbpQFiG5orwtZwwcHeeIZrC+eNfJ9I4USY4rUdAofcdZFzzUBKEgLgR8Hop3tctueKz o8YEmyuWBL+Gp85o5pGlUfwz4Cd5YIFRsEDGorb1XclJJK4cMnIrS/gNpq5YfaTzd4lX E34Byx1DY1qK/7y/XlQt1yP/VBiHnqPswL6KTez+gRXgT01QqviMI2d6v5abXwxBeDEj SMBw== X-Gm-Message-State: AC+VfDyDVOVCTabGvWIbRIeE6hs0jcaFCoiQCtrrHmpv/maTFVBu0XUJ Q1TO0OxPz8csSFkzp4SZxSag3JV7EWxwKe5oDI+981NwLBXZrihoo+LZ7wjZwJhSjulQKharVYF 60N5SQl/KVHwkTC+NDkM8zGEWHS1uFM/ooewHtRaMyJF3zFIQVd2uhHHaXghv+rlHOfOF43lbXZ Cm X-Received: by 2002:a05:622a:205:b0:3f6:b1e9:8444 with SMTP id b5-20020a05622a020500b003f6b1e98444mr9704992qtx.41.1685963927172; Mon, 05 Jun 2023 04:18:47 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6jivFKi3OrCKIM+DGGW8nkjBKrMbf5mvaNm5NHVWipUk+jYmuuf47Zz/y1fbvgzAUC2jyQsA== X-Received: by 2002:a05:622a:205:b0:3f6:b1e9:8444 with SMTP id b5-20020a05622a020500b003f6b1e98444mr9704972qtx.41.1685963926884; Mon, 05 Jun 2023 04:18:46 -0700 (PDT) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id bn13-20020a05622a1dcd00b003ef59e2b9a6sm2555175qtb.78.2023.06.05.04.18.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 04:18:46 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id 0E0CEB5E9C; Mon, 5 Jun 2023 13:18:44 +0200 (CEST) To: libabigail@sourceware.org Subject: [PATCH, applied] Bug 30467 - enlightenment fails self check on f38 Organization: Red Hat / France X-Operating-System: CentOS Stream release 9 X-URL: http://www.redhat.com Date: Mon, 05 Jun 2023 13:18:44 +0200 Message-ID: <87jzwidunf.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 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, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, This is yet another instance of a latent canonical type propagation issue. Basically, when reading back a type from ABIXML, canonicalizing it (in an order that is different from the initial order in which it has been canonicalized by the DWARF front-end) yields a different canonical type from the original one computed by the DWARF front-end, yielding spurious self-comparison changes. By looking at it a bit closer, I realized the cache of the comparison results wasn't being cleared upon canceling canonical type propagation, whenever that canceling occurs. That leads to some subsequent comparisons being wrong (albeit fast, heh) because they rely on cached results that should have been invalidated. This patch thus clears the type comparison result cache whenever canonical type propagation canceling occurs. * src/abg-ir-priv.h (environment::priv::cancel_ct_propagation): Clear the type comparison results cache. Signed-off-by: Dodji Seketeli --- src/abg-ir-priv.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/abg-ir-priv.h b/src/abg-ir-priv.h index 0161017f..fe5a36cf 100644 --- a/src/abg-ir-priv.h +++ b/src/abg-ir-priv.h @@ -1053,6 +1053,7 @@ struct environment::priv // tentative canonical type that might be later canceled. t->priv_->set_does_not_depend_on_recursive_type(); env.priv_->remove_from_types_with_non_confirmed_propagated_ct(t); + env.priv_->clear_type_comparison_results_cache(); } /// Clear the propagated canonical type of a given type.