From patchwork Sat Nov 18 17:21:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jose E. Marchesi" X-Patchwork-Id: 166587 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp1286396vqn; Sat, 18 Nov 2023 09:22:03 -0800 (PST) X-Google-Smtp-Source: AGHT+IHXmVhPZe6EVydtlg0dCZtBCo+sVtRNG1Z53mJzNWAwRWTLiD2wIriG+LJCMvsuHVDmB5eN X-Received: by 2002:a05:620a:d52:b0:779:d406:c0e3 with SMTP id o18-20020a05620a0d5200b00779d406c0e3mr3015612qkl.62.1700328123031; Sat, 18 Nov 2023 09:22:03 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1700328123; cv=pass; d=google.com; s=arc-20160816; b=xp8jlVTtSi6+7dYIPEsOiPpBTnomrH1uUA/VmPMf3dFpfHdPchDQu0q0f2q4gRW3ch lpqN/Rv7UsNoVpyUIoNvfw1U9lRC+wx4ERguWViDjcXvPs7j2XPTdwWLJTT6gYxeByH2 dS/4x8t7zjSbyWCU6uOQlgFEE7Y+mOdhbWdlS67jRFUGwLilo0W6cal+HFPZBzvj1zYd OLwgu+rlU5efHjiToHLhxvzEMlfaWzI4H0DXi2hX++TKTnekpwxEE6cevC9fdZDLEH/x CmY2T/gImEi6SIF/gffzbErADfRa8UPzxXYca9DVEygvesqna8i5W0HVyNptq05bmH4K N90Q== 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:message-id:date:subject:to:from :dkim-signature:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=jJlIeZUNmADYWK2A3BvnJ3C5d+6IxXGSgvJmI+oqPSc=; fh=NLxAvL/bDfPg4AGOtxqvQlND8vazkZrNzKLY8+LAbBY=; b=hWVF7KxcpSx4rF3tnuNVsvJ5QiDIY0UT9jxiFe3rzYdasc5mrW5M4TUfivbnBp27HQ YV7YlTs2ubbMYmeqmX8iiHtl3T14Vdj5+70AtgIwZYstymhGjlf+jjudpuEiq/WoMc5u KEnYvYOAr0XqWDNILMnG1wLLm8tnw5TMcEIjT8MQkWpro+vzUNogo5Pwh3Po0k5BF34C j7uHjHQPZWeJHAjDh8KbZSgkp2xT3HGEme2ZAgDJJTMIdrLUR6fxfdNTzplMfNcKQ71y eIe2yHMvqkd+WBONm2kkdPmlh5lHilHBFWBEr58CMjXlKvCvck4gDS3+kLb17sXopzkG JCSA== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=FBElvMWA; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=OuenvTZv; 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 w21-20020a05620a095500b0076cb218e5f8si3865980qkw.581.2023.11.18.09.22.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Nov 2023 09:22:03 -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=FBElvMWA; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=OuenvTZv; 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 C5A433858C78 for ; Sat, 18 Nov 2023 17:22:02 +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 6BE2C3858D20 for ; Sat, 18 Nov 2023 17:21:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6BE2C3858D20 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 6BE2C3858D20 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=1700328118; cv=pass; b=Nc+XNfUvt47XTG0fyjPcKw842FXyLdr3h4YztFX8O/HoYR2FbZEQTG12hg7MfwXx1qUu7z239ugJ4gFA1w55bOapQN4S3sOsamCHJfaRkwHwWD5nPbKhwcxiyqgT3Zitr5pvf5stN0lMWsgpNLwjE53yL7UW69dkuFmE3h42SRg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700328118; c=relaxed/simple; bh=PgLHp3wRRQKfCYhjKqUcn3NrbHgnAWvW+y4UD2QfTuw=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=ikZmSllRrn2j94rnpIYNqymWmP1jQzOlsO1V8jw3ssV4iiZng+8mD+hZja57zKp02yHSizpa0CUxkF2kpMmt9piPQJEeUNe62pTWmBdzAiajracPpiei5LRJCrZhT9zAr4gT5TN+arNCFi7bHB85zH9Y+HrqDgYI0iZGCthHZow= 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 3AIHJ75A031634 for ; Sat, 18 Nov 2023 17:21:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=jJlIeZUNmADYWK2A3BvnJ3C5d+6IxXGSgvJmI+oqPSc=; b=FBElvMWA3zjQeD+T6nHPFrzgo6hwCCIsd4s9x73wg/uIH354+VvHdiq1qS+6sneujA7K GPcFWfRouyhJcqK27wwoSetf8s5rcca0aNEaYg8izzEq40rT8jnFqAqf9OxPXkidv83k hhk73iT5kBQlDUQo5Rw/vgugQqzGNcQ9IyWaeGHqJ+WqGeZYdpUFNz9/Z28eqTwMzIiH HGdF9KsSyjrs94Fs/sXwj5/r4dQUfQwxW2FcXgaPYjKccQtd4sUYYYeWTSdo2qHobNfE IQcPV+lfV/6rxcLLyPGvhruBpxwJVBg8miGylGlU6vD3vd5G/Y5Fn+JOa26mZi9TiY13 Cg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3uemvu8heh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sat, 18 Nov 2023 17:21:54 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3AIHADp8002439 for ; Sat, 18 Nov 2023 17:21:54 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3uekq3mkfx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sat, 18 Nov 2023 17:21:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C6Rg1yg88bJjyraHZSvIwhxGkxX1+sENGCid0Lzb0Y+mPESc81sNNP2cHoZDNeNTZkZmI8IOPqd2PLzHQM62fTJe2kIj3L5VaMo68f/TYe7UN4WlSuFiBq0OqPLgNrc7aOerDvG2LQ1cRd/eipp3W0w4e0J/KfUxgh0WuDYmVOJ3jdnhyosNK9jkP13GvHUw1R/JzX1RWX9qGF35jks7UtRYBekvOncRpKJuYj9PKGiF3AKZl+bHTnU/qrihjLtt1pRG9yF001S/dADBlKSicpJc/cicHV2oKEfxAvjjWuJ8S8F5y2IxdPr5BLZMJPDL1Tm1uBYSlH24iw1bj2RaRQ== 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=jJlIeZUNmADYWK2A3BvnJ3C5d+6IxXGSgvJmI+oqPSc=; b=b4msQTEgl6iiqexXR0jrwDHQdUzE7H7ttx8eFMikaeot0sA8c6nUqagGUfV/+UxV7ICmnwMrdanTJ0/LmepmX+kUWc33e56xJzVOKXusOr2DlFh8Wwa+kw4vIE/g1Y5wkzgbxFV1NVwZyxyLEBY1YOgJ6IQCeEEdxdRdiXfPtwCBfYvotJXnXFYXha5vw0/ugel1S/dSI/6VtzXFLIyY7iCVfDOjx12Fj8Zo/aLjVkkbmQU2Mft5VWtjnt4u+FYMif6dI0ZMCMER1b3EOfJpFDn10wnaXg8Oly/lDOl21dh9ULkKMwmkt/it+61hV0s84ZzmSQj+Fc5Jdrw/+Vw6tA== 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=jJlIeZUNmADYWK2A3BvnJ3C5d+6IxXGSgvJmI+oqPSc=; b=OuenvTZvIHGij4M7ZKAE4U0/pJegBAGEInpmK9tRiojcAVm/N+mtD/DSqO715gBORVjLsenBRUfog5kgJWfjdLaFCrnsMvxn71kMsFkZ2K0pQELVbS1BbHKqx9gpgpJ1j4Wx8CsMZTnfZ7+Ht9wIqB3dfmGzlCWzSbeSAeUDAiY= Received: from BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) by BLAPR10MB5219.namprd10.prod.outlook.com (2603:10b6:208:321::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Sat, 18 Nov 2023 17:21:50 +0000 Received: from BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::ba16:f585:1052:a61c]) by BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::ba16:f585:1052:a61c%4]) with mapi id 15.20.7002.021; Sat, 18 Nov 2023 17:21:50 +0000 From: "Jose E. Marchesi" To: binutils@sourceware.org Subject: [COMMITED] gas: bpf: do not allow referring to register names as symbols in operands Date: Sat, 18 Nov 2023 18:21:47 +0100 Message-Id: <20231118172147.23338-1-jose.marchesi@oracle.com> X-Mailer: git-send-email 2.30.2 X-ClientProxiedBy: BL6PEPF00013E0F.NAMP222.PROD.OUTLOOK.COM (2603:10b6:22e:400:0:1001:0:13) To BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2888:EE_|BLAPR10MB5219:EE_ X-MS-Office365-Filtering-Correlation-Id: a9ffe04a-56b6-4996-3a04-08dbe85ad99a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WGAVcwKT17QWaeBTQOWjz2mg4+W0Gp2VYE9dF8++cErULVPtymxQz9Z2TFjdnDhF0lE1N08Vnaea8fKYwWiRyAMeNKlK9I3IrZMx8tC661KdCxKJBz5UCBvbAmYoqsVnjBYznQyhnNaDZEnGxNjSj7Ng0OkWUEy3Rv+igEh5lwGjF2ld+U2/pQlm4pH6YYzDFNXI3koqgW8f3NouCZmZtpT3jwmMBfLy62LUqRS3E7WdIv1BigEVwEVDG7+EDkW2gqzIg2sbrJHb81L7Ud+RfwTFRYOO3y64cvXW7rIcNlhbU7qao5z16svBKkjl83wVSwD4j7ca1t0wMHCOUG0gmXKQjSDTsMkxzRqodXrTLk36jKQb4k/27ZXwf06Z9BJvnfkJpfEvo43QH/Z//fcnfeaZI7nKBFLNPECllCyqs40w/SWKQpwp0V0olOFHx3nnG0T5K6xA9ey3UgCbhOraFpYOG59/E5CTmz/C8HgfABr9jj1cqwCxHl2qtOP93V+mwe+XJqkvdmXAURi69K4wd8atQkkFnyUX/vqWhKf/oL0cLvabrwq9qVKLx4YrlQjj X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR10MB2888.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(39860400002)(366004)(396003)(376002)(346002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(41300700001)(36756003)(5660300002)(86362001)(4001150100001)(2906002)(83380400001)(6506007)(6666004)(478600001)(6486002)(1076003)(26005)(6512007)(2616005)(38100700002)(8676002)(8936002)(6916009)(66946007)(66556008)(66476007)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IJ3ko/BXLT4Hunm337W2hWebMpauLinQEn7A/egUU/qJFBi32STq+zC7SjgxaYzlPMk0jjIof+sMp2ff7cNnTyN/rfKyeRkJxwuOwqQMwten/9HeTACtahh1dDlkvsl4f+sbacqE4T1KogLBNhIQbKQGD2TCrn76tGnT03QCq54+hin1cmeVctGv+dwLcehgrGAupwKOI2XdGQeYq48hVP0ZCTO0ARbKY2QH0n39zyvvKtpLFLVLoG2Sn14qMNk9E1yLOqnsi6D8XnrHrhHSbSYo2izwUysSt2RmTJ/tMhmzvvIZtvmM+wL/itWHuaCU77oe5gvv/LfrlU/JupTeNHFYDq4aDPo7S2/G4N5RNb8Jbc8+k0NXnX5Z6ELN4r4+3ReArBwnUquhbL8yptKDhqr6xieqXHXTTZVSVze9ujjJ46ETbL8Bdn2lZFsZXgdNdpZikT1PvW3mDteB7mwYmx0Lq8yNw20OIzY5pYHUl1N41GGDSZ0mEAtRu7/1HAeien+18TWn0/1Eus4TZ0Ol5Xt9wB5QtThpey9oGiJuO5dA5pe+ZJCjB7AfK7LclPB9/p7DgJWix6C6awEKhwrOyZoDpcaiK/JUPhXWFC0f874l20w5g6aEio9wtOJ8kLHDbZK4GlfVJo7LDt4TcBg0kJTOHg721VwvrCjmRAxNSkx/pGEJBiTCPq6tDaK8fz9UqnPO8iczYY0fZW9oKEAtcS95ri4velpzDQpf0s2J1cNrHRSqTVNckT2cq+rRSq2Q+M/JWn8Jrw+DPoXhE7aC6Wktsv9JJhG5z+9YWmE0NJX+qpw8LCkKBRFnnloRxj19u5H56x2iSMd9j8EXMtwazfMmk4e3TTa9qOfouU0X4P64KwjvrDoY1H2G/Sx/mQVEP5i3CcKxp9LfnKXOjjXXZtGNTx85LTL1RhZQK13tB+6oL5S2Fo1v78EFurY4kYgCV6s766MMehtODA7bcLX5xzabfRtpfKSaOQycbJ1gaS8/Xq9zKDoMlgwVM27jV1ofGrA+i9u5wbeklOAP4rN0BKMPm4TxmAvwF8Bwa1EHwZrvaRgnNPzZB7YrW0HRmnDUZZl7eIXHEvrvBOMDJgIVxAjgP9iG3RMw0DU4IdDj5dhoGaucCGuMJaE6ytndIhYpZ98j3xLZ0aWQelpUJYvfVZeHmRYmu3zD4SnFncoyQwLfD2WskdzjYNIMEeekYocJ6yBrCUgBXG3Mp6eDlzff2rNDPqgj41S6b0bDRlFVznR713yjep3WBGw1qDHujVUchWhQ3Na6lPKhi/kOG0S4adqbAd3y7q/3IAJGlM8T2Ae1MYVjJTPoYUW7VcOpQG0in3th4b9uKdYE/BheqB9B5SDehmX7eVZYV4UtXJb/PQK8fFj/Yk5xoyp5LCJvWsjagg33qLaNjA2wN4Yjsym+5zprhx8i7KH6rwi0pkXsvWu7Q32xOB++MwNZVQ8JHJWkxM8DRN+s3m80Sjp+EfFPI10AmH6fy2SJRr8cmQMhDfP03vinNXROsBzU2aU9Q2o7AAnfP/NMPhScdnDQV17efSWbrqu2/0FJGFke9LmZZ14v/vnant+syOIReB2d6x1aMxfG3pM6iVUqbvSqkh1Bgg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 0IjTyIhI+105U+0sHs0YjqS+pf8vMU0OQUkoDNrCStJ3Bt7cADTlydzG7ZzlC9hkibO7fVnpOjo/aVUu3fdHg875llhiKpb0qe0XJ3WeQpmMHc8DBpSZBqiGNwc8qMcTUKNov2I17fIU4D6PD3agTi/DKp0uJBmU5R8+D2Clqk157+OopLOr/cOfhNny5i8ZV9eyI8gN4UUG76EAo15RLglNnqistanszyHQnIiOO4lQH59i6RX3RDQsGR/d88Xc5jSSkCvmo6acJO3Rdn3yI0LghpxRAkILUbdqOpTdGyEDaL8P4b13qnYLP4Wa55OZno74mP6lRIygWOdKWGhDbJmr2tj5dnxIXuuxpIOSbl4EmC4g5HGms54g/qdpvudmpNpwEfzbEk0zKb5mgKD/Nk0IZshfiD7dQyo/LzCBJHnWJdU69t0pLdkv2ZbYf3MBI6l86S6mde6rxYevkt53iXqVY3WPT4EEJ5BNTFQ2SzNFLmZrq/YwUnkVINqpgYl745cXjWigorBpJShHnSq+0L5AeQtazglUkQcnDVflyizeCB6L/9XJOFSjxF7py+zhW03Sv84G5H86gCRXrIet6o1CVSK4kAeHh9vB8hUp5Xwh1u73rimYA3w/L3f77LnZ6Y6YGvuzEEBKq2N1+swAPOb7Z9Dx04oek/cAGye6Q/dVbj0iSdc5Mc+PA/OQi5rrbUHsxWNMuYjp05/lpyNbeqtQXH88+aPXd4i4fWYebCnqUM+sYw/iXBBwUXRYyOFrNb/6C8EDljYQRLnF9/kwSQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9ffe04a-56b6-4996-3a04-08dbe85ad99a X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2888.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Nov 2023 17:21:50.1647 (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: x929ogKKWKVN9LtKxJKK18JIjW/46I/QjLw0I4pR77/3azliG4gNe4flKtYiJs7ZbgkxNOg4nFz8NKwGALeFIZliv6ZntpkFyHov08sqlU4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5219 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-18_13,2023-11-17_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 malwarescore=0 spamscore=0 bulkscore=0 phishscore=0 mlxlogscore=698 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311180132 X-Proofpoint-GUID: Ig53G0fiShBh9OOqkdmYdDH8mWQQuqxV X-Proofpoint-ORIG-GUID: Ig53G0fiShBh9OOqkdmYdDH8mWQQuqxV X-Spam-Status: No, score=-12.6 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: 1782923262027234764 X-GMAIL-MSGID: 1782923262027234764 2023-11-18 Jose E. Marchesi * config/tc-bpf.c (parse_bpf_register): Move before bpf_parse_name. (bpf_parse_name): Do not allow using symbols that are also register names as operands in pseudo-c syntax. * testsuite/gas/bpf/regs-for-symbols-pseudoc.d: New file. * testsuite/gas/bpf/regs-for-symbols-pseudoc.s: Likewise. * testsuite/gas/bpf/regs-for-symbols-pseudoc.l: Likewise. * doc/c-bpf.texi (BPF Registers): Document that it is not possible to refer to register names as symbols in instruction operands. --- gas/ChangeLog | 12 ++ gas/config/tc-bpf.c | 113 ++++++++++-------- gas/doc/c-bpf.texi | 7 +- gas/testsuite/gas/bpf/bpf.exp | 4 + .../gas/bpf/regs-for-symbols-pseudoc.d | 3 + .../gas/bpf/regs-for-symbols-pseudoc.l | 8 ++ .../gas/bpf/regs-for-symbols-pseudoc.s | 4 + 7 files changed, 102 insertions(+), 49 deletions(-) create mode 100644 gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.d create mode 100644 gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.l create mode 100644 gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.s diff --git a/gas/ChangeLog b/gas/ChangeLog index cbe2a57dfee..9f966be40b5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,15 @@ +2023-11-18 Jose E. Marchesi + + * config/tc-bpf.c (parse_bpf_register): Move before + bpf_parse_name. + (bpf_parse_name): Do not allow using symbols that are also + register names as operands in pseudo-c syntax. + * testsuite/gas/bpf/regs-for-symbols-pseudoc.d: New file. + * testsuite/gas/bpf/regs-for-symbols-pseudoc.s: Likewise. + * testsuite/gas/bpf/regs-for-symbols-pseudoc.l: Likewise. + * doc/c-bpf.texi (BPF Registers): Document that it is not possible + to refer to register names as symbols in instruction operands. + 2023-11-15 YunQiang Su * testsuite/gas/mips/mips.exp (mips_arch_create): Add "--defsym diff --git a/gas/config/tc-bpf.c b/gas/config/tc-bpf.c index 3122f80804a..45abc3c9578 100644 --- a/gas/config/tc-bpf.c +++ b/gas/config/tc-bpf.c @@ -1255,6 +1255,54 @@ parse_expression (char *s, expressionS *exp) return s; } +/* Parse a BPF register name and return the corresponding register + number. Return NULL in case of parse error, or a pointer to the + first character in S that is not part of the register name. */ + +static char * +parse_bpf_register (char *s, char rw, uint8_t *regno) +{ + if (asm_dialect == DIALECT_NORMAL) + { + rw = 'r'; + if (*s != '%') + return NULL; + s += 1; + + if (*s == 'f' && *(s + 1) == 'p') + { + *regno = 10; + s += 2; + return s; + } + } + + if (*s != rw) + return NULL; + s += 1; + + if (*s == '1') + { + if (*(s + 1) == '0') + { + *regno = 10; + s += 2; + } + else + { + *regno = 1; + s += 1; + } + } + else if (*s >= '0' && *s <= '9') + { + *regno = *s - '0'; + s += 1; + } + + return s; +} + /* Symbols created by this parse, but not yet committed to the real symbol table. */ static symbolS *deferred_sym_rootP; @@ -1283,6 +1331,23 @@ bpf_parse_name (const char *name, expressionS *exp, enum expr_mode mode) gas_assert (mode == expr_normal); + /* Pseudo-C syntax uses unprefixed register names like r2 or w3. + Since many instructions take either a register or an + immediate/expression, we should not allow references to symbols + with these names in operands. */ + if (asm_dialect == DIALECT_PSEUDOC) + { + uint8_t regno; + + if (parse_bpf_register ((char *) name, 'r', ®no) + || parse_bpf_register ((char *) name, 'w', ®no)) + { + as_bad (_("unexpected register name `%s' in expression"), + name); + return false; + } + } + if (symbol_find (name) != NULL) return false; @@ -1320,54 +1385,6 @@ bpf_parse_name (const char *name, expressionS *exp, enum expr_mode mode) return true; } -/* Parse a BPF register name and return the corresponding register - number. Return NULL in case of parse error, or a pointer to the - first character in S that is not part of the register name. */ - -static char * -parse_bpf_register (char *s, char rw, uint8_t *regno) -{ - if (asm_dialect == DIALECT_NORMAL) - { - rw = 'r'; - if (*s != '%') - return NULL; - s += 1; - - if (*s == 'f' && *(s + 1) == 'p') - { - *regno = 10; - s += 2; - return s; - } - } - - if (*s != rw) - return NULL; - s += 1; - - if (*s == '1') - { - if (*(s + 1) == '0') - { - *regno = 10; - s += 2; - } - else - { - *regno = 1; - s += 1; - } - } - else if (*s >= '0' && *s <= '9') - { - *regno = *s - '0'; - s += 1; - } - - return s; -} - /* Collect a parse error message. */ static int partial_match_length = 0; diff --git a/gas/doc/c-bpf.texi b/gas/doc/c-bpf.texi index bdd9fde0f5a..25ae231d19c 100644 --- a/gas/doc/c-bpf.texi +++ b/gas/doc/c-bpf.texi @@ -113,7 +113,12 @@ Read-only frame pointer register. @noindent Note that in the Pseudo-C syntax register names are not preceded by -@code{%} characters. +@code{%} characters. A consequence of that is that in contexts like +instruction operands, where both register names and expressions +involving symbols are expected, there is no way to disambiguate +between them. In order to keep things simple, this assembler does not +allow to refer to symbols whose names collide with register names in +instruction operands. @node BPF Directives @section BPF Directives diff --git a/gas/testsuite/gas/bpf/bpf.exp b/gas/testsuite/gas/bpf/bpf.exp index fcbeccd8ecd..5bcd8c483a0 100644 --- a/gas/testsuite/gas/bpf/bpf.exp +++ b/gas/testsuite/gas/bpf/bpf.exp @@ -73,6 +73,10 @@ if {[istarget bpf*-*-*]} { run_dump_test disp32-overflow run_dump_test imm32-overflow + # In Pseudo-C it is not possible to refer to symbols + # as operands that have the same name than registers. + run_dump_test regs-for-symbols-pseudoc + # Test that parser does not create undefined symbols run_dump_test asm-extra-sym-1 } diff --git a/gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.d b/gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.d new file mode 100644 index 00000000000..d99ec8f94c2 --- /dev/null +++ b/gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.d @@ -0,0 +1,3 @@ +#as: -EL -mdialect=pseudoc +#source: regs-for-symbols-pseudoc.s +#error_output: regs-for-symbols-pseudoc.l diff --git a/gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.l b/gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.l new file mode 100644 index 00000000000..eeda735fb99 --- /dev/null +++ b/gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.l @@ -0,0 +1,8 @@ +.*: Assembler messages: +.*:1: Error: unexpected register name `w3' in expression +.*:2: Error: unexpected register name `r3' in expression +.*:2: Error: unexpected register name `r3' in expression +.*:3: Error: unexpected register name `r3' in expression +.*:3: Error: unexpected register name `r3' in expression +.*:4: Error: unexpected register name `r3' in expression +.*:4: Error: unexpected register name `r3' in expression diff --git a/gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.s b/gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.s new file mode 100644 index 00000000000..693787d5479 --- /dev/null +++ b/gas/testsuite/gas/bpf/regs-for-symbols-pseudoc.s @@ -0,0 +1,4 @@ + goto w3 + r2 = r3 ll + r2 = r3+1 ll + r2 = 1+r3 ll