From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id C4B8F3858D20 for ; Tue, 29 Nov 2022 18:32:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C4B8F3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATGQ1j9012682; Tue, 29 Nov 2022 18:32:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=YIBmZSM7BTlximg5I9376J+jAEhnpLAy7FEfFtbzCqk=; b=wiIq+gnwGM3ZoL46eWBxylhlQnLsToZ/wk7Fh1q3dgWIT6LC0IY+8+vhmyi1uEBOhP4w hK1EVbTAbmLgwxEDWmf+0da2xaOA0WBIKWap95uHtQIJ+vrySpH6C0fXOtZm33YYxysT +5ASFlcwxhVo9/Z2aZmCE6D1KVkwDBhsF7uEizcT+1h2JOeulWo7kBsDpHaCc3RcXuV5 XdKQECcPuHpE8wa1Le0uJzTZZC9Z5oolXLzeDbgJyvwvIPkZg8RgCgmi6kPP1LbkgQXq RNJ6PWmwi/gX7wfcw3jBtLBjF9IvdNJDOqgDYPoE9WAZ3ur5C5Nqb5Y57hx2ypfUFXjV kw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aeme0rr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 18:32:44 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATHgEPf011397; Tue, 29 Nov 2022 18:32:42 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam02lp2049.outbound.protection.outlook.com [104.47.56.49]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3m398dxhvm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 18:32:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=avawj5RO6NQ3YVdrcJITfi4dar26FMZlrlqVbycvHwFy0GvJgwjUPZTDqYdx2mgf1nMZwxBO4CfIAWszJaR3mlQxtwa/vIR8J0fuyXvzuGEnKc9D7SKOgKRhViUy8MeEvzbtKJv+yjJy49UrD7RckwWrcBLXZvu/IosBoCxkLxDLqRErpkG/kXp2ApEp8AIZeOEOQsigqB3WMIM0URhymmSYBPTTHNYDdyDyAh58odTv8MKS5/VstsCTYr52rl1SjtDlKmxaR2Kz2rshNIoMEq5I6DDQqOoeS+9B5FRl1MiTi2VHXXAH/kx4qBHBB69ZCGVu87YwduIavZHmrVjq5Q== 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=YIBmZSM7BTlximg5I9376J+jAEhnpLAy7FEfFtbzCqk=; b=n9WkfolyVk/RnRDVGizT8//vqYsMPrb4Tus/Cp+JPcwBQIboGfDhDz4HP5LYCiu3MPoNJ+QKgtb6RByMdRkPfH5RGKOLpQqte5tUZ2lLibLct9vtYBoL/Ifj+qlR/lRZDYex0lfx8RU7896zsv01n1KuGFamYPNs//RcW7czlp1fUtdWoYPeJL7qsOEyz9FZXecZPyrNgP3H65yFxKepydyUZe9hE0qBDc/yEZzdiu3EqjQSlABJrlF4sw4aKLpBQnuNFC999cqgbKPSVwEq+GMBL1a4a5UiWiIcVNk/zFsgvj149RGo+Wt6sMeaZwkoP0kt3YSv1CO/6S4VnuLktg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YIBmZSM7BTlximg5I9376J+jAEhnpLAy7FEfFtbzCqk=; b=drstJAX1ZPwxPmq7JxDFyZetHhgdHw+/AHwSmLYhE/tS55cwuiSJhy+4KE0rc6VMe8jABTCTKSq+04K1bns+2aWVNvSq5Edx+BGSSYxkhWeK3BNvxqEqNAvmkXDj+5K6Qtni52nJ80e/VCznHq2iGBfrt/rTZiCyDXqBU+tmL5w= Received: from MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) by BLAPR10MB5204.namprd10.prod.outlook.com (2603:10b6:208:328::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 18:32:38 +0000 Received: from MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::931c:1fd0:72a2:dfd2]) by MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::931c:1fd0:72a2:dfd2%10]) with mapi id 15.20.5857.023; Tue, 29 Nov 2022 18:32:38 +0000 From: "Guillermo E. Martinez" To: libabigail@sourceware.org Cc: Dodji Seketeli , Dodji Seketeli , "Guillermo E . Martinez" Subject: [PATCHv2 2/5]ctf-front-end: Fix size and name for underlying types Date: Tue, 29 Nov 2022 12:32:22 -0600 Message-Id: <20221129183222.420706-1-guillermo.e.martinez@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <87v8mxoo9g.fsf@seketeli.org> References: <87v8mxoo9g.fsf@seketeli.org> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SN7P220CA0024.NAMP220.PROD.OUTLOOK.COM (2603:10b6:806:123::29) To MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR10MB1407:EE_|BLAPR10MB5204:EE_ X-MS-Office365-Filtering-Correlation-Id: 75f9e91d-f87e-41f3-2bc7-08dad2381688 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8vWHFnb39MQHci9R5v0QeHZBYUJ3+D2Me3HAvidvIyhxfgJPFfpXWgCiV01oXl9hJvbpUjqGF3/lbgHqf0+Vn7qLIxkFLTdE/GQ16RPevShVHW+k6c3HqidiHkrmQxl2PmAm+Jq9CKeqm5YSdtoWMW/KOdcoGq6RsL0WTPHCZ0LRejer5AjZOsVk2Dt1VqlSrutX6bpv4SSsse4KpDlWjyEycJJjsgSO1xnbhYVML0FWvgBjUjOp+ppHA17sJzO7k8r/FjCtLXXTDlKhbfGvMoYcZ3H2Qmllyxt1E29MPLvca6T2yUwx5q3tHn7ZG8LPaiYNaxqnYax4bRn0k+MKN4jl/zz6QtbgYyMfQHqSfy1Cl/Tej5gULb3QXAtrrbFMJd8304PbJ2j6J7OxoO5XHzPXWn8WrLQ1QJpws6Xw84oKRWD81TQwS6OWGKfiqUYGN7uVqy6cj0G94YtbHBE8l1tFGTeR/X18WvldVuTZ+eA1St4F2t2B56hSXkaLH4ctdzecNiZJwrLFCW9npcaWAPgrCTDCXtqZ9f+oNIgzw60IlGVx9HoE9rECFa8FB4rjpcPkEFeIVaItdL5tPDxdGvAqeAnGve1bq7saxMHhy/xwo/JwpUEMgAd2S7FEonWVmDjrXmnNh39UHQ0iM76eOwi3PzCY2eLGeajTJYvcWXE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR10MB1407.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(396003)(366004)(346002)(376002)(136003)(451199015)(6506007)(103116003)(86362001)(66946007)(6512007)(41300700001)(186003)(66556008)(8676002)(8936002)(966005)(4326008)(107886003)(2616005)(478600001)(66476007)(316002)(6486002)(6666004)(6916009)(19627235002)(83380400001)(38100700002)(30864003)(54906003)(5660300002)(1076003)(2906002)(66899015)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?VUhXr/E3jIhHYpJXNeqTNVv1098mEbEieGvUVnL9aBDpVoximux86xCHOE5n?= =?us-ascii?Q?lqDO+9QUJKSEweBfKhLUG4J4Dx6e4D3LIEmec02cofPw3MzmlPSevVmFUGuF?= =?us-ascii?Q?GpFhaIJAcQn/rTBI2BTpmpAGr1ifpjsS5LPJl45FHPsVVffUHVo19BOVkIaa?= =?us-ascii?Q?j3JWyMjEdI5PMk+1G2HQFWMrKt3PTRw/TDdOKw3BBVny/xhTRfrwVmCwX7/g?= =?us-ascii?Q?cadFSFxtR9WMmg/utUl7hMQ/+Aw0vQZXJhznepIf5ZLe9R9WMgueyTEQV9AC?= =?us-ascii?Q?upJKUBScBgtjO/Z3qUu0o9NDRiiSK3SDeHVEVR86XB/VmPX6XwdE0xXZW5bc?= =?us-ascii?Q?xmOzfupP5GskdKiTUNMghXlfgmEuB8SJtNs2DFGJQvZhDLZMH9XP0ezYq7+n?= =?us-ascii?Q?i3EIAIiRFhklxLZI4y4WzQ9Q1Pv0ANtdzd/AsQvk/o8LCvlo9xnCTRh4EFgB?= =?us-ascii?Q?R06O/j8Xwlfl8hzbscV7a+ibqVbivn0i7DMZ2p8/KXJvAkqgzBMQW3/ulbjo?= =?us-ascii?Q?+TgopYmJcmHu9dfSLVM9vsVRIMbvH2sq1/EKmaiM+4h4JBsSNPA254UD80XD?= =?us-ascii?Q?2g1GK6iJBaXTJ7l1mtTWKznqtL1TLT4SjXX5H5ffb8I6N2MJ570UB2E7tAHy?= =?us-ascii?Q?6TZflBAIOdMhMPE2ep2/P/5/mkpaDZoK5lyzhWVziY1t998/zspSEv1ssIUD?= =?us-ascii?Q?ymlHnaUlcL5QV5DZEqN0VUVjBd3s/YQjDYZ7cFUL2OFkjxHOOxDFNDDuC0ly?= =?us-ascii?Q?cuGX0O0F+uRk0w44Jnwr/G8FvdEuCGeWz2kY+dnyjWHc5ZcxSwm1NRWMggGM?= =?us-ascii?Q?17GL/xwIHAlKXecCkRyyFD3COPojYx5mntCw3HmSZOvTFA+5GVTb4WhWC61A?= =?us-ascii?Q?gMAMxMCELJ1oGKLWxSkFw0nmNFPwvhrup+d/F4ODawsbL5w31d3pNz+HUq6O?= =?us-ascii?Q?5+HNVai3QLFUJePI95PvfJByMyiWcFW+m3nhxN0ceGWfSG4J3TS8Np4NdRCb?= =?us-ascii?Q?bnUxC4fILbaqOHzY6vr+j7n2wyQKticTFgpnTvseH3t7TxQK1K+fyJJBTB+a?= =?us-ascii?Q?E1mk6K+FMh5Lezm1J40og11P1fd/jyqSygpz/9xa6eSKoS5Sjhj6uiT+jwse?= =?us-ascii?Q?RtOuZ1aR9flN20IIkfi7ropdnWOqd6F5M1Osgzu2qepS27ScIzrDi2VLNlyU?= =?us-ascii?Q?p0jGP4jo6LYlgZgQPgO56C2gqkmjMARKpZ/Dnytbj+3lt/b93Yn3vzZS8FN5?= =?us-ascii?Q?W870MmbpyL1Thwfq54tfQNegFVo66w0dXAweJGyP1jPziZ96Y+mQ/mXn+sMm?= =?us-ascii?Q?1RQbo7mOxqnbKhckHq6o+s7/mt3RnTMChWpYfngWZ9tplku//rDhQMe8Nx1W?= =?us-ascii?Q?dc/7HBKi+kK76kOB6DfwQX24psPp1Sfmti8CDHl/NdTylexbLUJx+fo9p2HZ?= =?us-ascii?Q?UzzgG/464BSyFerXc/tCr0ZXBqMKvGAur7mqdPNsKlM3O47R5fgnZ/bfnUO3?= =?us-ascii?Q?Rw8Zr0yLOAumjjA6bRPyE8FOoFmdEwDD5wdC1ll0Pr+1CEBPRijaQYQqTyxi?= =?us-ascii?Q?kO4v4DxU0sV490XUmB40i/6kLt6EI5/Jk4wzVhbyb9wg3huNczEoRBWaRoko?= =?us-ascii?Q?6DX6D65S8rpyZ6+4SrhWCMaqVchJfJjvOUgqd2khKxq0PP+XIDv8p3ZsEZC6?= =?us-ascii?Q?rtYwySoSW+ASBJuVI4FUTX7co4Y=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7GBQZOqBjeEEImmWUCXlAWFjBJrWlchqAIvBNwQn5J0BfEpS0dUo7u+anQyGqWxRlYzr5AeFgaRj5ozH0RI1gTeR+5YZ+tH0KxS947rzJM4+6b2MsaUD600wJbuFLREFa/vBvG++ygg4bnzKaVcPSxmsSQYOacpphwaxTLsCEMwqXUVy0tEGRq0oO5LrBmbbC57oFnUc9pb70L1sPyZL6T/J1/CPqmaFsXL2X4uURPwh/0at0Jweh/hgIj5dkqqPWo3eFZ7O2mmRBuV5WWRz8BftPiyFsxuv1pCyTH82HzkaXcu7WqdbQ07RgCj5A/sIxKmn8IemCu9VOBDVIbriIEGPXUHdbZa9MkVhJkBYAy25o1VZMJnXNzQ3+FZJQsdy/tQulevbTwL4L5h8bsd6IoI8SB/BevgOnOvRLAVhicbujrOcbVYpaWcKYs0KTw0x8RFgkDT0RFfaFbW+vNdrQCMXg0RXpqn2YXxrELatzaDk36wOZCj2+ZdC4v8p1AFfgRBDxMmpTiOCWtUOIWwyN8Fef5UbpHH4cEVxhgkl9WUeyAyWwBOmQbiCyXFWz0Gvyf9xBt+6jH1qh6WepvI7Z9/DKJ6Vi/7Qyu5NMtFSFPCDDRXEn7nLakl7yQp9B5rW8jU2p9N3yV4fyCGyindpQaXUs284hF7VupJX7r9wHuP9Q+yZxakggVgNamvry635LhCh5wI6av23iXz+dWrk1kiJfR0Crdxh2wRdOK4IsdblYTxHbqsDwt1Cdi842tYN22NBeRNVfdGG3qLF/MRkOJ4TXsLkUj8mcBFpbqUb8dEmdfAfPm9Qw98d5e0UesjFBuwgypmbrQ5au672VVOVAw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75f9e91d-f87e-41f3-2bc7-08dad2381688 X-MS-Exchange-CrossTenant-AuthSource: MWHPR10MB1407.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 18:32:38.0307 (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: 2PnMo4NhKZD3TFXUqw/n/FXVjppAHOU6cTdmZm3GdmKK3q2vXeef9/+VWDa99SUrKY7SC/jIOh6al1wRqodwsfaeZjx0rnKVlfHyF0UVF48= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5204 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 phishscore=0 suspectscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290104 X-Proofpoint-ORIG-GUID: -EPUXWj6aBEaxia7St8-_waEALqME-vZ X-Proofpoint-GUID: -EPUXWj6aBEaxia7St8-_waEALqME-vZ X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SCC_10_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,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: From: Dodji Seketeli Hello, this is the second version of the patch to Fix size and name for underlying types, those changes are done for comments: https://inbox.sourceware.org/libabigail/87v8mxoo9g.fsf@seketeli.org/ Comments will be welcomed!, guillermo -- This patch fixes an incorrect representation in size and name of the underlying type of enums as well as underlying types of bitfield data members types. For instance, consider this struct. struct foo { unsigned bar : 2; unsigned baz : 1; }; The data members bar and baz have an underlying type that is "unsigned int". Yet, the CTF front-end represents the underlying type of these data members as: The name property is empty, and it should be "unsigned int". The size in bit is '2', but it should be the size of the underlying "unsigned int", in bits, which is 32. In other words, the underlying type of bar and baz should be: Note that today, libabigail doesn't represent the bitfield properties of the data member. Those bitfield properties are properties of the data member, not of their type. This is a known "Not Yet Implemented" feature request that has been filed upstream at https://sourceware.org/bugzilla/show_bug.cgi?id=27334. Similarly, the underlying type of enums is not properly represented by the CTF front-end. Fixed thus. * src/abg-ctf-reader.cc (process_ctf_{base_type,enum_type}): Look at ctf refence type to build the underlying type if present. * tests/data/Makefile.am: New test cases. * tests/data/test-read-ctf/PR27700/test-PR27700.abi: New test input. * tests/data/test-read-ctf/test-bitfield-enum.abi: Likewise. * tests/data/test-read-ctf/test-bitfield-enum.c: Likewise. * tests/data/test-read-ctf/test-bitfield-enum.o: Likewise. * tests/data/test-read-ctf/test-bitfield.abi: Likewise. * tests/data/test-read-ctf/test-bitfield.c: Likewise. * tests/data/test-read-ctf/test-bitfield.o: Likewise. * tests/data/test-read-ctf/test-enum-many.o.hash.abi: Adjust. * tests/data/test-read-ctf/test-enum-symbol.o.hash.abi: Likewise. * tests/data/test-read-ctf/test-enum.o.abi: Likewise: * tests/data/test-read-ctf/test0.abi: Likewise. * tests/data/test-read-ctf/test0.hash.abi: Likewise. * tests/data/test-read-ctf/test1.so.abi: Likewise. * tests/data/test-read-ctf/test1.so.hash.abi: Likewise. * tests/data/test-read-ctf/test5.o.abi: Likewise. * tests/test-read-ctf.cc: Update test suite. Signed-off-by: Dodji Seketeli Signed-off-by: Guillermo E. Martinez --- tests/data/Makefile.am | 6 +++ .../test-read-ctf/PR27700/test-PR27700.abi | 4 +- .../data/test-read-ctf/test-bitfield-enum.abi | 18 +++++++ tests/data/test-read-ctf/test-bitfield-enum.c | 12 +++++ tests/data/test-read-ctf/test-bitfield-enum.o | Bin 0 -> 1336 bytes tests/data/test-read-ctf/test-bitfield.abi | 28 ++++++++++ tests/data/test-read-ctf/test-bitfield.c | 15 ++++++ tests/data/test-read-ctf/test-bitfield.o | Bin 0 -> 1488 bytes .../test-read-ctf/test-enum-many.o.hash.abi | 6 +-- .../test-read-ctf/test-enum-symbol.o.hash.abi | 4 +- tests/data/test-read-ctf/test-enum.o.abi | 10 ++-- tests/data/test-read-ctf/test0.abi | 48 +++++++++--------- tests/data/test-read-ctf/test0.hash.abi | 10 ++-- tests/data/test-read-ctf/test1.so.abi | 8 +-- tests/data/test-read-ctf/test1.so.hash.abi | 4 +- tests/data/test-read-ctf/test5.o.abi | 12 ++--- tests/test-read-ctf.cc | 18 +++++++ 17 files changed, 150 insertions(+), 53 deletions(-) create mode 100644 tests/data/test-read-ctf/test-bitfield-enum.abi create mode 100644 tests/data/test-read-ctf/test-bitfield-enum.c create mode 100644 tests/data/test-read-ctf/test-bitfield-enum.o create mode 100644 tests/data/test-read-ctf/test-bitfield.abi create mode 100644 tests/data/test-read-ctf/test-bitfield.c create mode 100644 tests/data/test-read-ctf/test-bitfield.o diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 4b6e9305..b89a4dd8 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -704,6 +704,12 @@ test-read-ctf/test-linux-module.ko \ test-read-ctf/test-fallback.abi \ test-read-ctf/test-fallback.c \ test-read-ctf/test-fallback.o \ +test-read-ctf/test-bitfield.abi \ +test-read-ctf/test-bitfield.c \ +test-read-ctf/test-bitfield.o \ +test-read-ctf/test-bitfield-enum.abi \ +test-read-ctf/test-bitfield-enum.c \ +test-read-ctf/test-bitfield-enum.o \ \ test-annotate/test0.abi \ test-annotate/test1.abi \ diff --git a/tests/data/test-read-ctf/PR27700/test-PR27700.abi b/tests/data/test-read-ctf/PR27700/test-PR27700.abi index 4f34eb8a..1a7c229e 100644 --- a/tests/data/test-read-ctf/PR27700/test-PR27700.abi +++ b/tests/data/test-read-ctf/PR27700/test-PR27700.abi @@ -3,14 +3,14 @@ - - + + diff --git a/tests/data/test-read-ctf/test-bitfield-enum.abi b/tests/data/test-read-ctf/test-bitfield-enum.abi new file mode 100644 index 00000000..b95f1781 --- /dev/null +++ b/tests/data/test-read-ctf/test-bitfield-enum.abi @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/tests/data/test-read-ctf/test-bitfield-enum.c b/tests/data/test-read-ctf/test-bitfield-enum.c new file mode 100644 index 00000000..502ec06a --- /dev/null +++ b/tests/data/test-read-ctf/test-bitfield-enum.c @@ -0,0 +1,12 @@ +/* gcc -gctf -c test-bitfield-enum.c -o test-bitfield-enum.o */ +enum event_kind +{ + NO_EVENT, +}; + +struct input +{ + enum event_kind kind : 16; +}; + +struct input e; diff --git a/tests/data/test-read-ctf/test-bitfield-enum.o b/tests/data/test-read-ctf/test-bitfield-enum.o new file mode 100644 index 0000000000000000000000000000000000000000..2c532f50c724f7bf4327b7c36699a432ca08eab1 GIT binary patch literal 1336 zcmbVL&2G~`5T1lkeh>7}s)CE@g;e0R6E4sLvQ&j4gu(@SLuGAm(^c(tWN#ojAvp0! z9C;I-0bT%R?A>IwlnWz$p1CWILVPqFR91M(XDu?Oo)5*zX`UV!NkuxRoKq?JV%@-P4f`I6}Dn*p8(p6N|JS#-h)LB%> zl&5mWWf3azG18*ZO_X!Z+c2yJ&%;cgby+I)nG{7H3biO%25@|IbQlber*98}(PI{~ zI2gy{@n{r34TfSl7qu+$io7^zuZ#~n=T(eR27Ty#cjm*{y1bjws{Z!WAHdJwerFd8 z+wJDN&iZT`EcEX$09dmsHBZs&y7T8Y(qgHB(Jp|cO#=+~fRC!AnSiNE3x+dXW>y>}E|H<#6h-TgL#EF;N)Zg2EY*3B9Ki3jBabjQp0DJUp|4YB#uQ|id zA7R};lc)(j(00A1m%<1+REvr1*oh%NbZQh@z4eDq&82>}1h;qz_a)Y@A?Uwz?W@uI y_o7|7Ml@eb{clG9!jNwmp4IO;b$|D5%N%NXhQ6NP=Gz!trr$IAca~_pzm`9z|8lDU literal 0 HcmV?d00001 diff --git a/tests/data/test-read-ctf/test-bitfield.abi b/tests/data/test-read-ctf/test-bitfield.abi new file mode 100644 index 00000000..4231ba3e --- /dev/null +++ b/tests/data/test-read-ctf/test-bitfield.abi @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/test-read-ctf/test-bitfield.c b/tests/data/test-read-ctf/test-bitfield.c new file mode 100644 index 00000000..66f53704 --- /dev/null +++ b/tests/data/test-read-ctf/test-bitfield.c @@ -0,0 +1,15 @@ +/* gcc -gctf -c test-bitfield.c -o test-bitfield.o */ +struct foo +{ + unsigned bar : 2; + unsigned baz : 1; +}; + +struct foobar +{ + unsigned char bar : 2; + unsigned char baz : 1; +}; + +struct foo f; +struct foobar fb; diff --git a/tests/data/test-read-ctf/test-bitfield.o b/tests/data/test-read-ctf/test-bitfield.o new file mode 100644 index 0000000000000000000000000000000000000000..c23c8188d880587f2ba78b8b852cdb067607e4b6 GIT binary patch literal 1488 zcmbVM&2G~`5FVEh3S3$$Arvm|iB=FhNe{FYLXj${gb+85NZ8IMu}JL7-in3`cOC%o z6g&e@fw=Ju@B%QOcgITo!uG)6&AoRG-bD`2A&r_o-G&p09E`K4Wl85nozDt2 z3G+fznpCWBK)`LeY~B!-q-jd=yj-d{U8SqItdeY@;=0P>MV=;UK1=dNzfiAZt!iDz zlSC(t+pknI>1TRsqBPgjTrDP1Ms#{|avbiRK6}0&4iBP1Gzdq7(P%gv9EE%8;!IWf zQWZK`?3+=|PD2i`S1#kBgHPD4NMK{^Ex?a#H?BG57>6;et?}c5t yf_wP2;14bM5&_FqRzOmJ3m^+{fA_#Y*n0dAb4BJB4DaMm^&f5h3rV!rum1@|M0T$L literal 0 HcmV?d00001 diff --git a/tests/data/test-read-ctf/test-enum-many.o.hash.abi b/tests/data/test-read-ctf/test-enum-many.o.hash.abi index 116325f9..9119525b 100644 --- a/tests/data/test-read-ctf/test-enum-many.o.hash.abi +++ b/tests/data/test-read-ctf/test-enum-many.o.hash.abi @@ -4,14 +4,13 @@ - - + - + @@ -61,6 +60,7 @@ + diff --git a/tests/data/test-read-ctf/test-enum-symbol.o.hash.abi b/tests/data/test-read-ctf/test-enum-symbol.o.hash.abi index f4911bc4..da68828c 100644 --- a/tests/data/test-read-ctf/test-enum-symbol.o.hash.abi +++ b/tests/data/test-read-ctf/test-enum-symbol.o.hash.abi @@ -3,13 +3,13 @@ - - + + diff --git a/tests/data/test-read-ctf/test-enum.o.abi b/tests/data/test-read-ctf/test-enum.o.abi index bd3a55be..e13ebdd0 100644 --- a/tests/data/test-read-ctf/test-enum.o.abi +++ b/tests/data/test-read-ctf/test-enum.o.abi @@ -4,19 +4,19 @@ - - - + + - + - + + diff --git a/tests/data/test-read-ctf/test0.abi b/tests/data/test-read-ctf/test0.abi index 05430067..60d3cf1e 100644 --- a/tests/data/test-read-ctf/test0.abi +++ b/tests/data/test-read-ctf/test0.abi @@ -20,47 +20,47 @@ - - - - - - + + + + + - - - + + + - + - + - + - + - - - - - + + + + + + - - + + - + - + - + - + diff --git a/tests/data/test-read-ctf/test0.hash.abi b/tests/data/test-read-ctf/test0.hash.abi index 4aa9a93c..76dd581e 100644 --- a/tests/data/test-read-ctf/test0.hash.abi +++ b/tests/data/test-read-ctf/test0.hash.abi @@ -20,7 +20,6 @@ - @@ -34,14 +33,15 @@ - + - + - + + @@ -49,7 +49,7 @@ - + diff --git a/tests/data/test-read-ctf/test1.so.abi b/tests/data/test-read-ctf/test1.so.abi index 822b57a5..2ecd5826 100644 --- a/tests/data/test-read-ctf/test1.so.abi +++ b/tests/data/test-read-ctf/test1.so.abi @@ -6,9 +6,8 @@ - - - + + @@ -17,8 +16,9 @@ - + + diff --git a/tests/data/test-read-ctf/test1.so.hash.abi b/tests/data/test-read-ctf/test1.so.hash.abi index b3ace158..4f8633dd 100644 --- a/tests/data/test-read-ctf/test1.so.hash.abi +++ b/tests/data/test-read-ctf/test1.so.hash.abi @@ -6,9 +6,8 @@ - - + @@ -19,6 +18,7 @@ + diff --git a/tests/data/test-read-ctf/test5.o.abi b/tests/data/test-read-ctf/test5.o.abi index 6d72d7ab..814aff7f 100644 --- a/tests/data/test-read-ctf/test5.o.abi +++ b/tests/data/test-read-ctf/test5.o.abi @@ -7,10 +7,9 @@ - - - - + + + @@ -18,7 +17,8 @@ - + + @@ -37,7 +37,7 @@ - + diff --git a/tests/test-read-ctf.cc b/tests/test-read-ctf.cc index 043032ff..a0b399fc 100644 --- a/tests/test-read-ctf.cc +++ b/tests/test-read-ctf.cc @@ -345,6 +345,24 @@ static InOutSpec in_out_specs[] = "output/test-read-ctf/test-fallback.abi", NULL, }, + { + "data/test-read-ctf/test-bitfield.o", + "", + "", + SEQUENCE_TYPE_ID_STYLE, + "data/test-read-ctf/test-bitfield.abi", + "output/test-read-ctf/test-bitfield.abi", + "--ctf", + }, + { + "data/test-read-ctf/test-bitfield-enum.o", + "", + "", + SEQUENCE_TYPE_ID_STYLE, + "data/test-read-ctf/test-bitfield-enum.abi", + "output/test-read-ctf/test-bitfield-enum.abi", + "--ctf", + }, // This should be the last entry. {NULL, NULL, NULL, SEQUENCE_TYPE_ID_STYLE, NULL, NULL, NULL} }; -- 2.35.1