From patchwork Thu Jan 11 20:20:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 187482 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2411:b0:101:2151:f287 with SMTP id m17csp1701020dyi; Thu, 11 Jan 2024 12:20:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IEW3mX3vseS3reUpb64Spty8vKLCSr5DltlFXTiLyDqqkh+zaEMiaz3VKoy+XYDcAIBGGHC X-Received: by 2002:a05:620a:1014:b0:781:e1bc:4840 with SMTP id z20-20020a05620a101400b00781e1bc4840mr311659qkj.85.1705004429992; Thu, 11 Jan 2024 12:20:29 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1705004429; cv=pass; d=google.com; s=arc-20160816; b=Hr7MyajzF6v3A10uyH9nH2bJS7O1gS3wYN2YbYJGkW1dSmY/7ndF03zEET3WdEuWGQ s9p0pbZyLvdJneISI2j/cWDx5KEv7+jJNpr5SulAyknJpDSGaCl274K8Y1EmOIS38Ocp IdLmQD3qHy0cSy+G9zy8icFTZzh5rxdB/nwmWGUvpx93YGBKZ03JVP0CaB62SlIbtzAP CnZt7SRshKh9n6+jE1M2M0ghisxDIQ1XvLogHFqKsitK+5W1W4lTcJp+3GN3ceiNs9sp psl3NSYgPy4DDJ1CB9utyZQObnv9QlJyWXW0oyHUVaAP82wu+YuaZdSbFleIGeYYZbzo zsJw== 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:cc:to:from :dkim-signature:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=s6D+BgGp/cqYe4NEp0UN+tHBKsEMl6I7a6uumN+O0Ic=; fh=wSzP53OROu/pnOPlCkp3HnrTk8rxBK3kJn/ZCkUt/l8=; b=VHg8BXzx9WS2BX3PVW+fdCELsDkFrr+zls1oBbDNhy00In9DrLkNSaZQ0Wzh2S2UWd OR7knkEET82p70okTy7ISm2ZKT8Ndvw857GNgf5qGQJAlB7lTVGcf6lzIJIV0a37OyUA CdKeTD65sp4PH7S3IWLJAH6+b6nqgmsvB99LEHdge/ejCziLx2DeI6z8mCAWfoxpo6SU JmZxEVpmPxsIEhL3GPaNuUhFzej5wi2i6WGot9HuGFOBVtY3oNYQtcbtUYv2/GG3ekzj d9hQKyVdftPYYLHqPqi9ss08gfJ+DqVbvcfobN+WOjMOoEBAm8HwrP8Di2BiarDvzWUv 15AA== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-11-20 header.b=QFzHUn44; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=df4ug8St; 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 d11-20020a05620a204b00b00781e904cc18si1533723qka.59.2024.01.11.12.20.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jan 2024 12:20:29 -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-11-20 header.b=QFzHUn44; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=df4ug8St; 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 A6CD53864821 for ; Thu, 11 Jan 2024 20:20:29 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id EF6D538618A9 for ; Thu, 11 Jan 2024 20:20:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EF6D538618A9 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 EF6D538618A9 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705004419; cv=pass; b=nKpFpr0xVYpj9RVWKVFj7cY/wCywuI8Tot8zFEEKcb0mdE/MqsQt9PCJIVK/KlcmE7qLNz5gsUO4UABt629HU10+xyWZBjkrYGKf7ybXvJBv3gVzWGCXztpHEGnPcL7GQ38jyk80xAE+3C2cZttoYFQDQZpxnTen6SWN7LWRg9U= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705004419; c=relaxed/simple; bh=1YuDXeXgplbaUybym/7fnRm+qjmiT2gPPsIDOylXg/4=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=iiLepU0VJVvo5C014aYfaydaz3tdJgRilwOBvW4zIPyRNsi1vn7CKFQ4CdKhp/wUNTb24TKWOeSN9KJiTsguF++eQ5TjLgSoGmyv47tyc/OzP4veEC/kX+zf2cRSiJk1NzNwwYhJYMfulml+MVhJM1Lq/w5rvipTyM5cOJOzMhU= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40BK2cMV020928 for ; Thu, 11 Jan 2024 20:20:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=s6D+BgGp/cqYe4NEp0UN+tHBKsEMl6I7a6uumN+O0Ic=; b=QFzHUn44qH6L6CbOnGXKnSyvJNGQ5gZrUI/I8qNVTtY7cRW2iNr3coS+3eTrE5OHXgc0 vVnveHDt81cbLcLWDYq0d0zzoku52/3JGSYMXTtdtlYxgpbB1AQzYxtJVJjoL1uNI3kK X47L9Y3oRTognRiPqm2JMrloZ9MWoNBFOB7yRjMSPccN+jqwglFieeE/E3modQvTDApn pt1J3mIkaw4pLETsj0f1GbJpQCjvLC4EM8QUrtTKiVPNsFVOGY+3zY8cBfvCuCSdALRo ViZM67CDyv/zj59J98uN7UNx2rLMNZktACL2WrwUp4DRaj0LXvepwk8ePk82CDnFlKqQ uw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vjq0xr1tj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 11 Jan 2024 20:20:15 +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 40BKIRrH012095 for ; Thu, 11 Jan 2024 20:20:14 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vfuwmhvdp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 11 Jan 2024 20:20:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S5LnsSl1Zd7WK7Kw6d0kQ32rgsY9A1WMMNNxm0ARP/u8/0h4pWCxbnYiJJzVrbBbd2jyPrkrYLH/G5sFIY+PpCmSDaS19oSGtu8DLggf4bKOVsemPDL2ecIYeA607y0QjVIOouYJFCSZLhPVwP+PtUjNBO5hQYjJUI9OGbxCixc16p5mP6Io6t4lfo8FCWX93rpMic3AbG5gApz5vCH+lX49yqunV8dBt+B7HiUuMlef0zVyFceQ50TXR9MWJD96xoHz3f6N//+XnUGcTys424e8iS9MfW6OtEGNhQa6VJ8DAQPFYLJkcI9XkcpeCkFGd2/5XKR9+TYmxrYUyjB5RQ== 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=s6D+BgGp/cqYe4NEp0UN+tHBKsEMl6I7a6uumN+O0Ic=; b=iu0FuJXNamQTkv69atNJ2DgBt1etOj4a4iT3cb+nncSzgsTrRxSFoxiiRTHEvs9zukQBhA9d2lvEw/dbUSYfl1MzGQDAiCCpZCZQE1JcMS5GnAlirLRmENyvWtjRajHjRX+tfhAK0Srp84GFaf8Fk41A4GW7+GbdkcfwoRgGUowr2uFZ9mDLg2uGa3fXFBglQDReTypzoa24vTALHh701qJdES/sDzN9Dv9+EM1yjGj6EiRD3F1JrhB5MD3FoNxO069x6BFygonIiGwUa/Zf1sbBMVu8HyQA64NXAjEa2I3af5pckzu8j7V0VmocMtBea6JVPxLzWMwXQ6c5n4lrqw== 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=s6D+BgGp/cqYe4NEp0UN+tHBKsEMl6I7a6uumN+O0Ic=; b=df4ug8StLyrkHp+yWiy0EFG74GM89CHaZYCZ05SddYNcX+3C8aaZDnpG8MUyl3pdu8IX+1HeE3QZQiaclKeP1vmwWpYJgawnbWMrYeZJ9P3/y8S07X8Xm0c5YWqPhjID83k1wpGw0dHn1NZPEk/6jPAnWlDkd9PyBnHxaD4jwxw= Received: from MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) by CH0PR10MB4940.namprd10.prod.outlook.com (2603:10b6:610:c7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.21; Thu, 11 Jan 2024 20:20:12 +0000 Received: from MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::9c17:4eef:fef0:de2c]) by MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::9c17:4eef:fef0:de2c%7]) with mapi id 15.20.7159.020; Thu, 11 Jan 2024 20:20:12 +0000 From: David Faust To: binutils@sourceware.org Cc: jose.marchesi@oracle.com Subject: [PATCH] bpf: fix relocation addend incorrect symbol value Date: Thu, 11 Jan 2024 12:20:05 -0800 Message-ID: <20240111202005.11209-1-david.faust@oracle.com> X-Mailer: git-send-email 2.41.0 X-ClientProxiedBy: BLAPR03CA0141.namprd03.prod.outlook.com (2603:10b6:208:32e::26) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB3213:EE_|CH0PR10MB4940:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b8c2a93-1487-471d-71b2-08dc12e2b6f2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2TRq4tRnx+xr60R3BWgrDVcXGczXdQIXu9tBKvjXX/4osNZ3TGq0o3I3tyJwG36rfkYC6H5pl1Wi0KRmJcxvvkSEOcH6I8kNTnt5xoiKihCf0NJzRBJ9+NsDIRmBmIhxic3thH4t7am5AMxAjUama4H6EL86oZGkDr/LhbB1k+KUGy7SgQA0lPpAy1R+rM+h05bGpAZtxQ5nikEtSDioIb/nQ55VMrT0IsVZB8/MYehHTjNlo3YDJQxP4fipTXlGDt2YCtBZsIagT38Ebsh6jRF8nhr6mvPO7KSdVlC5BWwanJanIp3mQPQiHbNECYGPl3mEes6XtG8hH6+rxoREWBhzvmWqEvlEds1KZIWQknd9MDuDm3M4eDtKrDqtVVjQn4pGmmLrta6dbTFsjRd8UcQsTweaL1MNuFPDz9CaWkkHIqhSWKyNIphJh2CLfPVGp9f05ioJG7qGxMbfDrA3z7SNFP44q/bh1FOr2ko6PCYZS4MzPa4/V+vXmqGR62Y2j+OlfP3N01smEvApNuxHYJRsVYtbuL9y2T6hbL8OLpa+347AmRMTPdHQI2E7IiQN 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)(366004)(396003)(376002)(39860400002)(346002)(136003)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(83380400001)(36756003)(86362001)(41300700001)(38100700002)(6506007)(6512007)(6666004)(2906002)(5660300002)(8936002)(8676002)(4326008)(44832011)(478600001)(6486002)(107886003)(1076003)(26005)(6916009)(2616005)(316002)(66476007)(66556008)(66946007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gCGND9ix9uhVhXABi6UUAVktgw/bODYFwow80t6JxVx2hDAabUbaUnHCPFrNj3T91wJxbMooegeSS9BwaEE0K/vK2qd8a+Ekjn22m2hvXp6oo2vmJYmTWxZV6HlDW9Qj23lM0pcIf5FVgbO5BGsVOJ3NZFCmleZYukh+CgLyt7fECR0SPLc6LMWEbEEVLB5w5txm/ORG5Jr+/j6GFBQpRq8uPYYCp4TqTr3FTra78rIwBdRMh42etyTZ7PEvxpLLFuFVyOlZOZdFptSMiyHcBnG41AiKNMdQ8EJlmAhQglcVk2Ay8LU/wsuCM6NnBOw/dLWVdjtq7MnrjdJEq7bSoug3JrlnY8EYRgnTlGQFt9JysRYGv3ougRkeGl9ZDhkPkT8eY2Pio1VPLfbA6VMN+6MNW5vJZO+ib6VTKCpx3ZzLvbWrYPnUV5OFIq9rRTBARq3jaIdLJ11q8kv1Xuym7U8HKzov/4DraMVQjSLmkUYjIUBugQhDweBIMZYa/GLLy4N0C3RaL8ySO3OvD8GbZImwqnKoCOiLx3Pkpqk3j1cx6heeWsNhFIaPJnyzSpNVEmISarmNxhJO8/xnYTZd+6QZJLRhXubQ2TrwRLpzuDOL0G0yXQ81e7+3Ype4wdrB6T0IoE0kpBv4RJeOzre2YiyqHSUvUASmy9+sgMuY0/aW4ZQFWbl/1HCDU5TU49qdlvUODBxrsfY+wy2rcV7PaBwoLZVHV8nAZNCu/SCfE1owrGC3Vhtv5qPXYh96lTlRGhARKLxKnMozdk6xwpuXiRWAvTGtIP7/+abzy8dYRkrnomdzWWjB0iN7CzWsaz2ycZhGhHpfr2YWBxxQRLXWEorZWY+O+mpr0NxV9Kt7SinpogIvvBas1cz2EtjgR4Qn6gJie2DpSQR5Mln1gb9VK+/hJjGetqQ6xY16ZNbIqa65AKE57LsVHppGjIbqHCyyJ8IllE5ULsZIUzPko9o8sx6hEaKfyRfrJDcUtv8LIJFjrdf/dWDK+qiVRXPleTIXoHAg76QwWXNKSNa+tATvONmGoBty5JGtEYTLyhIS77kOHCz5Qy+bA4hZp++OcqWoxBRJNsa8kSzw9pW4a4RJwjGGJfyil0AexeG6XC3fogVgqAUOmm73gIunrlBmws/acUUenyxR6nErh8v3HOXPbkE1KJwBHYFuWDPnwhl7S6y6SBbdxrydbTSp4VR200r0aKy2OGAONcucWFWKgNGTUyD0e+cRD5AxPGspnX1OyyhA/tLAWlDfyyM8NRLqaguDvMi0cTBFkQ3qkUA6d7YWoGk1n/AMx86sndBmtaxBzKuxfFuS+BHgxaMSWlvvE8acq/xk77rmpq3mJmkAYgEouCBMzIsy9xzJtu43PKUnaO9h6qs83EGzbe7u1KKZU6iLr6/2qAHXZs3G+MRzmh6QjqRzicvZYMzjj6cWsU27relkPcIyoBNj992ZY4yxJlfai+VTagIFE5CsH+DomnOTfAoRCjKxAqXC++KULPq0otNtddTGtalykuvK/fTbichTIdFqcSvVw9jOk/HV3xEFA70FqV3bNO5LcPKV+mqqf+LzAPqdr2TdvVq/1WxruWWl X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3EhmEHUGmOFVa3xv22CjqSsqqFLO2w7i5JztRxU4M2yb8erJrisfLgOFHtAc8FEieVjYZVx8t42JDbewN216orizXh3jY9sLfdo0HWOO1TGVnFQgubbJ76F8I25vbwCL2Ezcg2dbDEkjwpRGHyZOri0KP8GGxnrVeTcxW87GOcO37x3xwhqgIinAhsZCO2mSTPnntvIOFQBt2Es6LKvvfUCkx/qdlR12q8T5LOE6J6HtDkW+PKC/TNhr17qxCW6PD1wfTp1YP435IVj4ypxoNx+r3zKFCF+ja84VgYrJ2ZFmj7XwXmP8DeyHvJXTgHFp9bcw37g8ZtpSvTt619FtkZiifOM3rBTLyMCNPcXTQN+p/c0V9UikbVNRFdgQDvCyzzLXStnmxFlawHU4lRQsNY02HDL1PdQj2XlzOaRXj21XvYADs8K+clT2tAf39mQx3sWJ+ezveWihIatHgqEKLen73ssCeyQYc6ecfhHmN/ppE+ZMftnnBqMh1csYzsshD4HRWklonINjKcvyWGYfcFpTY1p6cYhWDlLFWtNA8Y59A8ndRe3aX63XBAr0SddZHix1JWaB64kN+fT0f+9BuqNHsVI1ftaG84m7XGMNdJ0= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b8c2a93-1487-471d-71b2-08dc12e2b6f2 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2024 20:20:12.2761 (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: n/PHIJaCJwQn8SUDsFW+2M9Gvm5XOHvDNRSK2YhpytFxBXkDR24z/ibHWDzQykyiA96gswLTgcqTecTQIS7TDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4940 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-11_11,2024-01-11_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 bulkscore=0 mlxlogscore=809 adultscore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401110158 X-Proofpoint-GUID: sGhLmGkoTCoYH3QE1xEJApaxGWB_nCyh X-Proofpoint-ORIG-GUID: sGhLmGkoTCoYH3QE1xEJApaxGWB_nCyh X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, 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: 1787826725456489830 X-GMAIL-MSGID: 1787826725456489830 Relocations installed by the BPF ELF backend were sometimes incorrectly adding the symbol value to the relocation entry addend, when the correct relocation value was already stored in the addend. This could lead to a relocation effectively adding the symbol value twice. Fix that by making bpf_elf_generic_reloc () more similar to the flow of bfd_install_relocation in the case where howto->install_addend is set, which is how it ought to behave. bfd/ * bpf-reloc.def (R_BPF_64_ABS32, R_BPF_64_ABS64) (R_BPF_64_NODYLD32): Set partial_inplace to true. * elf64-bpf.c (bpf_elf_generic_reloc): Do not include the value of the symbol when installing relocation. Copy some additional logic from bfd_elf_generic_reloc. gas/ * testsuite/gas/bpf/bpf.exp: Run new test. * testsuite/gas/bpf/elf-relo-1.d: New. * testsuite/gas/bpf/elf-relo-1.s: New. --- bfd/bpf-reloc.def | 6 ++--- bfd/elf64-bpf.c | 34 +++++++++++++++++++---------- gas/testsuite/gas/bpf/bpf.exp | 3 +++ gas/testsuite/gas/bpf/elf-relo-1.d | 35 ++++++++++++++++++++++++++++++ gas/testsuite/gas/bpf/elf-relo-1.s | 25 +++++++++++++++++++++ 5 files changed, 89 insertions(+), 14 deletions(-) create mode 100644 gas/testsuite/gas/bpf/elf-relo-1.d create mode 100644 gas/testsuite/gas/bpf/elf-relo-1.s diff --git a/bfd/bpf-reloc.def b/bfd/bpf-reloc.def index 42ba1a169ea..65228d44009 100644 --- a/bfd/bpf-reloc.def +++ b/bfd/bpf-reloc.def @@ -38,7 +38,7 @@ complain_overflow_bitfield, /* complain_on_overflow */ bpf_elf_generic_reloc, /* special_function */ "R_BPF_64_ABS32", /* name */ - false, /* partial_inplace */ + true, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ true) /* pcrel_offset */ @@ -53,7 +53,7 @@ complain_overflow_bitfield, /* complain_on_overflow */ bpf_elf_generic_reloc, /* special_function */ "R_BPF_64_ABS64", /* name */ - false, /* partial_inplace */ + true, /* partial_inplace */ 0, /* src_mask */ MINUS_ONE, /* dst_mask */ true) /* pcrel_offset */ @@ -103,7 +103,7 @@ complain_overflow_bitfield, /* complain_on_overflow */ bpf_elf_generic_reloc, /* special_function */ "R_BPF_64_NODYLD32", /* name */ - false, /* partial_inplace */ + true, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ true) /* pcrel_offset */ diff --git a/bfd/elf64-bpf.c b/bfd/elf64-bpf.c index 0bffe2c5717..c922a3eb48e 100644 --- a/bfd/elf64-bpf.c +++ b/bfd/elf64-bpf.c @@ -385,8 +385,7 @@ elf64_bpf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info) static bfd_reloc_status_type bpf_elf_generic_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, - void *data, asection *input_section, - bfd *output_bfd ATTRIBUTE_UNUSED, + void *data, asection *input_section, bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED) { @@ -394,6 +393,22 @@ bpf_elf_generic_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, bfd_reloc_status_type status; bfd_byte *where; + /* From bfd_elf_generic_reloc. */ + if (output_bfd != NULL + && (symbol->flags & BSF_SECTION_SYM) == 0 + && (! reloc_entry->howto->partial_inplace + || reloc_entry->addend == 0)) + { + reloc_entry->address += input_section->output_offset; + return bfd_reloc_ok; + } + + if (output_bfd == NULL + && !reloc_entry->howto->pc_relative + && (symbol->section->flags & SEC_DEBUGGING) != 0 + && (input_section->flags & SEC_DEBUGGING) != 0) + reloc_entry->addend -= symbol->section->output_section->vma; + /* Sanity check that the address is in range. */ bfd_size_type end = bfd_get_section_limit_octets (abfd, input_section); bfd_size_type reloc_size; @@ -407,18 +422,15 @@ bpf_elf_generic_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, || end - reloc_entry->address < reloc_size) return bfd_reloc_outofrange; - /* Get the symbol value. */ - if (bfd_is_com_section (symbol->section)) - relocation = 0; - else - relocation = symbol->value; + /* Behave similarly to bfd_install_relocation with install_addend set. + That is, just install the addend and do not include the value of + the symbol. */ + relocation = reloc_entry->addend; if (symbol->flags & BSF_SECTION_SYM) /* Relocation against a section symbol: add in the section base address. */ relocation += BASEADDR (symbol->section); - relocation += reloc_entry->addend; - where = (bfd_byte *) data + reloc_entry->address; status = bfd_check_overflow (reloc_entry->howto->complain_on_overflow, @@ -449,8 +461,8 @@ bpf_elf_generic_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, where + reloc_entry->howto->bitpos / 8); } - reloc_entry->addend = relocation; - reloc_entry->address += input_section->output_offset; + if (output_bfd != NULL) + reloc_entry->address += input_section->output_offset; return bfd_reloc_ok; } diff --git a/gas/testsuite/gas/bpf/bpf.exp b/gas/testsuite/gas/bpf/bpf.exp index 44b050e2a00..dae8bd924d0 100644 --- a/gas/testsuite/gas/bpf/bpf.exp +++ b/gas/testsuite/gas/bpf/bpf.exp @@ -83,4 +83,7 @@ if {[istarget bpf*-*-*]} { # Test that parser does not create undefined symbols run_dump_test asm-extra-sym-1 + + # Test relocation installation + run_dump_test elf-relo-1 } diff --git a/gas/testsuite/gas/bpf/elf-relo-1.d b/gas/testsuite/gas/bpf/elf-relo-1.d new file mode 100644 index 00000000000..4a1c7944882 --- /dev/null +++ b/gas/testsuite/gas/bpf/elf-relo-1.d @@ -0,0 +1,35 @@ +#as: -EL -mdialect=normal +#objdump: -tdr +#source elf-relo-1.s +#name: eBPF ELF relocations 1 + +.*: +file format elf64-bpfle + +SYMBOL TABLE: +0000000000000000 l d .text 0000000000000000 .text +0000000000000000 l d .data 0000000000000000 .data +0000000000000000 l d .bss 0000000000000000 .bss +0000000000000006 l .data 0000000000000000 bar +0000000000000000 l F .text 0000000000000000 baz +0000000000000030 l F .text 0000000000000000 qux +0000000000000004 g .data 0000000000000000 foo +0000000000000000 \*UND\* 0000000000000000 somefunc + + + +Disassembly of section .text: + +0+ : + 0: 18 01 00 00 00 00 00 00 lddw %r1,0 + 8: 00 00 00 00 00 00 00 00 + 0: R_BPF_64_64 foo + 10: b7 02 00 00 06 00 00 00 mov %r2,6 + 14: R_BPF_64_ABS32 .data + 18: 18 03 00 00 30 00 00 00 lddw %r3,48 + 20: 00 00 00 00 00 00 00 00 + 18: R_BPF_64_64 .text + 28: 85 10 00 00 ff ff ff ff call -1 + 28: R_BPF_64_32 somefunc + +0+30 : + 30: 95 00 00 00 00 00 00 00 exit diff --git a/gas/testsuite/gas/bpf/elf-relo-1.s b/gas/testsuite/gas/bpf/elf-relo-1.s new file mode 100644 index 00000000000..23424e05907 --- /dev/null +++ b/gas/testsuite/gas/bpf/elf-relo-1.s @@ -0,0 +1,25 @@ + .global foo + .data + .byte 1 + .byte 2 + .byte 3 + .byte 4 +foo: + .byte 5 + .byte 6 +bar: + .byte 7 + .byte 8 + + .text + .align 3 + .type baz, @function +baz: + lddw %r1, foo + mov %r2, bar + lddw %r3, qux + call somefunc + + .type qux, @function +qux: + exit