From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 4DDF23858C3A for ; Sat, 27 Nov 2021 18:03:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4DDF23858C3A Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1AREAwrC019935 for ; Sat, 27 Nov 2021 18:03:34 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3ckc9t19q3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sat, 27 Nov 2021 18:03:34 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 1ARI1fUV018518 for ; Sat, 27 Nov 2021 18:03:33 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2103.outbound.protection.outlook.com [104.47.55.103]) by aserp3020.oracle.com with ESMTP id 3ckcg1bfyn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sat, 27 Nov 2021 18:03:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K5nTy3c0QQr6lnFBibDEc60DsWThLr+5joG/yQH51H0RwMl7LJ9ofUQxM2VmuHpMsZRgRDCcQBcrm6sTV8aiw7+aP6DMYMKTuDr6HlCWzuKE/x0blr+6FnL7UmyeC0urn1TJ4iHn6Iv71M7BrHWOVm80WyAMSAlKRimOZO630ldrpvLuff2/aDvZK37cNyD54q/pyQh/MrkyULANSj+8OQBKHFWp7tAr+U1K/opETY8cJ8Z8yBUItrU8nk/HeGcvLlrp9OLYKungblBJp8ny2egwcQQY9+LORVnLTedjJWHUBrBYI0VPHj5mKxF/E3QsoK4jLGQKjBmopx3HKvtusw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nz1u3pjcIvauJAYvCAShF32Ph+edtk+WoE7UApa6eWM=; b=BOwOZ8NKJQvZLnWRb2JbWjI4r0NeNTZhmZ2d6U6GI1vuD/lLnf84uRPHB3fUxYwKoTlu8qdkNVfwm4gyXzCDrVzGjL8C8CjtCl0Lo9zJA3pRqhRJtpDCqQ+S0TLMwzdN9hAFouSsL+usKsMH8mHDwTiVZk0/lmJqTLyfzypFp2lJdUcFHehuThZ5F49JqhS/uCSuQlmZR+QN7QuU6IVVR/q71VNoimmNI2/FF1Ce0xZrNWUkUvL66f/F6hW8+Mw0ibIjvF4H1qynw3nULpDK6SCYQFkqBFz12MoOQLQCQMIxhrzgPV/2styUphAWeLTzto5Tt+h//JR0IBC5jcqWWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from DM6PR10MB2890.namprd10.prod.outlook.com (2603:10b6:5:71::31) by DM6PR10MB3692.namprd10.prod.outlook.com (2603:10b6:5:17d::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.22; Sat, 27 Nov 2021 18:03:30 +0000 Received: from DM6PR10MB2890.namprd10.prod.outlook.com ([fe80::78ba:e811:54e5:b32e]) by DM6PR10MB2890.namprd10.prod.outlook.com ([fe80::78ba:e811:54e5:b32e%3]) with mapi id 15.20.4734.023; Sat, 27 Nov 2021 18:03:30 +0000 From: "Jose E. Marchesi" To: "Guillermo E. Martinez via Libabigail" Subject: Re: [PATCH] ctf-reader: Fix length in dynamic array definition References: <20211126231718.119513-1-guillermo.e.martinez@oracle.com> Date: Sat, 27 Nov 2021 19:03:23 +0100 In-Reply-To: <20211126231718.119513-1-guillermo.e.martinez@oracle.com> (Guillermo E. Martinez via Libabigail's message of "Fri, 26 Nov 2021 17:17:18 -0600") Message-ID: <87pmql328k.fsf@oracle.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Content-Type: text/plain X-ClientProxiedBy: AS9PR06CA0241.eurprd06.prod.outlook.com (2603:10a6:20b:45f::20) To DM6PR10MB2890.namprd10.prod.outlook.com (2603:10b6:5:71::31) MIME-Version: 1.0 Received: from termi.oracle.com (77.190.166.239) by AS9PR06CA0241.eurprd06.prod.outlook.com (2603:10a6:20b:45f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.20 via Frontend Transport; Sat, 27 Nov 2021 18:03:29 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 29fa04d3-1b03-4cb8-f1c8-08d9b1d03819 X-MS-TrafficTypeDiagnostic: DM6PR10MB3692: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lAjoCDbVZm5K7j1oNel2Fta6WrNnGKXkst8ESrwtjRbqG/G9SYV1N1+VcsL5DnDTscEnVLNDQewc2apPmB63MZt6vI8JWrIYwlyZLPEaxyY5rP4CqffBQbFj8HIhTzACMR7x7ughdI83U1QEHosdTOTonONsX4F+Z3P01kNtsSVUqWVfLSm/CqjWC2Ohzbs2o09DMj9bfC8kQmgL9o/t1eW67LZd8TTnbiGEw5sUhwWAjqd7XS2n350pyf9brJudOx3JW55FgnhyIH4iSk4dvi+Iw9VvYcTu2QGo/CPE7vSP/iRHAewYjliHQ9dVYpQdRWRJyPODIWDbkYHEavVsQvsDUqPj2WP4noaqKqVCoqJhuDrYZzv6KUKNN/fDCQGlGIfXlecFpn7JF5RhtpXcNwSIU2dpU9esu+LqPheW5wS1DGf4rvMZwHcpwLLKkAlZA4tHfCTjWLodQOWFMEWl+mmc3ZyFbJPRmGLX7QzXQdUIunloqO8c1oyz0PTTg+HVaClMYhcnXH9ana2TjRJo/iWHCLVHLV33x79Udw7ZmLSobEm9qfNebzWtTRKr7GyBfDF4Pa2pecH0KSnrPgR3GblbqCBHwmgN98Btl52YPkhjDpQ0uuRhJadWixbaloIVmTawcjEyCVRs9WWfb7+RY8HAzvuK8DZb+1sFn/29qpCanzvuK1ANemMDa58m9reVjzRvBesxs8o/HTqjMHr5zQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR10MB2890.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(6916009)(66556008)(316002)(2906002)(66476007)(66946007)(4326008)(2616005)(956004)(36756003)(6666004)(52116002)(7696005)(8936002)(5660300002)(186003)(107886003)(6486002)(38100700002)(38350700002)(508600001)(26005)(8676002)(86362001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7DyLafP1VF9ar/V6oCbTztmfnky3eSW4Pvo1CmDzS1hMtafRwu2vHRGSgPmz?= =?us-ascii?Q?SB5lAiXil84394FfXdJqGjRL15Hp53DqJMlDupG2Y4FKr5DVKMDDLxsOzOLB?= =?us-ascii?Q?pfj2pap7tQisJLT0i3dRck0fxbTLWzyLsx+MhyCbsSxbNVQyk9z2Z9/S0oRF?= =?us-ascii?Q?sbuddOPchlHTFpoI+PRK1sfxb+taKgqDK/lIyPmk7sTgrhlBjRyv6paqnEYM?= =?us-ascii?Q?ZaZKlWhRmK2780OMqMgwVPApHitJpfN0gJ+fdZC4LDLR1itQTYuPiAYzV4B8?= =?us-ascii?Q?+KVrzFzsBXk7v1beLriT1pQimc/ezxxUJO3/CJKQTwblEMewPV0qYGFao//W?= =?us-ascii?Q?WjbGlUv2APo2kf8pEj6ANavaFJSEt9PlMZ5ETeU1mFtjyIgcih6JHMm9TW5P?= =?us-ascii?Q?58TbL0NYJ2iZVn08Zoc2U15fswscFv/uTHH6DkgaicVXezhUy4XhZfKBhHfA?= =?us-ascii?Q?TCCXBKWMNSwPgJfvDcfNVqKi9eP3I4XSxMWfy7txskpn2EdxmrSqnzbvPK//?= =?us-ascii?Q?z9/PCZb/L21ri1Knpm6OyVOW0kwDoQlDOa0Z/VOOeBoAs14w0It+Am775D1m?= =?us-ascii?Q?V+6pbzUptWPnRr9jWyfpTPqiHaFurmeNWp+xskAeQFiokEY/JJQEN/l9Tefy?= =?us-ascii?Q?1J33LZlcisldXtCjCrDpZ+PkXtpOSatuvgX8FRdQ+4wukAr4Wtx0h6igjw3l?= =?us-ascii?Q?bFvMdUYxZ3TBLhm7icHMJRJFyyydREJGmSrMqvPTZeoPrLk6dxZtoiyoN5K6?= =?us-ascii?Q?Qlj2gdF78x3Yeq6bNP9ZOSfZKxUomJMR4QIH51SdmAsjmt3md3J5o4mxWvhu?= =?us-ascii?Q?nrRnDLOYIXvWPnOfF/cMKyiYK5fg/uqr9bX7EVDujnpiCfepKXIZYCLcc2sY?= =?us-ascii?Q?8PmZFrVi/1gI+2V0z5ReZ1jhnA1ghtBh+E65SVhbubgaLgOFT+cmFr+e19vG?= =?us-ascii?Q?HiSDPMY2XkLAcsfJ8R6kNADlvSF//v2I0NpRzVF48gYb3/J05Iogu4vu6UZp?= =?us-ascii?Q?cyI3goIexuW6b6tYALQTyXIl86wWNy+Aon7/AcDabwLXS9n22RrD9A9tkqJa?= =?us-ascii?Q?mGJgAlsHb92PNJxcBCWRVNBUN9cQrswwJaqJm/ZaMWw/K3nUnPfGmue8GT6/?= =?us-ascii?Q?2GMjq2c2uqDj+NIe9zLY9CdFbWq6DkWCPK9MDCb6d8jP0Hxl6RQxIAW/uwjF?= =?us-ascii?Q?Q8LxEo90/vZ2jz3Ds/hLVsmUScegLWd5FPTY6iTXEpqoobONgaYBgXWZgDmc?= =?us-ascii?Q?tKBrv0Xmyynw3amXs5BMzMgzMGITFZM7Tkpg2NEFv7j0mAYznxscb1JruyHK?= =?us-ascii?Q?PoejvkRZD01tYPBHFoJNuf4X4U0lRy14NZ6ZJPlkn740OL20oDOOpWwEJzNX?= =?us-ascii?Q?5ai3FC8b4OrNAuSoCmiTCgxrrF6P39EOtq7GyOV3aG8jH8HT153UjxxueEdW?= =?us-ascii?Q?AaoYlK+YM3kS5jrQeP/Z37n1i0BHUOj/boPFeKb2f4T5/TpJzY3+Qk5ytia+?= =?us-ascii?Q?DRvvyzTqo3SCkn9RsqM4zck1vLrTiyCF6tpmUcSbMv4a5B5e5G+nxU3lpSs1?= =?us-ascii?Q?FhVp1PZlOQnAj/W8ZPoeTKRlu0kAH2a5UWV5HQPlMGZeojaIii9zRDiXfpiU?= =?us-ascii?Q?Noy6yu/Hp4EdRhd7lfz3ZS6Jhhy6h3A9raF9YS6hxGIOMUShc4qmnwoxI8uZ?= =?us-ascii?Q?x9ovKw=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29fa04d3-1b03-4cb8-f1c8-08d9b1d03819 X-MS-Exchange-CrossTenant-AuthSource: DM6PR10MB2890.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2021 18:03:30.3863 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hsJPkZYVOPameS6uuPYGA3+BkLhvZjrEKyXfrnslG9mmU/bRnWuvK32WOHu4jn7mVa1R+bUa3dnVIx86QRyibJyavcTd1siNjdaAr/hvFTE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB3692 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10181 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 bulkscore=0 phishscore=0 spamscore=0 suspectscore=0 malwarescore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2111270108 X-Proofpoint-ORIG-GUID: MCMOlM8ZpoDoEtOrYvyEQLWZTkmBGBE8 X-Proofpoint-GUID: MCMOlM8ZpoDoEtOrYvyEQLWZTkmBGBE8 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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-List-Received-Date: Sat, 27 Nov 2021 18:03:39 -0000 > Hello libabigail team, > > This patch fix the `length' property of `subrange' node when > we define a dynamic length array, > > Please let me know your comments, > > Thanks in advanced!, > Guillermo > > Defining an array type with dynamic length, node `subrange' > in the abixml file doesn't write the accurate `length' > property `infinite', instead `1' is written: > > > So, member function `array_type_def::subrange_type::is_infinite' > is set when `upper_bound' value is equal to `0' or UINT64_MAX. > > * src/abg-ctf-reader.cc (process_ctf_array_type): > set subrange_type::is_infinite when `upper_bound' value > is equal to `0' or UINT64_MAX. > > Signed-off-by: Guillermo E. Martinez > --- > src/abg-ctf-reader.cc | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/src/abg-ctf-reader.cc b/src/abg-ctf-reader.cc > index c571d825..687686d9 100644 > --- a/src/abg-ctf-reader.cc > +++ b/src/abg-ctf-reader.cc > @@ -472,6 +472,7 @@ process_ctf_array_type(read_context *ctxt, > { > array_type_def_sptr result; > ctf_arinfo_t ctf_ainfo; > + bool is_infinite = false; > > /* First, get the information about the CTF array. */ > if (static_cast(ctf_array_info(ctf_dictionary, > @@ -507,6 +508,19 @@ process_ctf_array_type(read_context *ctxt, > lower_bound.set_unsigned(0); /* CTF supports C only. */ > upper_bound.set_unsigned(nelems > 0 ? nelems - 1 : 0U); > > + if (upper_bound.get_unsigned_value() == 0) > + { > + is_infinite = true; > + } These braces are superfluous. > + if (UINT64_MAX == upper_bound.get_unsigned_value()) > + { > + // If the upper_bound size is the max of the integer value, then > + // it most certainly means infinite size. > + is_infinite = true; > + upper_bound.set_unsigned(0); > + } Is that specified by the CTF spec? > + > subrange.reset(new array_type_def::subrange_type(ctxt->ir_env, > "", > lower_bound, > @@ -517,6 +531,12 @@ process_ctf_array_type(read_context *ctxt, > if (!subrange) > return result; > > + subrange->is_infinite(is_infinite); > + ABG_ASSERT(subrange->is_infinite() > + || (subrange->get_length() == > + (uint64_t) (subrange->get_upper_bound() > + - subrange->get_lower_bound() + 1))); Hm why this assert? > + > add_decl_to_scope(subrange, tunit->get_global_scope()); > canonicalize(subrange); > subranges.push_back(subrange);