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 88BC43858D35 for ; Mon, 11 Oct 2021 19:18:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 88BC43858D35 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19BIVgSF017601 for ; Mon, 11 Oct 2021 19:18:27 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3bmtmk09d0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 11 Oct 2021 19:18:27 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 19BJGLbg158156 for ; Mon, 11 Oct 2021 19:18:26 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam08lp2168.outbound.protection.outlook.com [104.47.73.168]) by aserp3030.oracle.com with ESMTP id 3bkyxqe1h6-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 11 Oct 2021 19:18:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UUOEKy3oLipw4+wTCS+4fLN+jc/3NwYSbB0lxRxysfN5rW/WVDZpefY4BDUfCxX/UOqgoycDzbKXLKCQL2hSqCTbQEggQvCmHPbFgyAqnPq6UA4yC9xuk+yf36oyuE50cWNWigrPcrkmAU/1XkqXPfeeeCkMoMmz4/nmnO8yyUH2oZIXa+mdDIgjgCqo7yQmfCXSO6GNPftvCgEh9pgpz7LEQzMqqmaDkzJYx7+hj1TXuG/U008YR3KiMUa7HeGAmv2QiTbCho+ToZ/2uc4fOoTE1dMSegVtQF4lwCOfHYMvIvcz3UFIke2qb8h9pZjvxs0bL+sQKAJaXT5At23HZg== 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=o0WDQMu1RbietWtQfNMqRGMlWaU/l1GczkFVRlCdHMM=; b=Pxy56EF0QQgFtJcI4Mb6znOx2v1JIK3ZZfrJEyHo8RmD/BauZtHtEY4KP8997PJDzxi8M+vqjRmpkRixVOVRXSwTgGweVHkjLD+xGTmylFTWUY28+iWx3NxQ8ySBldlHyAB5o5vyHG7A+0SLUkP9p4jIX3seWamyu/sW0wwAA7IKWuHx0HBwb9OhKh+EVsfZHoeXRbmlMkWlrJT4Fk8cf0gm9Eswfgy9f/MGA/BaCTRY76lb22au9gZct5wvsfxSDIeUO9KLVI3Fbn2d3joWjRZlKi+MZ7ULwJBAwtzzD49KhDZbj/A3lqKi//FsqU4yUo6xKqrRlx7+uNYm7IlgMw== 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 SA2PR10MB4715.namprd10.prod.outlook.com (2603:10b6:806:fb::10) by SN6PR10MB2926.namprd10.prod.outlook.com (2603:10b6:805:d3::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20; Mon, 11 Oct 2021 19:18:25 +0000 Received: from SA2PR10MB4715.namprd10.prod.outlook.com ([fe80::6030:34a7:cec0:a5ce]) by SA2PR10MB4715.namprd10.prod.outlook.com ([fe80::6030:34a7:cec0:a5ce%4]) with mapi id 15.20.4587.026; Mon, 11 Oct 2021 19:18:25 +0000 From: Nick Alcock To: binutils@sourceware.org Subject: [PATCH 3/4] libctf: dump: do not stop dumping types on error Date: Mon, 11 Oct 2021 20:18:09 +0100 Message-Id: <20211011191810.274535-3-nick.alcock@oracle.com> X-Mailer: git-send-email 2.33.0.256.gb827f06fa9 In-Reply-To: <20211011191810.274535-1-nick.alcock@oracle.com> References: <20211011191810.274535-1-nick.alcock@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: LO2P265CA0128.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::20) To SA2PR10MB4715.namprd10.prod.outlook.com (2603:10b6:806:fb::10) MIME-Version: 1.0 Received: from loom.srvr.nix (2001:8b0:1101:10::2) by LO2P265CA0128.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.25 via Frontend Transport; Mon, 11 Oct 2021 19:18:24 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f4001cc9-9a50-4bf3-7b1a-08d98cebe5ae X-MS-TrafficTypeDiagnostic: SN6PR10MB2926: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: l/sxMYyG3Xi77PF+f+jF7sqc6o4o+23tcJ/9MhNgRYLVNDo0D/oEMeckz+ESVRbWpV8oqOkv7u0n75I3dMhFeOdx+YRJnOnqRdRK2eji+URfKOzFydyCKl+RAPBb5VHYwRqCFmqKDPXasavosqm0o2vfuYPQ2lJfdtDKcs2Cb3/PIx8HH+kRBT8ySgoREd48CWVaGyo/Vkf0/SrN+TUUQnwpZ8gWP42ShElDS5NldelvUlQPGIj8Z+PfuMuoDH4IE0rn4c2ee65ym6FuFIM3z3e5KTX3Y+Nbfey1l6Zf5zDetUTKgXAUqSIILkr3qYi9KqihixUSsvIzWDAA6xCJna9t9QssqJoOgn4HQVDKb6792tJcuAt9tu90zTI2jHpByGTD4+VcTKnhWPQhQvwsglQ9o2/S2E0hgExbSMNNQ8AH/EZJElQa6uwYWlbyjkw+5m1GRmY6GGp31bdZN1L5hbLnUN6pL9yFy2HXwnaEOsn1BgQ3urFNG8MSHdWQ6EWhx/GkXvOSU3O4nAYMUlsOlB05JYSguZTkchxgBQ9YjNfdjY07dj+1Rsu1Ir6X42YlPHyjaUXlyspBPXZJJxCS03kADItqBxnY+OkDv9xd6hiCrjwBWII4eZFp6KwpQ9BSrsV9YTReEK9dRDTRiVgRwQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR10MB4715.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(86362001)(5660300002)(186003)(508600001)(52116002)(6916009)(44832011)(66946007)(6506007)(2906002)(66476007)(66556008)(8936002)(316002)(6486002)(1076003)(6512007)(36756003)(83380400001)(2616005)(38100700002)(6666004)(8676002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZvZ0S7zTBOqlIPbYQ1rGBldIZIC630tfjGJd/yxuLj/EuLZft7Hnl3ZyPWSH?= =?us-ascii?Q?ej7Xghjz/a/EVGLsTJHoS3c5adNjN4MoKRhOaefvR4+wx4h1CSeg+0rxZi3k?= =?us-ascii?Q?jrMmy0CwjkkEswhYwREn6CnYa4aKBux/j9jcTEugkBD4JmzxcNnJCdkEoJ9Y?= =?us-ascii?Q?f4R05Z8GIK+M00Y+2LLQtKHPrPjl4LvNsRqBF4Vvhzjmg8u6NFsO9XPUlbuH?= =?us-ascii?Q?HP6TjOoq7t57KrIlsrEm4DfMz0HnkbBkqMeNRk3OIwO3RDga7kbsX/pTe/cY?= =?us-ascii?Q?gMDbqnaRfXzftabsqBruxY9lCSx2+R0dKdFpn6hZeJk7mDM/Qkuk6yTARN6n?= =?us-ascii?Q?tdTPLV6IiK4WPwUzoNzJJ3h+HiyXBaJeeIjN+24i1LzIiMakTXmRhHfix3XM?= =?us-ascii?Q?UoM34/d7ktIUu7XyfSa//DF5tijxtre6YuyPLKi+dVQyCScQ5lh4VU19ai2G?= =?us-ascii?Q?i584np5PzdmeyLZ4ZtphYonz9GNPgFCJ8Zfqms0aqkS1Vw/i86E7MEDm6pTB?= =?us-ascii?Q?XiphrRvbWnn/uS549RbDabIj1Btn/+zelbzIwYv9bOKkjsV63X3WTMLjk9//?= =?us-ascii?Q?eXEGr1veKJnT/fwS/8W4HT/Be2Sw7q9UppmvV4rNDlkkTXIz3+U5LLQhi30P?= =?us-ascii?Q?uVBA5lRpIAQ91AqrDFcCPXOvW6SU3j8ClSIOEKf5ExaRErHykU7d/1hdxxfA?= =?us-ascii?Q?ErvIxuSmthAZrvn3mc2VOopht2J80QelOVlso2QRau7rRN0w9Caaed99ZcoY?= =?us-ascii?Q?v/V21/m3LWZ+2ZlTHShBsPQdX47HL5rJS6nVT+3YPoS34HuSTysKK4SJsDrj?= =?us-ascii?Q?wigzxpdb+zRQybxSeqbg3Gr1ZqOGQtSflXCoE86UXRU0TrLn/AWMoLfX11CA?= =?us-ascii?Q?yY2ylOMngIJ1BAWePSgn+/8bngVmDiC6DgDzlHlj2Nz4zYYHGSOKN5QUoY1Y?= =?us-ascii?Q?sSptMpj1Ex4sa4zGbK78MJBqpA0mwy9ypJ20N82Xj7ctVx1qB69alABRf3lP?= =?us-ascii?Q?R5mX3lx1BiwTlBP+0qzY2o/o2FmwNqsbvGv27lk83lQMI6alxivXK6R3HMTf?= =?us-ascii?Q?UWuXtr7YgoPzMo4ZVY146ONsl+WZdIaxBveC+bvXosCrG+9dMqcYge9NYyU4?= =?us-ascii?Q?YQgbyuDFV/+lqoaMcde7CV+b0zErKxkvCRQOAn/X9CFzHnTQfRogSug9tGyG?= =?us-ascii?Q?AKN6bbYfWoeampEMaJoH8KGL/6eb/VYL9PDWZu14/5jbZJpFBECgxtS0WuXG?= =?us-ascii?Q?/qbYVY982m5n94WxoDr5v4RNWH4MvoBBn8FeRzgoSBvWoQglhVRP3sWmEitN?= =?us-ascii?Q?DjjY9J2morO/TGnzvXfDLqGjeEw4SwwFeBsBUBTPAo/bpQ=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4001cc9-9a50-4bf3-7b1a-08d98cebe5ae X-MS-Exchange-CrossTenant-AuthSource: SA2PR10MB4715.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2021 19:18:24.9222 (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: +pW4hiZtrUHSu73eP9g719cEDZAEyFgM2ZDcvlL5d8uSNqUrM38MyVdNbhR9dho26bfKWhWEnz2mfgsR6JNjIw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR10MB2926 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10134 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 mlxlogscore=700 mlxscore=0 bulkscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2109230001 definitions=main-2110110111 X-Proofpoint-GUID: tAwFzxrRpzvcjImc-cQzmTZCF2Y_2EzM X-Proofpoint-ORIG-GUID: tAwFzxrRpzvcjImc-cQzmTZCF2Y_2EzM X-Spam-Status: No, score=-12.4 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_BL, RCVD_IN_MSPIKE_L3, 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: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Oct 2021 19:18:30 -0000 If dumping of a single type fails, we obviously can't dump it; but just as obviously this doesn't make the other types in the types section invalid or undumpable. So we should not propagate errors seen when type-dumping, but rather ignore them and carry on, so we dump as many types as we can (leaving out the ones we can't grok). libctf/ChangeLog 2021-10-08 Nick Alcock * ctf-dump.c (ctf_dump_type): Do not abort on error. --- libctf/ctf-dump.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/libctf/ctf-dump.c b/libctf/ctf-dump.c index bd9b50d9479..b6af0dfe419 100644 --- a/libctf/ctf-dump.c +++ b/libctf/ctf-dump.c @@ -564,7 +564,6 @@ ctf_dump_type (ctf_id_t id, int flag, void *arg) { char *str; char *indent; - int err = 0; ctf_dump_state_t *state = arg; ctf_dump_membstate_t membstate = { &str, state->cds_fp, NULL }; @@ -619,9 +618,8 @@ ctf_dump_type (ctf_id_t id, int flag, void *arg) if (asprintf (&bit, "%s: %i\n", enumerand, value) < 0) { - err = ENOMEM; ctf_next_destroy (it); - goto err; + goto oom; } str = str_append (str, bit); free (bit); @@ -648,7 +646,15 @@ ctf_dump_type (ctf_id_t id, int flag, void *arg) err: free (indent); free (str); - return ctf_set_errno (state->cds_fp, err); + + /* Swallow the error: don't cause an error in one type to abort all + type dumping. */ + return 0; + + oom: + free (indent); + free (str); + return ctf_set_errno (state->cds_fp, ENOMEM); } /* Dump the string table into the cds_items. */ -- 2.33.0.256.gb827f06fa9