From patchwork Tue Nov 14 17:58:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 165041 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6358:a59:b0:164:83eb:24d7 with SMTP id 25csp2098054rwb; Tue, 14 Nov 2023 09:58:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IHvVkHr1aI5I2iuJemkSDy9XrZuQP82txlok9n0B4JZ4T/snfS+8OiEvk540hW8dLEwBMI6 X-Received: by 2002:a05:622a:1b89:b0:41e:1ee3:a538 with SMTP id bp9-20020a05622a1b8900b0041e1ee3a538mr3022829qtb.15.1699984709646; Tue, 14 Nov 2023 09:58:29 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1699984709; cv=pass; d=google.com; s=arc-20160816; b=OUUmA5YGDbpY8oVGf8YaFLqxSJ/n4LVAJNV3CCqqY0Y99GOhvzA78jhqtLDlBaLVbZ PKidc0gjCCE/1ZDY6EF4u+EoMpPk3OXSi6HMQUP7VYXQiZxBUJO17+/eh6O4ZaqXcj28 RFC5FVO77A2irJ6ur7uAZj68EZfF2m9KKjscwo9vK+cfrxoBYoyA/5HHdHbHChLx8K9f zwjmYua3opU/cVLawgkl1kvvdm/uVj9K0GSN+cckVKka3CuiDN+MmZSNDGTjFzzx1jzX sLN3PJFjEalb4unMnLnm5ThR2MDBXZGrkHGS84H747Ib7yIvuLqNkLZ9x3l0O95mpnd1 v44Q== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-signature:arc-filter :dmarc-filter:delivered-to; bh=ieh2uup+znGsoxHpw6Yyno51eb2BQGGFA68XcdiPOAY=; fh=wSzP53OROu/pnOPlCkp3HnrTk8rxBK3kJn/ZCkUt/l8=; b=WhKKxev64sLz3HzJd/8XpvKHI8ZUGxIUweZ/MyEyHof6ayxP2m23UUWzoRAW1rU6o/ CHhSUe+9IIOwaLnquuqcopuOmqUaRGmPt3oLWjA/maBoLOikWeBC1lmlJ1I+F4ze5hxC 3ze153IKtdyZK9IFBxpoKuohKvSVeLvvFQ6UEU5w07WnwWT7N4nUFoa6G2iMnUkQA8Cq LuPiRZSBshYHFaS5QqwaBIoaHgrsl1TrLfc0QzQMEiXjc8EZUq1pHXq2/hTv52jCGmx+ NDWCzDn2Qzej3KmIKuvQprViW3YAOlSOrcQDxT29uU7ZDlux5MhnlbWBH7qZyuQU9evW Myrg== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=Il9ss5+j; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=V4wB2XNE; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id d9-20020a05622a100900b0041979c13981si7095390qte.298.2023.11.14.09.58.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 09:58:29 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=Il9ss5+j; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=V4wB2XNE; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 632A6385840A for ; Tue, 14 Nov 2023 17:58:29 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 761663858D37 for ; Tue, 14 Nov 2023 17:58:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 761663858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 761663858D37 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699984704; cv=pass; b=CRNGOhtGRjkWDKaO23wiy2f7uQOCH8EugczXvXur+Q0z+UNs7qLLDNoU+z5XON6XrhCoKPAuG+inkcBM3rjjhXJVaEH6g3p29ibdb95eF3xugEXOAsfjPwAQYVPcQOcaJnxuSr0yY5SnhwOpXvG0uGDjaEEazLj4E1gg0bQpUxE= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699984704; c=relaxed/simple; bh=IRrIEQoEDGshQoX3sZ63sy2lPRlng2s6Oz1lXmXfv1I=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=aufyfB47LGx9fJrmQZvhiGlkeLHKqCg7uVR8yZgPblb8xivO/xzAZ1mhgy7Sa8vOKaYbOdxpB20QxTqFyWRPQ7hfi7Ru4PcAAC9QasyWhh7gY3Uz57qqzsEf2dbB9+aCs7AP/MT6PpttGvglHuJ5LzcMuTfQqCzXgY+xWrKc9UU= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AEGhsXk024169 for ; Tue, 14 Nov 2023 17:58:23 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-2023-03-30; bh=ieh2uup+znGsoxHpw6Yyno51eb2BQGGFA68XcdiPOAY=; b=Il9ss5+jkfxGLz5taL513r34FT/WdqGtKa89GzXF3pYg7wK5V3BJDhjIEzSi778Ts9NQ d9OCBtPdzwv77W4Uic6iJIhdd+DCfU8YBx1bntQeMkAEhoPwvuyvlwiJUTNOlapFihgj nowZE7xXCj9i1WViwaLqlLdQwxlmyE3c+bC6sMafet9DETpwgFazx41FTuWIEYtsvAVM cgSbNIpOvhQjlkWn/v9rfKV7126K/40Uey0lcnmwDwNLew/Xp3MgfmT2PVyfvYJR3Emv by2dQmNdiGLw2jtkMQPk7fxjb8Tzk8WZy8TMPfaK28hMwPBhWkq9UAPIbn3Y0gCw2HDO hw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ua2qd68ea-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 14 Nov 2023 17:58:22 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3AEHCpeo008917 for ; Tue, 14 Nov 2023 17:58:21 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3uaxpwef9j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 14 Nov 2023 17:58:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wdp7armxwFOc2bobtpD/kEk+RBsEsJuJr5mjCDEOCozeecS2RrgiKJAGKSa8h4sJscIqHRXWcY5TqMGKYLw970VdaT3KrKZRDh31iKPnmNIXpDcfROikjHLka58FQSctN4g6+0PQ8Tc87QoY5u+7t+wHAEwYuOCQAOZUmDGqWSB1NYmjt32MMHLf5ZXGW33Ypk0zm+x9OCSMDpE0t+9vVWPIYw91fmC7bN+DajgI3ZMLaYA4SPfyGSSq/PNxhaOXMQNErDpGmC4UzWzk1/oQGxL+XFCjjH2yEja3Ls1Ksgcl2kqXFXrdqocVND4wbA9IXf7mvWpCKNS6vyyefefxFA== 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=ieh2uup+znGsoxHpw6Yyno51eb2BQGGFA68XcdiPOAY=; b=J7Amq80s91K6c26vmHal5LW4HPYTmVkBv1rUUiphiPIUic6y+PHKLZwAnSnJzobZvvLwJxs/tU6hPNlEeMbS1s91dmpi2yWVX4Lw4M1Ohiwdmpqvo+GvIZoYjRnvPWKKdlWQFx+jB4rPDRVrw/tZy+bn8Z7dBKlpGuAWjdgct/XprdfU/gBRPUMI6kLUiEWavBiTakIjZKMGRdEsjT84zNpv6HcGGoHDkMhv6FZBox9SfFTjYy71okikBib+RI/JpbffhJbjNZILpOXbuJzCGrmuRa8m5btiAfziMR2dRzcJXQg9jUZNxjQ1uN8A02WTTHu7c3W3Ms58zzDdJw3t3w== 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=ieh2uup+znGsoxHpw6Yyno51eb2BQGGFA68XcdiPOAY=; b=V4wB2XNEmke19A+25mL+Bwkm5th/Kdw6Jg8kBxBF8Ap6DVjPs3M+qd0EWfiB0XVkIIN70qVw+c/PfeW9J0EoP2bkGFAne10O8ENXgqkj12xH9KC92NoX1rx1vP2savB8U82FxGEcZGU6FsDxY0xFaV5KO35tDJZuqEdZjcCzXr8= Received: from MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) by SA1PR10MB7711.namprd10.prod.outlook.com (2603:10b6:806:3ac::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 14 Nov 2023 17:58:18 +0000 Received: from MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::d8:db85:8025:ed64]) by MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::d8:db85:8025:ed64%7]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023 17:58:18 +0000 From: David Faust To: binutils@sourceware.org Cc: jose.marchesi@oracle.com Subject: [PATCH 1/2] gas: add symbol_table_remove Date: Tue, 14 Nov 2023 09:58:04 -0800 Message-ID: <20231114175805.7783-2-david.faust@oracle.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231114175805.7783-1-david.faust@oracle.com> References: <20231114175805.7783-1-david.faust@oracle.com> X-ClientProxiedBy: DM5PR07CA0064.namprd07.prod.outlook.com (2603:10b6:4:ad::29) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB3213:EE_|SA1PR10MB7711:EE_ X-MS-Office365-Filtering-Correlation-Id: 91c29192-1ef9-47f7-e1f4-08dbe53b4861 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uMPJVhrzqW2DkjuKaEbFi1duJnLogK2rtZ7NSr0i1L5BjxQt2WNvFjO/npNB+jB0aL/ffoRtm9kNxol9hoJqMA21P9UjU6WgIaCuL8Z+2JrKeod1kvS3OauZYn7pAHeDDIn68jKeyJJ6fq+Cn/Qz2iZv8YpSM5bTiNAv+NG2EQf5KsfNaYgZ0k6+gOqkkD9fiyo7FMLXpzBZw8JwE2od46hqsC25Owoyj/HgD3mC1rXKcAcg+AYGsJoWdq2OTju1fOzA+7RuDi0aC5zfWfwKjIqx7bnrA8pAyVLczQqJiRqtKqyjHGkkB9futa1lnwWj7FHvvxgwEeCe54clDIyrbXl+/+YPPutxa9ZBc/38lRW5z1HigEqHVx2pU6gFGoaCvQhl8DMhTJxkBGaXxKzctPD3u0ymtHTEP7lvGlYKqbp5aOewXG2aEROvjMuBDu08P1Uj7QA70Z5iIbCNGdlZ3Svcm9o2wJz42Nw3uDTfi06HYS+fdlt26NLTPAXf825ZirOw6oJsSPr44D5ggi8Nl8HCyxBv0/D01Ete2D3my0FXp00dQF85WdCJ6pxTjgBQ X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB3213.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(26005)(1076003)(6666004)(6512007)(6506007)(478600001)(2616005)(38100700002)(36756003)(86362001)(5660300002)(41300700001)(4326008)(2906002)(6486002)(107886003)(66476007)(66556008)(66946007)(44832011)(316002)(8936002)(8676002)(6916009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SVNGbW3Xrwa8+rz5m4oFJAITM7DyiIcS6BLQrVj8iFZkQhbnzd6AOXyROpOt0ZbW+3Ty6U7YhYx+lz9OyCdfKyxJknxsBj6yuDCbNxG7ZP3I5BKjOqdamVoKcVDW0VSmYNQXg9rf2omlvRpthTotULW0RspLEWv0I3HWfFKQWRhg0MD1DANARTC3Ui5PVohRlwPu8XpXLtTpZ36IFoTzkIWH7aAIm/WUbXHCrFNhDLDd+nbWXpM0EmmbZJspyqLk6RUg7wNQcwCV0U1kHIc7gWSCZB9ixbSvoMU/kwW+FoBS5xnEG0QKyMkEz/sbTEOmvDeYpPnEzL4PUlJ05ISWKS7qvRwhvpK/PzOCBBDnWn1LgaHHrdEfM/XGFRxLI6X/aeuLnzDQjHtTanmZ5hnT9pHr8DxLx1hFrZeRP6PxRY7o9E9J88DnveLzt5xeqrYRLonlTqb6YTO6dpgXiAibwF3wYKmCYHe0cTg5cn8eci2tQDcWTgpSdrNuguON3vT8UAq3TQK7SYsJTfkMrIWk1fTDXvqc++RPSVooc7OGjDfmgEDUqSkSDTsMooaCB+fR54n3O6uwIbj31VKupD+hLJGLwsg8sAM4Zecb4pYAQF7d6BHVjpLz8PYfOnKaE4jtZ272oFhveBjQRdLYPb2yWVwG+wEk0QF0cfRfdkS8/6k0r8pWjiiaVOaxf4uBWrAy2VcfMSVmDQlEXUtNMBjzOSW30X4QS5Zx4u1YI3lNl/NdtmXSyJnR7ouMGqiSrT+4ii8l3rC9g6a6rSzgpAanZVdvLJai1mGxJzQnQ8+d/asHR8kBAE5e+WcoDIVpz6JWPY5LBY/xo21t2fGXA1qtX0l9UXP5r15zWEQhIUMG3Jp3Gk4hQnEog6XDIYO5vXuWUyt4sKKItTl1K1X9cLkNocKKTuCrd3Icfz/jSCaRiwW4UnROpbinZvUveKB93Xrw/68O0VvoPCEkOgDRaENwuisCMY+VoiUL2cplxZbdez+0IbmK9ckWHw6iub5LA6u+Cf0JgCGlmWShR+bojy4XWaLp1iYDiscgjuMOmm1jdkHRxTROIz89eGwsiAoQQbY7Nu/zGaPp+mNbc/mOcg67pzPI0B8uUg1JXc34NGQQ0W4H5zg2Pf5sx88FtZZ6sIAFxfPWTR7rxYFywA2MAZ1AuBhQpy+iamc/uUZJdngN6U9q51ScQHW7HrOSqgMuLcsV1cnTLXfVL2YiIpWLPDzz8gQAX1OThReJGL5TgtmLdQZQuokTsSwd1+HnJfS0osErLSw1A9krhhbcrUxPz0rGKQzsVdr35ReGJQwXhAftWgggtTU9FgjJYSxMNl6jhxrY3ruw2jMeM0Ws4gBqk+kLxd3iOPi/I3kKc2D3UeS7UOtQXzKomh1VPp4AFxhsbZF7BXeg6McAyz+t4GdkQq8aRuZS4tfmWuSWcAQ897pAijfovjsw94JaY+kb3zPY/mqMqOd/cqvaPigH32XqWdy4tcd7UxOhPkeEYYna2Osbtj7ZWglLH4tajIbvHNFuN1U4nTvt9ipNGdQFX4L6oefDxfbB+cVRVCrQMjVhD23eENQKJEaRC+KjCVWjHSGAzMRfQt4WPdcQPRAzprCf7H1QeA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: RkQma0YjtnlgXNbAMZ3TRO/5eKhjKaWxrlD0gZ/8LGDtvX0Wo1wa5t/xct7VK+zdBhIV0boMfwHq/EChW9TTj9kJJfPKPSc8Dqwn7x1Er9qaQn+1hC59vSNK3VzGkTYeYuyOW/qxl1d/xKeCasGiOWGsQvIuApuSN46dRmbRUAWDl1Gx8WuGijhEnuZfXJpZj0nxO9L8Gah1OfFsnwWbGgdJ2mJOGPtKTuDuO8G7MHeriVro/W8qgo0ky1d4IJsmg9lQnzPmsvzR2xdh+rzZEvj5UQu9I6OawpJkUB7JeyOIDgLSYjhRBEgAySwCLZMYZNFj6G2Fd0ptlLPvgU5a/heVlKv96Od+lfdW3K4OPaBHRb7MTdbJiXWZssd3YG2bHrGA3oQsCJZ8EAzUh4NTQcLGFSUuTHbgjdttKcV7xMNpduZ37aAJMlkS2GCGDdQzW+iS+xlN9GbpEDArXJ3Ok8to+5/2M60RrUVy1YrHFxGN7rCShgsYaM9aoLrfp4vIqH/l5JJjKl1aBNhG5/eDD/i9I9EQ3C5Vi54qQSyph73oniGEQUdHLVOa+ZQsBaFn2fRKk5nH3OSnoG81L8Kdf/ebhGdofy14RKe/emfakTvnzvf2NpsranofH6NxD0sXJuyTe8xcDTZRiMu51issPWl2rTJJlNYh2Rf0OvjSuyx9bsn3vmhux/oBYfaaidKumdJwc756C4T8PFUtnBceEIcFSOkDqN7dxdz7SP60oTm1HmFoCfi4pgnHKxHrolCgPn58bsfPx3aoyBLYaQ/NSg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91c29192-1ef9-47f7-e1f4-08dbe53b4861 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 17:58:18.4307 (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: HO+H5izXROW8X20w9bFkhGkZ55IxFx70h4T0kFYiOLQk/ZRLHsprZJ18p41qHtWRd4eYff1mKAjBHhjIYMKmdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7711 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-14_18,2023-11-14_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 suspectscore=0 mlxlogscore=987 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311140136 X-Proofpoint-ORIG-GUID: Kv2v7fSXX57jw_U7CMptCTMlZz6ps76Z X-Proofpoint-GUID: Kv2v7fSXX57jw_U7CMptCTMlZz6ps76Z X-Spam-Status: No, score=-13.3 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_H5, RCVD_IN_MSPIKE_WL, 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: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782563166834625434 X-GMAIL-MSGID: 1782563166834625434 This patch adds a symbol_table_remove () function to symbols.c which mirorrs symbol_table_add (), and exposes it in the header. gas/ * symbols.c (symbol_table_remove): New function. * symbols.h (symbol_table_remove): Prototype. --- gas/symbols.c | 10 ++++++++++ gas/symbols.h | 1 + 2 files changed, 11 insertions(+) diff --git a/gas/symbols.c b/gas/symbols.c index 45e46ed39b7..e94fa61b56e 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -722,6 +722,16 @@ symbol_table_insert (symbolS *symbolP) htab_insert (sy_hash, symbolP, 1); } + +/* Remove a symbol from the symbol table. */ + +void +symbol_table_remove (symbolS *symbolP) +{ + know (symbolP); + + htab_remove_elt (sy_hash, symbolP); +} /* If a symbol name does not exist, create it as undefined, and insert it into the symbol table. Return a pointer to it. */ diff --git a/gas/symbols.h b/gas/symbols.h index 46425c97d79..90cefaa0402 100644 --- a/gas/symbols.h +++ b/gas/symbols.h @@ -71,6 +71,7 @@ void symbol_end (void); void dot_symbol_init (void); void symbol_print_statistics (FILE *); void symbol_table_insert (symbolS * symbolP); +void symbol_table_remove (symbolS * symbolP); valueT resolve_symbol_value (symbolS *); void resolve_local_symbol_values (void); int snapshot_symbol (symbolS **, valueT *, segT *, fragS **); From patchwork Tue Nov 14 17:58:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 165042 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6358:a59:b0:164:83eb:24d7 with SMTP id 25csp2098119rwb; Tue, 14 Nov 2023 09:58:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IHwKN4DXTSuHZBExp+uuEQJE98IEl88BC1l/QgTdjz/GD9/uP3KZddiGOB3+o/AJCxkrE4N X-Received: by 2002:a05:6214:3201:b0:677:a05c:b82a with SMTP id qj1-20020a056214320100b00677a05cb82amr4188468qvb.22.1699984716682; Tue, 14 Nov 2023 09:58:36 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1699984716; cv=pass; d=google.com; s=arc-20160816; b=qaZGvwvXdevWPIYO3NMAsrdSTvE7P7+lZ79tIw8IocMZwgwY+3S5Vgmbnu8gu6oJhW P0aw+dRiXzKvkemfc8p16oma9icE1kaFOuLHK3MPNajpLborhqF82dBLRal/VisR8cgV YvGXYkg2iLpyUqBKoDBh6rM3Pe89tO4Tu1EfaXJ5smAoueRrdxfG/7c/J77wxuTpPOzT xEYdqt7rTnwY1qRIO9St12UNBUh3HBa9CTnS5LWx9xi7NQ8BJIeGUexo5sw9o50F75Z7 feVuoQ+waIKlGmCUwRo92xjA97VjFsjX9Zc5zxjOZ5GFWhbcPClCO+lf+rbEfaNgqpUS Z4Xw== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-signature:arc-filter :dmarc-filter:delivered-to; bh=fg6CvKlPMbdY3OC9ETt1aTHqoA8RU3mzUw2p+o/1pts=; fh=wSzP53OROu/pnOPlCkp3HnrTk8rxBK3kJn/ZCkUt/l8=; b=gz1dGEGx8Qek1G4dIO3WPh8ysqEioqzIp43Kw3L6cPJuSQiED+KAwepmaZoo40ujCF ay42qo+HePr9oVH2PjgHjEQdSSK3wpfWL+tRSNsV7ah3gyybq8N3pTSdBzYnnKZiS81J SEjbGfIrp2K0edBhNCax5/dMt8Hik/N4jWSevhzK+s7hY+0+4eNmklAMzCAgOeUVJdf3 sCOIZ3JuDhtmTti5BWPal/+gHTnHNsvSOKCh0whjmc6iLMLEYjISmReXJP34JgqHOuGB qE0efd4kVVy7pakP8AJxNYDxHDkhoigHkdA9JSHefMwQHA8/TuL1bqPbTA5KrnaY4xV4 qijg== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ZVPpWpFB; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=tArXkmcI; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id k4-20020a0cd684000000b0065805745b80si7184318qvi.384.2023.11.14.09.58.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 09:58:36 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ZVPpWpFB; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=tArXkmcI; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C9A49385828E for ; Tue, 14 Nov 2023 17:58:34 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id D66D73858C50 for ; Tue, 14 Nov 2023 17:58:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D66D73858C50 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D66D73858C50 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699984706; cv=pass; b=A9xqmcqmc9z5CuD1Qc0rxeBGi0+13I6wlREUpUtxIh1piYo2pyXjVd/timnipnPdOszWc5o799011kfsjCMNxA6SiCHRHwRZIiFnw8pliHStgo7P9skM9/VgwX6AVhTPIAcUDY9B8PZg/J1qMYy5sGQyWGpZ6XEuDL4wAUS+dyQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699984706; c=relaxed/simple; bh=2p9zHSPnnEyfVxPB7jIwqnIiaoAAngATKV4vlSDyaH4=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=pXDtQJv/ROrNPl8sqekWSFq03YgU4N+8AJWWx3DF44mwDl3BdzAsUSr5subPKHrnoV0SkfUxWHTAIuhs/EQzgg6wjsmsZVBViWlSHS1WJxMjZrfNAJMDGQ0wzbc6U6M1Q0wMWsQANC0K+uabd8KxUs0TuKD3B/VcfTyVpJQfI6E= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AEGhqPk004673 for ; Tue, 14 Nov 2023 17:58:24 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-2023-03-30; bh=fg6CvKlPMbdY3OC9ETt1aTHqoA8RU3mzUw2p+o/1pts=; b=ZVPpWpFBbjpz5C2r6eXYctagjDvQrJjn/CbAuRbkTjIgRjgJ4VtnMFgI2+IiBat/wkxO D+R3KIXODRcEAN23yBqgWCHaAhhXXQMm2x6njb/vUFJkChGO4CfGA+1dwlvaEEqjoWe5 HvDh3x0NOW7kgz2MzbkVTERpkqg54Z8r8k5q0BSfBVWt7QC/MxynkHyU/9bjmuMfupgQ z6EZGbXaQVyzmbj7YSYBcfD0hTi+zh1a10Y4luomC4BEwSIdGXKeC7Uo5uzbgY2N9wGn /KszqFW9iO9nEw4wyEiQLzY9JJbT6UYHzevWZ1hbLX2A9S5Zfh/0cFDBJzn9Ow/y805E aA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ua2qjp9vj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 14 Nov 2023 17:58:24 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3AEHFdkd006837 for ; Tue, 14 Nov 2023 17:58:23 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3uaxh1pkqw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 14 Nov 2023 17:58:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MK85ZECbvFXaNProm0cgDakWiDxbDkzRSan8ToW40baIxA46OvdkkIQzH8hJ+XyiSe4MWZPtWYjBr6mXsrdE6W91BnFG0ai7qOlxiMLB29HkLFWXBIYUpC4JMnXJ6r/YG1tL2fwUvSWhV8PntN0RUR4E7Ow3zFdm9+UY4q1ugPQwY4EGSaIVQjUjtpQkfnA25zGKIMo6nqspO4oZ2xd/alZApKYmr0NslZ0sZTYFj+kdTaSafon2WWePVyV+YqanVG8/mw31J6KTMsZl2D244Kb59EsUgxVQMPKK3dNsa8qK4zTtuCzAMmB01eqDthe8HkgX0jGfKkt+unGUVKDmWQ== 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=fg6CvKlPMbdY3OC9ETt1aTHqoA8RU3mzUw2p+o/1pts=; b=dAbf+2bEFtB8UDGOBi/INtl6sIkP3ssHt2LwzbKPcsNava6ksTN5Zct6N0pn8jbX+rVAula5Re2ht9EcZF31OYvWGQlaga/7lJ18XErKblcKmkUWWEOYiRhE4aZDe0vgibkABPjuKjikYguDyd2Az9NQoyMx0a2DmCXNPKsh3fhy2XqNTse66OnPgeNsCmeeUZQxeXCFkMo/S2BCxMEs9j/7LeSefXLLxJVA6BuNQRleTLK/FUtKDqb8yrrVNH4Vo6528mBsL/ZRbwUO5NQ65cD0pGxSZsX9tLShxCE6i+9Kp0Gtc64ePBoRwgebSi+EnccnDSfrVfGKQy/W8Zhw6w== 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=fg6CvKlPMbdY3OC9ETt1aTHqoA8RU3mzUw2p+o/1pts=; b=tArXkmcING5dVfANWBZBEhbUkIWbbk4UV059xx8cT1Mf+2c3KRFBer0B5WxJP8u58iceEkoDY8WnV2Jr9k8Z+EUVptaaJaI7WxR89p6QzvSiraYy4zXXyhL4CQ5AlM3f+UgFw9zl8D/Y9U1NZ5JzJb2/LyzVqnrnhb9Gybw/ySo= Received: from MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) by SA1PR10MB7711.namprd10.prod.outlook.com (2603:10b6:806:3ac::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 14 Nov 2023 17:58:21 +0000 Received: from MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::d8:db85:8025:ed64]) by MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::d8:db85:8025:ed64%7]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023 17:58:21 +0000 From: David Faust To: binutils@sourceware.org Cc: jose.marchesi@oracle.com Subject: [PATCH 2/2] bpf: remove symbols created during failed parse Date: Tue, 14 Nov 2023 09:58:05 -0800 Message-ID: <20231114175805.7783-3-david.faust@oracle.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231114175805.7783-1-david.faust@oracle.com> References: <20231114175805.7783-1-david.faust@oracle.com> X-ClientProxiedBy: DM5PR07CA0058.namprd07.prod.outlook.com (2603:10b6:4:ad::23) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB3213:EE_|SA1PR10MB7711:EE_ X-MS-Office365-Filtering-Correlation-Id: 1281013c-e145-4523-cd1f-08dbe53b4a13 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2sQnkEe3WTRUEV7ps+itHNAhHw4fCKzFzjxPp4R4sLh6577UwCbUjlbbV/EowN1CG6Hbm8t6JkE5eUK2y6/BS11990ihjsBuSGNKXA+OeLk309ubmJ3bl6Uy8omWCsVuV5/BKCq+PwEOwsBQC+sRyGE1WpzllSeD5qFmJjKXz2rkMHQcIb630vvzIqRo10Gvqg4YW4LC4eaak0AktsXXSS/atR1ci3uamPG73kUegqO3+lO1rHY9UXcuh67v6WyD1F/3aUpS3mUo8pEGovi0vBZPznj0CjN56CfylQ95nc65pQFbD2L1eM7mFxTrAjNcwOYkMRNM2tyV1NGdXiDAN9QXeYcvbOnm0K45wT8XPJ05vwzDW0vdL2Znjjw0OWVgnfJQELJNjgddEJ+nZdHKXp5pSmvxFNGvXnZy6RaIoiwX60okax//6sPzg4aJp/yB9xniIa4G8Y5zN3mclCOxs/7C56I75xq63PRzfnKw6U6vp1KF3cyXLKwM4MPRwSxUg3boqMPJ6boCjfiaplD1wA3urjuWxe8Cd6RgNueCgcAbCrzLfQ30m6+SQ31Itz1O X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB3213.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(26005)(1076003)(6666004)(6512007)(6506007)(478600001)(2616005)(38100700002)(36756003)(86362001)(5660300002)(41300700001)(4326008)(2906002)(6486002)(107886003)(66476007)(66556008)(66946007)(44832011)(316002)(8936002)(8676002)(6916009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7XSk1e8ftmURdQRDiFH52oGCtbYGXKq4iw0hZFky20ktYU0Fb321+WN272soN47yn1Bj8yQPEFk9m9+biS8aWTMPT3Khk50IswirERTTRMLqEzTu63wKqrIwbPv1joCEnxwrBPLqRzlhShF8GfdCE/Jn+JB5y5m1cCI+/2RkHUNZPr6UE4D/F4Bn3HTUrxFGqwEa5h7D/F0RnPgPD/vnS+4+3x6oQKZQ6RbAUATTj1uDxJsrtKAghaWV3+llthPSRi7m9AWm03aVNsIfnJJcn3q/is+eKbZX5jysVjBl/lHToaOGIFgzpmgqrODN3hpJOuKDlvQ+NCRiUlf901MkIl0hNZfaA1KA+j+66d+obsH8n/l60kHZ0K/AcaGi1+i6jRnVxhcQcmzQ1aH+Z/3k2uNRgu1uRhX/yZxaMpZUZMmdPeQDNBoIK1c15LGcnfTYcbS2Q1gUM8kDLPTIv9gWPyws7nqUFdD7vBJMyRkFFNoImF2N3PCzRSE9leFJM/xv3xkN4kLFXR7aHStlF+ubGGsQQ9ln/aoncfEoks98h17cy9y2a+QGF6KtfhUYXdjfHfXYzdNvPH5/pzXfmOxGaTs1jskEK+/2hGAydhmpZEGE8lDx/bCmzNUXkAeuu8NK4jIlUbITbezLzyar+Qx+9mzPmkXoTpuS+CVq2yIPvJfganknYlMQoriW1PMqgiOAheG2FVRUCzpz6bZyNY9fNbvg/7Ki/ScJLDZ7z7Z9g8lmsviStUDYw5wSUJmycotR6RqG9aeUdc3DpaUdLgHKTPilOnv40eCZbR4QM5C5Q9dPFszW8nDXf2npzWqQmg0Xm6519WxNt3tE7YGaKmM3dAX2urDA4UNCI69yIZB3qYRvnkx618VfLmeYoJmCk0lpqDi5obtHr5wIQg949F1VXzhW58cgJYjlUH6xoZXUW0hmzj/DGYQhZ6vCfRhg5BDxxwbPzsrupfquzuaAhauHWm2/tZy+T7d/Ij25bPvXYVvJ/A4Gb256+ZGePCDWiVU1tgQwAsWmZFRz+J1Y0wSPPnw9wZSj6VxktLH8kpPjCziNRt205u6HKMBznkqsikUhVi8lcQBXH8ulGspaypbzi1v6SNkCiRiAbX6YNlBhj1QW+KHheh09T3Q/VFazEIxu3ApmVMA9OOs2SbbTE0LSKgTDqFr76Dqx2CJQFCKCn2/Ty94ejfqBV59hJb40TfwKHDAWbge31V8R9HTwstQ+T3scO4PnzX8sL/Nl+AuYI1cYobbBcLh1op8FEw75YU6u/w92fCmOiBCww9w0z3cW5PGbDpNbb2ZGuL9xPw1y72H7IN/rKnIu8gGm9O8ORSJM+YhKkNzm6IBo2abZG4h344bTpC198PTXukct5cF1GL4LKtlOU4GKsMA57l3xKz9mynNK0t9NwfZp+xQVz7Rt3Bz0PVQQ+GZUXyIQfmLUOnmmXHWhAUtV2vqP1QlbPP14KnBE3gCVIZZ+Krrk0bCDFSoJut/TpHoB1O2u3fiaR3xwb3wjduHVWtd2sDea0SJSXlPSflWZQc0Eva71xnlVCN0gGfQJj5VtswXMAQC9ERrnvWgQuoem82ZVKMfiFLMWPzyNSUGmlIV+ro/kYBlABQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: KTBHwXfbESFrsNvv+szlrSfwMUplzBQFUSrA+XSTbVAvxQ5oIx0XpjlnqfiM5InYgy+NPSyPf2i9hn4ePQHWre3WaeU3eb/agZ3JAuC8f6PFpH7nnh1hUQVQXdM/9yrR8YOGig22iMDAEN9RCROw+vuv7JBe76iZezG+2NrQ4A4UW0D7P1uWJekRNn32JBwsnYhki3iwIxGQABiTaG3PXos6wGpKOPHe9go6+IN+UdjId0Hhol1Ef/AYN5PdLGerVgLTlAFdQrleMXmNBpsmU34kHsfjwvp9XO1UZ++uYxHx2qdUQiep6VsW+YiCgJSbZMt4JsXdgGHj1Icui8A84sCg2kN73p2xZg8onsEUwZ24nL+tGySjtrUqxGceIYXFH2k2npYmutZbQaGp4tSelPtFhsxLr/dUoeGGowUQsAGu6/FBEl7WtXb/7N4yiGm2nXeqr8nDHi84v2BdRLiSMRBMKqMWXEki19kSC43gzD/JP6CL1HTMNL2ySClZQFBBdiNawbhEs8mD7sJBMyDedPSAFitRb66OXtFczRoq62Pl0piDy0AIWtQ1BTpVnaOAE+tT8KQHQEu8c/n5T6s+857nVLDybHMf7+9P8b/T8hC8/cgsNbf/B1HQWSN7ssr8CU73b7X1MBk2Hem1K7h7lAH4zBtzss8Ca8I5NzMbUOhEujgEiBsgGySQwFDqsOgL8cvETIYkkC01l2xy07M9vQwl7iGdS3bDvg4NCsWDAtMKd+t+WbTiR7bR0oJXETttSiJa/bCENKHbFKoxtTWjLA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1281013c-e145-4523-cd1f-08dbe53b4a13 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 17:58:21.2961 (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: 3vZNy0xmdYOaj0ioQKS3m5QkmFLa0c8Ox9Z8QyWajnGCkP9HA3XEABbWPT+oaEGp9ulQdobywgykfAwmrZTifQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7711 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-14_18,2023-11-14_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 bulkscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 adultscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311140136 X-Proofpoint-GUID: K7KZoo_tKNdgtb8WIg4sbzhBoFuClImk X-Proofpoint-ORIG-GUID: K7KZoo_tKNdgtb8WIg4sbzhBoFuClImk X-Spam-Status: No, score=-13.3 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_H5, RCVD_IN_MSPIKE_WL, 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: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782563174236747953 X-GMAIL-MSGID: 1782563174236747953 Parsing the BPF pseudo-c asm syntax requires attempting to parse an instruction using a template that may later be determined to not match. During this parsing, a call to expression () may end up creating one or more symbols. If the parsed instruction is later determined to not match the template, then any symbols created during this process should be discarded. If such unused symbols are not discarded, they impede the loading of the resulting BPF object by the Linux kernel. gas/ * config/tc-bpf.c (last_parsed_expr, old_symbol_lastP): New. (parse_expression): Track last_parsed_expr and old_symbol_lastP. (parse_error): Cleanup symbols created during a failed parse. * testsuite/gas/bpf/asm-extra-sym-1.d: New. * testsuite/gas/bpf/asm-extra-sym-1.s: New. * testsuite/gas/bpf/asm-extra-sym-2.d: New. * testsuite/gas/bpf/asm-extra-sym-2.s: New. * testsuite/gas/bpf/bpf.exp: Run new tests. --- gas/config/tc-bpf.c | 30 +++++++++++++++++++++++++ gas/testsuite/gas/bpf/asm-extra-sym-1.d | 7 ++++++ gas/testsuite/gas/bpf/asm-extra-sym-1.s | 1 + gas/testsuite/gas/bpf/asm-extra-sym-2.d | 7 ++++++ gas/testsuite/gas/bpf/asm-extra-sym-2.s | 8 +++++++ gas/testsuite/gas/bpf/bpf.exp | 4 ++++ 6 files changed, 57 insertions(+) create mode 100644 gas/testsuite/gas/bpf/asm-extra-sym-1.d create mode 100644 gas/testsuite/gas/bpf/asm-extra-sym-1.s create mode 100644 gas/testsuite/gas/bpf/asm-extra-sym-2.d create mode 100644 gas/testsuite/gas/bpf/asm-extra-sym-2.s diff --git a/gas/config/tc-bpf.c b/gas/config/tc-bpf.c index fd4144a354b..d64576415e1 100644 --- a/gas/config/tc-bpf.c +++ b/gas/config/tc-bpf.c @@ -1223,6 +1223,8 @@ add_relaxed_insn (struct bpf_insn *insn, expressionS *exp) See md_operand below to see how exp_parse_failed is used. */ static int exp_parse_failed = 0; +static expressionS *last_parsed_expr = NULL; +static symbolS *old_symbol_lastP = NULL; static char * parse_expression (char *s, expressionS *exp) @@ -1232,10 +1234,13 @@ parse_expression (char *s, expressionS *exp) exp_parse_failed = 0; input_line_pointer = s; + old_symbol_lastP = symbol_lastP; expression (exp); s = input_line_pointer; input_line_pointer = saved_input_line_pointer; + last_parsed_expr = exp; + switch (exp->X_op == O_absent || exp_parse_failed) return NULL; @@ -1317,6 +1322,25 @@ parse_error (int length, const char *fmt, ...) va_end (args); partial_match_length = length; } + + /* Cleanup any symbols created during the failed parsing. */ + if (last_parsed_expr + && (last_parsed_expr->X_add_symbol || last_parsed_expr->X_op_symbol)) + { + /* NOTE: this logic exploits the implementation detail that a symbol + created by expression () during parsing is appended to the list + rather than potentially being inserted somewhere in the middle. */ + symbolS *sym = symbol_lastP; + while (sym != old_symbol_lastP) + { + /* Must have created at least one symbol. */ + symbol_remove (sym, &symbol_rootP, &symbol_lastP); + symbol_table_remove (sym); + sym = symbol_lastP; + } + + old_symbol_lastP = symbol_lastP; + } } /* Assemble a machine instruction in STR and emit the frags/bytes it @@ -1368,6 +1392,12 @@ md_assemble (char *str ATTRIBUTE_UNUSED) if (opcode->version > isa_spec) continue; + /* Track expression parsed while trying this opcode. If this turns + out to be the wrong opcode, we need to undo side effects of the + expression parsing, such as creating a new undefined symbol. + Set by parse_expression () and used by parse_error (). */ + last_parsed_expr = NULL; + memset (&insn, 0, sizeof (struct bpf_insn)); insn.size = 8; for (s = str, p = template; *p != '\0';) diff --git a/gas/testsuite/gas/bpf/asm-extra-sym-1.d b/gas/testsuite/gas/bpf/asm-extra-sym-1.d new file mode 100644 index 00000000000..56bdb7082f5 --- /dev/null +++ b/gas/testsuite/gas/bpf/asm-extra-sym-1.d @@ -0,0 +1,7 @@ +#as: -EL -mdialect=pseudoc +#nm: --numeric-sort +#source: asm-extra-sym-1.s +#name: BPF pseudoc no extra symbols 1 + +# Note: there should be no output from nm. +# Previously a bug created an UND '*' symbol. diff --git a/gas/testsuite/gas/bpf/asm-extra-sym-1.s b/gas/testsuite/gas/bpf/asm-extra-sym-1.s new file mode 100644 index 00000000000..2cfa605a259 --- /dev/null +++ b/gas/testsuite/gas/bpf/asm-extra-sym-1.s @@ -0,0 +1 @@ + r2 = *(u32*)(r1 + 8) diff --git a/gas/testsuite/gas/bpf/asm-extra-sym-2.d b/gas/testsuite/gas/bpf/asm-extra-sym-2.d new file mode 100644 index 00000000000..e17ae0f2422 --- /dev/null +++ b/gas/testsuite/gas/bpf/asm-extra-sym-2.d @@ -0,0 +1,7 @@ +#as: -EL -mdialect=pseudoc +#nm: --numeric-sort +#source: asm-extra-sym-2.s +#name: BPF pseudoc no extra symbols 2 + +[0-9a-f]+ t main +[0-9a-f]+ t foo diff --git a/gas/testsuite/gas/bpf/asm-extra-sym-2.s b/gas/testsuite/gas/bpf/asm-extra-sym-2.s new file mode 100644 index 00000000000..ccbf43065d9 --- /dev/null +++ b/gas/testsuite/gas/bpf/asm-extra-sym-2.s @@ -0,0 +1,8 @@ + + .text +main: + call foo + call foo +foo: + r1 = 1 + exit diff --git a/gas/testsuite/gas/bpf/bpf.exp b/gas/testsuite/gas/bpf/bpf.exp index 80f5a1dbc2d..680b8dbdb10 100644 --- a/gas/testsuite/gas/bpf/bpf.exp +++ b/gas/testsuite/gas/bpf/bpf.exp @@ -72,4 +72,8 @@ if {[istarget bpf*-*-*]} { run_dump_test disp16-overflow-relax run_dump_test disp32-overflow run_dump_test imm32-overflow + + # Test that parser does not create undefined symbols + run_dump_test asm-extra-sym-1 + run_dump_test asm-extra-sym-2 }