From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dog.elm.relay.mailchannels.net (dog.elm.relay.mailchannels.net [23.83.212.48]) by sourceware.org (Postfix) with ESMTPS id 5B9F43858408 for ; Tue, 3 Jan 2023 14:30:47 +0000 (GMT) X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 6CECE8C0CBD; Tue, 3 Jan 2023 14:30:45 +0000 (UTC) Received: from pdx1-sub0-mail-a305.dreamhost.com (unknown [127.0.0.6]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id ED27B8C13AC; Tue, 3 Jan 2023 14:30:44 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1672756245; a=rsa-sha256; cv=none; b=HoNe3PKhk+44anG1ZoJTIBtDkhdT6KicSJJWJITqO/vWvr3i2xceCjebibCE0rIqzfvxPk JDePEij0Fx1j74TdnBnKaTslIHihUw5vQ/aqm8xhppgJjVEcfsTcOC0Om33CcTP4l/AcIx FzEsQdnXCczsA/PSIB2yaKZ6Jn1cDxsNxry3w3rxfuI3co6nS/J1qZiyx85fhZNYJ2dxou n5zai4VflaxX4GYoT9tQjZRRcKuOCm9ohrHWYEuNutGtr+iBcA/fjRXk23x6pgdJX4HC2z jZ+Zv1ztPwycnnZ8VFipwjDh1Ssfm09QWjWlWKTZ15+a5FgIMjCl4sENz1EWgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1672756245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DFr8ecRnNcGYzKzc60GGDOMzPOBzm/tU/orhgkCfQBQ=; b=Dapl1XBVJOT/3G7OQTD/KfVFkQUpyec5MJNAAkoyta9uJiPJfa1WKIAjhxxoInSvgTYKmR G/HR4xi6domX2tsb8Dpx3we6o4d6Gh3BCkMbNbEtsr7V+hZIqeFdF3KS7Je2fIxs4rQChe EV4yczPXFjg6ugHPF0TVS4yoncvQYk+QptyeHq4a4PRA9EUvZYAG0tOgGqewMOaNdOk+Qq oZaqnzrJSOXiRDCg1u69aXzUmvcqmalUgKhdbSviteTP+jLZ7k00gsH1O2/wFxc6lDlAhV IgDiN4Zwda+n42tIOjVFtBDqY69zfCxppAlMiF2WDkQLX4ctkCJPzfIPG4qRvw== ARC-Authentication-Results: i=1; rspamd-896578cf5-jh72t; auth=pass smtp.auth=dreamhost smtp.mailfrom=siddhesh@gotplt.org X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|siddhesh@gotplt.org X-MailChannels-Auth-Id: dreamhost X-Shelf-Average: 7d14d70e068999eb_1672756245267_1275114702 X-MC-Loop-Signature: 1672756245267:387826423 X-MC-Ingress-Time: 1672756245267 Received: from pdx1-sub0-mail-a305.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.97.48.82 (trex/6.7.1); Tue, 03 Jan 2023 14:30:45 +0000 Received: from [192.168.0.182] (bras-base-toroon4834w-grc-23-76-68-24-147.dsl.bell.ca [76.68.24.147]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: siddhesh@gotplt.org) by pdx1-sub0-mail-a305.dreamhost.com (Postfix) with ESMTPSA id 4NmZsJ30dvzBF; Tue, 3 Jan 2023 06:30:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gotplt.org; s=dreamhost; t=1672756244; bh=DFr8ecRnNcGYzKzc60GGDOMzPOBzm/tU/orhgkCfQBQ=; h=Date:Subject:From:To:Cc:Content-Type:Content-Transfer-Encoding; b=FriNhKBCLqYUPaVHUx/yQ8gqTUKj9gZ65cn8OiE4mBuLldFiJ0AmV1cBE9uEDHkwV vT3ghMxQgxzz5iM+1l4fRbvVJutI7M9heGi/5dx6X5TOw/9UQ6jhPgiD6YIzwLhMhD 2rIkjjqtIU43BfMhLMhe9S1t9Vb9zVJdnxuZqlXDQzPQaPcUoRvBT2+rIQ92WmRtxw S2YgF+NbwXBLljjxrgvf4xkt2l7lCI8ptVJfy6lRAHs2YiFn4pD05mlq3qgr6nZvs3 zhhKbxCP6hmSJVUwKlWJm5MB0TEyu598YpvnT7dVXdYS/KuIs7Q4GaQhL+qdkHsKDS B3lGn2pUcJ3Bw== Message-ID: <7175567e-860a-7c89-1f99-386605bf329b@gotplt.org> Date: Tue, 3 Jan 2023 09:30:43 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: [ping][PATCH 0/2] __bos and flex arrays Content-Language: en-US From: Siddhesh Poyarekar To: gcc-patches@gcc.gnu.org Cc: jakub@redhat.com References: <20221221222554.4141678-1-siddhesh@gotplt.org> In-Reply-To: <20221221222554.4141678-1-siddhesh@gotplt.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3031.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,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: Ping! On 2022-12-21 17:25, Siddhesh Poyarekar wrote: > Hi, > > The first patch in the series is just a minor test cleanup that I did to > make sure all tests in a test case run (instead of aborting at first > failure) and print the ones that failed. The second patch is the actual > fix. > > The patch intends to make __bos/__bdos do the right thing with structs > containing flex arrays, either directly or within nested structs and > unions. This should improve minimum object size estimation in some > cases and also bail out more consistently so that flex arrays don't > cause false positives in fortification. > > I've tested this with a bootstrap on x86_64 and also with > --with-build-config=bootstrap-ubsan to make sure that there are no new > failures due to this change. > > Siddhesh Poyarekar (2): > testsuite: Run __bos tests to completion > tree-object-size: More consistent behaviour with flex arrays > > .../g++.dg/ext/builtin-object-size1.C | 267 ++++++++-------- > .../g++.dg/ext/builtin-object-size2.C | 267 ++++++++-------- > .../gcc.dg/builtin-dynamic-object-size-0.c | 14 +- > gcc/testsuite/gcc.dg/builtin-object-size-1.c | 263 ++++++++-------- > gcc/testsuite/gcc.dg/builtin-object-size-12.c | 12 +- > gcc/testsuite/gcc.dg/builtin-object-size-13.c | 17 +- > gcc/testsuite/gcc.dg/builtin-object-size-15.c | 11 +- > gcc/testsuite/gcc.dg/builtin-object-size-2.c | 287 +++++++++--------- > gcc/testsuite/gcc.dg/builtin-object-size-3.c | 263 ++++++++-------- > gcc/testsuite/gcc.dg/builtin-object-size-4.c | 267 ++++++++-------- > gcc/testsuite/gcc.dg/builtin-object-size-6.c | 267 ++++++++-------- > gcc/testsuite/gcc.dg/builtin-object-size-7.c | 52 ++-- > gcc/testsuite/gcc.dg/builtin-object-size-8.c | 17 +- > .../gcc.dg/builtin-object-size-common.h | 12 + > .../gcc.dg/builtin-object-size-flex-common.h | 90 ++++++ > ...n-object-size-flex-nested-struct-nonzero.c | 6 + > ...ltin-object-size-flex-nested-struct-zero.c | 6 + > .../builtin-object-size-flex-nested-struct.c | 22 ++ > ...in-object-size-flex-nested-union-nonzero.c | 6 + > ...iltin-object-size-flex-nested-union-zero.c | 6 + > .../builtin-object-size-flex-nested-union.c | 28 ++ > .../gcc.dg/builtin-object-size-flex-nonzero.c | 6 + > .../gcc.dg/builtin-object-size-flex-zero.c | 6 + > .../gcc.dg/builtin-object-size-flex.c | 18 ++ > gcc/testsuite/gcc.dg/pr101836.c | 11 +- > gcc/testsuite/gcc.dg/strict-flex-array-3.c | 11 +- > gcc/tree-object-size.cc | 150 ++++----- > 27 files changed, 1275 insertions(+), 1107 deletions(-) > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-common.h > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-common.h > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-struct-nonzero.c > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-struct-zero.c > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-struct.c > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-union-nonzero.c > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-union-zero.c > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-union.c > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nonzero.c > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-zero.c > create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex.c >