From nobody Sat Apr 27 09:59:37 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1672917125; cv=pass; d=zohomail.com; s=zohoarc; b=S3Foe+6o2EvcKIDWuWLfu575N+pefzdET4pH33gb/z40v2HQDGrJhP5Vp2RjlgbU7Rfj7mKUPulPNsVz/rDXtpVSbzVNSAwtq2Y4w1kArYL//xy9cnfrU87yHnjP603bcc3HIXNjfYPG7RWe0FT4DNeu5p6UGW/bKNODIkddPik= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672917125; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Cm9QUjQ0OiBxmbXmS8go9kS0Co5ZCYy7d8B43NW/X6E=; b=hfHyrLjqhZwoFb/BN683mdl8GqKfZaAv9RQQr2tIMOagpm3bBnD22e6H9+bgw4EYeRvLsc7VBS7jLBQBup/0PUMySUBTWl1hJ0xjCX35yZO/qCoPGYXo8uSwkNq7WWRli8g11F3+/KWHbunEf4rqW9x/WHiTRJ9jBtrS+C4s/9U= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1672917125815964.1018930142825; Thu, 5 Jan 2023 03:12:05 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.471812.731821 (Exim 4.92) (envelope-from ) id 1pDO9s-0000Mj-Kp; Thu, 05 Jan 2023 11:11:40 +0000 Received: by outflank-mailman (output) from mailman id 471812.731821; Thu, 05 Jan 2023 11:11:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pDO9s-0000Mc-Hy; Thu, 05 Jan 2023 11:11:40 +0000 Received: by outflank-mailman (input) for mailman id 471812; Thu, 05 Jan 2023 11:11:39 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pDO9r-0000MS-HE for xen-devel@lists.xenproject.org; Thu, 05 Jan 2023 11:11:39 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2043.outbound.protection.outlook.com [40.107.15.43]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id b8ef1ecb-8ce9-11ed-91b6-6bf2151ebd3b; Thu, 05 Jan 2023 12:11:38 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM0PR04MB6929.eurprd04.prod.outlook.com (2603:10a6:208:181::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 11:11:36 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 11:11:36 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: b8ef1ecb-8ce9-11ed-91b6-6bf2151ebd3b ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n1z2ouDNT8Y943IKrK5OPbF8jF8m6MCFsdtr+V+6cJsi3bmuxH53N/8wHACn+oML4Ke7Howg7PYwVhbzikQccmyqYsHiVvvKFlNmF0OcI1mO7GPQnG67MPHBREBY10MUZ2qkObj9++TYnKxtUm1RYzaMN5Le1tZQx2DWMVgnIZqBiXk35HrLjyPqhtCyMRxrChaLiM4wKu2E2p8uY8/HjJsMofnIcqx4yr++jq/9rralAiJJyBt/J5auKHNjJn1E7qca42auMHX1ZIa4YSgY/cwccK8bGRKMLNDXV6HnXHd3jOd/dC2WW+IQE1wA8HkFSn/Q//cnFjOG4B7PpwX13Q== 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=Cm9QUjQ0OiBxmbXmS8go9kS0Co5ZCYy7d8B43NW/X6E=; b=hjpnfc4CEnTc4m52gTccQVOKhh6EERJJ3QXkgHZV9kP+LApWQfe8JZ6n1cbkeIpftSlnL8u9mQQzCJrR8K4WXQFsEjaJXnyfMhPNavRI6tvCDtzvjM62SK+LU+XmLfj1Dhg9aJdxRv18yFrnrVn4UQ6LdZhkqkTsJEuHLcBiYIb8X/vfRw4z5SF8xTpfTYHOdPdvdveK7YsOgqUPpStPy8REvlzCwlk3W92i7GRAgGsh6T6Apw58iU6x7HQ0VlTIAHQol+ccM4VxTqFPrN3zk31rbqLpieZ4uHioCkx20AC9WhfcMVZqmUrPNpt+YIUsUd2xAjAZ1ln+BK3PRuM5Fg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Cm9QUjQ0OiBxmbXmS8go9kS0Co5ZCYy7d8B43NW/X6E=; b=KAqDODOOtOkq3Mn+Wr7k3Ag2w3gvH9whJUHp/ycOF80s+d1WUhTHxEM13EGsUHNs+3kO3DHADoRhXaFfqDd5w6qJyAETlbGKDJ/DObnwPhJuN9HsZnakdXqvtiSISGGlUsSgW1Y9S/MNlURRJ6Qn+HV8AZi2DXK01Mu+prhMdBdm/Le89nH5jOAuHTpptkkk/c7QYxgmzJaJGIqrFct/ZQ3ZL3nOBqbjg7clSTd34OfQ/aXrW9HifbkWiytZu4wXt7gqSMWzi4C8ZP0s4GwQCA5tq2USLlYWVC3d+S98unBoE3/nqPCXwf+SPTuPhfvfjBvmTBnfGu3N7XxG0GAqig== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <87efc536-3344-0459-b756-62a035db4090@suse.com> Date: Thu, 5 Jan 2023 12:11:35 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH 1/2] x86: macroize switches to/from .fixup section Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= References: In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0133.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:97::11) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6929:EE_ X-MS-Office365-Filtering-Correlation-Id: 41ffbc2c-292a-4dd4-e515-08daef0d9c45 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4N2lcKCBikWndPU9hdaDzG55Qa/GnydCdeHJ61KkwZaXURg31s15l8EWZg3sK1vlkfBuRhkesWYeq1X9sDJZ5v3DyNs4O9GJGMcq4DBNoiijigX2IG07XA2ZD1Q5MfeQxmlGD75xROJhU9VGrdYWAph5cJmoCMBjr23Tb5RogET0+qCnsubVaYCdOHFAn0aDuLL/vgRmeKj2PQj5tKP0N1dUKfIpaJdUbf9iDce/2DJyCNPYnx5EtYhAVJ4U5sFL+c2HuAr/3IYYXrtrwNCT4S/zIA4BQ0OUsx1xl6wtSUVlR0CW8c475yPFURteYjwBFjYHCkqqqH+IT5IRdt/zWHQzSZsiODwRYW8caCO20UR7qkzy1+RBaOhJLODIipRLzl1ZVdARYLLZVx6sPiqd8w4KR7w++jdM26Vmo+EuHMjK7GIHg17xInfDUCbHD/P+bKlaDJdLwtfNtRH9m4X66+cuhBgLY1eXGurRUQHcCS3D8AXJBpEp/5cENjWSYGxhg9/KZhEeqUjDt93fCS6GJO+ronNZVhDGqVj250ltpCGMq09J/izlxGygNAnV/o/+moHi26BI4bP3sE9t/PrFboSasg5Mp44pVcU+mfnn02UG8kuaax9c1fQ97wRK80wHRMlq++JZvxyqRP5CqdJl09rs1TYpTOqrHFyvVUPqHm5wW3qZe/BwdDVaSk6TtY1s+84rLYKSaVMrtJP1FZQT4Yhv1se9KX5dSK+foGRzSFyTYmgyaBFB4KuOT2/EkZhk/Wlwx6A2VqRCzarKzuaFCA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(346002)(366004)(396003)(376002)(136003)(451199015)(31686004)(5660300002)(30864003)(316002)(8676002)(54906003)(6916009)(2906002)(41300700001)(4326008)(66556008)(66476007)(8936002)(66946007)(6486002)(6506007)(478600001)(36756003)(83380400001)(186003)(86362001)(26005)(2616005)(6512007)(31696002)(38100700002)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TTdiQVRlY3ppcWVZUG10b09TcVZ4NVZhdWtrQ0RETWhFeUE2amM4aUVlY1Ft?= =?utf-8?B?YVNteDhyMHE5TTJEYjZSV0lnN3IrTk9kSnZoai9WclpxU1R3WHNidHlzNkhX?= =?utf-8?B?VlZxMmQ2a3hJcnM3SHhqRnBHRUNoMS9IS1AvOXdKSFh2MGEwUzRqS1hoT3dl?= =?utf-8?B?MjVzMkN0NW5RZG1yVnA3UWh6VnZvQ3NkS2M3T1BRMVlrS1MrM0pNZzJkMlg5?= =?utf-8?B?NTUxZEVENXQvUzBkemR5V2VlMndUNnUwcmkzSFMxQVQ0Qm15eXRZZjRyYzRn?= =?utf-8?B?Z0kzVDM1YlNDZzk3WmpJeXV4dWE2Smh2VXFTQmxJMnFWVnVkL3RQcVV6TnpR?= =?utf-8?B?TGI2M0lvakc0U3IxQXNua3AvRFRLWm9pRWZXUXpxVVlLbGVzSzRJNHFGZVZx?= =?utf-8?B?cmpETHNJaEFpQVRROVl0eVgzNWllU0VRTFhnMUdTSnJQR1JXVVJxbnQ0dlRE?= =?utf-8?B?K0tGNDRlVDA5c1UxanFTUGdZN3JjRHJrQnhxaVdLdlJFeGk3Q0d0d05uZWdK?= =?utf-8?B?ckhpVjREVkpzYzA2SjNiS25XSWlhbjhLOFFhTExPMW84WHptMWdEZnVYaFBK?= =?utf-8?B?TUR6ZUNIL05hWEhMeVE2WWl5aVdMSlU2d3ZOczF0RzgxeGVtY045akpxR2Fy?= =?utf-8?B?WmdrWUpPS1pVRnFoNjRzZ2NieXdvdy9zRDBZQVlvSnlGWjk0U0orbVhhcWxV?= =?utf-8?B?UXVMS0lta2JTNkh5dU85TldpTUMxc3NoSjVVV3Z2Z1dSQ00wRlRrVXUyWEV3?= =?utf-8?B?SERCcTZSYm8zMUEydzZDVlJtLzFWM1dvYUdWWkxFME4zbUpycVJiRHdPSW5u?= =?utf-8?B?czJPR09KVDB4MXpBajVrZzZEaU9uMHdkb2FSd0tNSHE2ZjkrTDg1S1lTeWts?= =?utf-8?B?K3p4QkpRSVlTcnRSQ1JlaGJrMlpYbWpPbE45N3pta0tndThRMkd6T0t5MUw2?= =?utf-8?B?K2NoenRqb1JsbHNWTzlud01wdmNZeWFab3kybUw3dkJmYkFOZ1VQQzlTckVW?= =?utf-8?B?R2RFcXd3KzhBNkNGNHVxcFJFQ3haMDJxdWNRc3FnYlNDcXNFaDZybXYzWmt5?= =?utf-8?B?bDdIelc1NVZ6dXRlYlJDdFNpeFBEMXFwclFybmlNcmpCeHM3MWdENE1Kb0VX?= =?utf-8?B?WGRWaS94T1VLWHQzcVpueFRaVk1nbWV0K1Z2Y1lJcjB0MWI1bFpoTTZXd29W?= =?utf-8?B?dHJzVlRkL1U3UTNranRBdnFxRFFaOGZYTTRGd1NQZjFpbnlDc3hnMmp6SjlB?= =?utf-8?B?R09OWERONjBzajRuZzNkK000blJpSHlYaHRaLzh6Qi9VakRoby9LUlgwbGJl?= =?utf-8?B?UGhoQnQrNm9LR0dtaTRJemxIak1NOENILzFwbHcrYXNIWWEvQUEzZE9MZ05j?= =?utf-8?B?cXZqQ1VRZmpwTURiY1ZiemJqdDJzOGx4SDVCaWpzQ3hja3lrNnhHS05TWTBa?= =?utf-8?B?ZnM4UDRtdWhVYzFQTysyalJDWVRnbWpaZ3kvUnZvL3AyYTNZMDkwbEpTSlp5?= =?utf-8?B?cHFaRVUvWEFYd3BlcC8rR2xSdytKSDZocEZGYW9iQ0s1T2dYNFJ3blpaS0Ja?= =?utf-8?B?KzN5cnp0Y1lPaGNtV25ydlUrMGVMdGFmdXgzOHk5cjB6c3FyZW5HeG1pQzY1?= =?utf-8?B?OEFIZXNGVklqUEtxZkQ5TGpUNDlRaStkdGpHTkd1aTIySmZaVU5TYVphWDRW?= =?utf-8?B?VFdTREYzcllOdEFwMWY2QTdSc1pRbWhlb043amJVTENNVTVMbTd4QVBrL1o2?= =?utf-8?B?OU0yY1lRamJ1alJ5cm8zMnRLWTBPOERHUmFZSityenEvSnNpbHAweXc3VDV3?= =?utf-8?B?dklqWU9weWw1RGVRWlB1VkgrNkxKYlI4VkVSRkRLT21lSVNhMXNvLzN1S3RZ?= =?utf-8?B?VlVwSXFINjk2WlZkOEZ6YVNLcHAzM2o3MkE1WmdFN294T013ZUxGMndGYWZ4?= =?utf-8?B?RGhQQW1uK1I3U3hpVG9MRDN5MllBVDAxK0NOR21WdWJYRnloWjJrVEk2TnEv?= =?utf-8?B?ZmxtaGdhVXNCU2lIR2o4SDVsYmdpakgzYjJJYjh6WnRhak9hNmJnd0pEZGZL?= =?utf-8?B?RUljYW1UZE5TRlhSN0p6WWl3SkpXbmIyL2NSMjd0Y0RFbUhySTJTQVdNMW5M?= =?utf-8?Q?Z/dBPvNeG5CkirnDqUylLSDNf?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41ffbc2c-292a-4dd4-e515-08daef0d9c45 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2023 11:11:36.3973 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BtYRtnUuOTh34jTC7v99gUGKdyAvXUTJ6Q5xC1y9n0jzXfoi7mQYLrs1DUj1boSZ3Rg/Cs9zJQMtuLAj2KHx2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6929 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1672917127015100001 Content-Type: text/plain; charset="utf-8" This centralizes section name and attribute setting, thus simplifying future changes to either of these. Signed-off-by: Jan Beulich --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -57,10 +57,10 @@ static inline int rdmsr_amd_safe(unsigne int err; =20 asm volatile("1: rdmsr\n2:\n" - ".section .fixup,\"ax\"\n" + _ASM_FIXUP "\n" "3: movl %6,%2\n" " jmp 2b\n" - ".previous\n" + _ASM_FIXUP_END "\n" _ASM_EXTABLE(1b, 3b) : "=3Da" (*lo), "=3Dd" (*hi), "=3Dr" (err) : "c" (msr), "D" (0x9c5a203a), "2" (0), "i" (-EFAULT)); @@ -74,10 +74,10 @@ static inline int wrmsr_amd_safe(unsigne int err; =20 asm volatile("1: wrmsr\n2:\n" - ".section .fixup,\"ax\"\n" + _ASM_FIXUP "\n" "3: movl %6,%0\n" " jmp 2b\n" - ".previous\n" + _ASM_FIXUP_END "\n" _ASM_EXTABLE(1b, 3b) : "=3Dr" (err) : "c" (msr), "a" (lo), "d" (hi), "D" (0x9c5a203a), --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -1607,11 +1607,11 @@ static void load_segments(struct vcpu *n #define TRY_LOAD_SEG(seg, val) \ asm volatile ( "1: mov %k[_val], %%" #seg "\n\t" \ "2:\n\t" \ - ".section .fixup, \"ax\"\n\t" \ + _ASM_FIXUP "\n\t" \ "3: xor %k[ok], %k[ok]\n\t" \ " mov %k[ok], %%" #seg "\n\t" \ " jmp 2b\n\t" \ - ".previous\n\t" \ + _ASM_FIXUP_END "\n\t" \ _ASM_EXTABLE(1b, 3b) \ : [ok] "+r" (all_segs_okay) \ : [_val] "rm" (val) ) --- a/xen/arch/x86/extable.c +++ b/xen/arch/x86/extable.c @@ -164,11 +164,11 @@ static int __init cf_check stub_selftest =20 asm volatile ( "INDIRECT_CALL %[stb]\n" ".Lret%=3D:\n\t" - ".pushsection .fixup,\"ax\"\n" + _ASM_FIXUP "\n" ".Lfix%=3D:\n\t" "pop %[exn]\n\t" "jmp .Lret%=3D\n\t" - ".popsection\n\t" + _ASM_FIXUP_END "\n\t" _ASM_EXTABLE(.Lret%=3D, .Lfix%=3D) : [exn] "+m" (res) ASM_CALL_CONSTRAINT : [stb] "r" (addr), "a" (tests[i].rax)); --- a/xen/arch/x86/i387.c +++ b/xen/arch/x86/i387.c @@ -67,7 +67,7 @@ static inline void fpu_fxrstor(struct vc asm volatile ( /* See below for why the operands/constraints are this way. */ "1: " REX64_PREFIX "fxrstor (%2)\n" - ".section .fixup,\"ax\" \n" + _ASM_FIXUP "\n" "2: push %%"__OP"ax \n" " push %%"__OP"cx \n" " push %%"__OP"di \n" @@ -79,7 +79,7 @@ static inline void fpu_fxrstor(struct vc " pop %%"__OP"cx \n" " pop %%"__OP"ax \n" " jmp 1b \n" - ".previous \n" + _ASM_FIXUP_END "\n" _ASM_EXTABLE(1b, 2b) : : "m" (*fpu_ctxt), "i" (sizeof(*fpu_ctxt) / 4), "R" (fpu_ctxt)= ); @@ -87,7 +87,7 @@ static inline void fpu_fxrstor(struct vc case 4: case 2: asm volatile ( "1: fxrstor %0 \n" - ".section .fixup,\"ax\"\n" + _ASM_FIXUP "\n" "2: push %%"__OP"ax \n" " push %%"__OP"cx \n" " push %%"__OP"di \n" @@ -99,7 +99,7 @@ static inline void fpu_fxrstor(struct vc " pop %%"__OP"cx \n" " pop %%"__OP"ax \n" " jmp 1b \n" - ".previous \n" + _ASM_FIXUP_END "\n" _ASM_EXTABLE(1b, 2b) : : "m" (*fpu_ctxt), "i" (sizeof(*fpu_ctxt) / 4) ); --- a/xen/arch/x86/include/asm/asm_defns.h +++ b/xen/arch/x86/include/asm/asm_defns.h @@ -79,6 +79,15 @@ register unsigned long current_stack_poi #define _ASM_EXTABLE(from, to) _ASM__EXTABLE(, from, to) #define _ASM_PRE_EXTABLE(from, to) _ASM__EXTABLE(.pre, from, to) =20 +/* Exception recovery code section */ +#ifdef __ASSEMBLY__ +# define _ASM_FIXUP .pushsection .fixup, "ax", @progbits +# define _ASM_FIXUP_END .popsection +#else +# define _ASM_FIXUP " .pushsection .fixup, \"ax\", @progbits" +# define _ASM_FIXUP_END " .popsection" +#endif + #ifdef __ASSEMBLY__ =20 #ifdef HAVE_AS_QUOTED_SYM --- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h +++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h @@ -579,9 +579,9 @@ static inline int __vmxon(u64 addr) "1: " VMXON_OPCODE MODRM_EAX_06 "\n" " setna %b0 ; neg %0\n" /* CF=3D=3D1 or ZF=3D=3D1 --> rc =3D -1 = */ "2:\n" - ".section .fixup,\"ax\"\n" + _ASM_FIXUP "\n" "3: sub $2,%0 ; jmp 2b\n" /* #UD or #GP --> rc =3D -2 */ - ".previous\n" + _ASM_FIXUP_END "\n" _ASM_EXTABLE(1b, 3b) : "=3Dq" (rc) : "0" (0), "a" (&addr) --- a/xen/arch/x86/include/asm/msr.h +++ b/xen/arch/x86/include/asm/msr.h @@ -44,10 +44,10 @@ static inline void wrmsrl(unsigned int m uint32_t lo_, hi_; \ __asm__ __volatile__( \ "1: rdmsr\n2:\n" \ - ".section .fixup,\"ax\"\n" \ + _ASM_FIXUP "\n" \ "3: xorl %0,%0\n; xorl %1,%1\n" \ " movl %5,%2\n; jmp 2b\n" \ - ".previous\n" \ + _ASM_FIXUP_END "\n" \ _ASM_EXTABLE(1b, 3b) \ : "=3Da" (lo_), "=3Dd" (hi_), "=3D&r" (rc_) \ : "c" (msr), "2" (0), "i" (-EFAULT)); \ @@ -64,9 +64,9 @@ static inline int wrmsr_safe(unsigned in =20 __asm__ __volatile__( "1: wrmsr\n2:\n" - ".section .fixup,\"ax\"\n" + _ASM_FIXUP "\n" "3: movl %5,%0\n; jmp 2b\n" - ".previous\n" + _ASM_FIXUP_END "\n" _ASM_EXTABLE(1b, 3b) : "=3D&r" (rc) : "c" (msr), "a" (lo), "d" (hi), "0" (0), "i" (-EFAULT)); --- a/xen/arch/x86/include/asm/uaccess.h +++ b/xen/arch/x86/include/asm/uaccess.h @@ -160,10 +160,10 @@ struct __large_struct { unsigned long bu ) \ "1: mov"itype" %"rtype"[val], (%[ptr])\n" \ "2:\n" \ - ".section .fixup,\"ax\"\n" \ + " " _ASM_FIXUP "\n" \ "3: mov %[errno], %[ret]\n" \ " jmp 2b\n" \ - ".previous\n" \ + _ASM_FIXUP_END "\n" \ _ASM_EXTABLE(1b, 3b) \ : [ret] "+r" (err), [ptr] "=3D&r" (dummy_) \ GUARD(, [scr1] "=3D&r" (dummy_), [scr2] "=3D&r" (dummy_)) \ @@ -177,11 +177,11 @@ struct __large_struct { unsigned long bu ) \ "1: mov (%[ptr]), %"rtype"[val]\n" \ "2:\n" \ - ".section .fixup,\"ax\"\n" \ + " " _ASM_FIXUP "\n" \ "3: mov %[errno], %[ret]\n" \ " xor %k[val], %k[val]\n" \ " jmp 2b\n" \ - ".previous\n" \ + _ASM_FIXUP_END "\n" \ _ASM_EXTABLE(1b, 3b) \ : [ret] "+r" (err), [val] ltype (x), \ [ptr] "=3D&r" (dummy_) \ --- a/xen/arch/x86/pv/misc-hypercalls.c +++ b/xen/arch/x86/pv/misc-hypercalls.c @@ -251,11 +251,11 @@ long do_set_segment_base(unsigned int wh * re-read %gs and compare against the input. */ asm volatile ( "1: mov %[sel], %%gs\n\t" - ".section .fixup, \"ax\", @progbits\n\t" + _ASM_FIXUP "\n\t" "2: mov %k[flat], %%gs\n\t" " xor %[sel], %[sel]\n\t" " jmp 1b\n\t" - ".previous\n\t" + _ASM_FIXUP_END "\n\t" _ASM_EXTABLE(1b, 2b) : [sel] "+r" (sel) : [flat] "r" (FLAT_USER_DS32) ); --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -550,9 +550,9 @@ static void show_trace(const struct cpu_ =20 /* Guarded read of the stack top. */ asm ( "1: mov %[data], %[tos]; 2:\n" - ".pushsection .fixup,\"ax\"\n" + _ASM_FIXUP "\n" "3: movb $1, %[fault]; jmp 2b\n" - ".popsection\n" + _ASM_FIXUP_END "\n" _ASM_EXTABLE(1b, 3b) : [tos] "+r" (tos), [fault] "+qm" (fault) : [data] "m" (*sp) ); =20 --- a/xen/arch/x86/usercopy.c +++ b/xen/arch/x86/usercopy.c @@ -38,12 +38,12 @@ unsigned int copy_to_guest_ll(void __use " mov %[aux],%[cnt]\n" "1: rep movsb\n" /* ...remainder copied as bytes */ "2:\n" - ".section .fixup,\"ax\"\n" + " " _ASM_FIXUP "\n" "5: add %[aux], %[cnt]\n" " jmp 2b\n" "3: lea (%q[aux], %q[cnt], "STR(BYTES_PER_LONG)"), %[cnt]\n" " jmp 2b\n" - ".previous\n" + " " _ASM_FIXUP_END "\n" _ASM_EXTABLE(4b, 5b) _ASM_EXTABLE(0b, 3b) _ASM_EXTABLE(1b, 2b) @@ -81,7 +81,7 @@ unsigned int copy_from_guest_ll(void *to " mov %[aux], %[cnt]\n" "1: rep movsb\n" /* ...remainder copied as bytes */ "2:\n" - ".section .fixup,\"ax\"\n" + " " _ASM_FIXUP "\n" "5: add %[aux], %[cnt]\n" " jmp 6f\n" "3: lea (%q[aux], %q[cnt], "STR(BYTES_PER_LONG)"), %[cnt]\n" @@ -92,7 +92,7 @@ unsigned int copy_from_guest_ll(void *to " xchg %[aux], %%eax\n" " mov %k[from], %[cnt]\n" " jmp 2b\n" - ".previous\n" + " " _ASM_FIXUP_END "\n" _ASM_EXTABLE(4b, 5b) _ASM_EXTABLE(0b, 3b) _ASM_EXTABLE(1b, 6b) @@ -149,10 +149,10 @@ unsigned int clear_guest_pv(void __user " mov %[bytes], %[cnt]\n" "1: rep stosb\n" "2:\n" - ".section .fixup,\"ax\"\n" + " " _ASM_FIXUP "\n" "3: lea (%q[bytes], %q[longs], "STR(BYTES_PER_LONG)"), %[cnt= ]\n" " jmp 2b\n" - ".previous\n" + " " _ASM_FIXUP_END "\n" _ASM_EXTABLE(0b,3b) _ASM_EXTABLE(1b,2b) : [cnt] "=3D&c" (n), [to] "+D" (to), [scratch1] "=3D&r" (dummy= ), --- a/xen/arch/x86/x86_64/compat/entry.S +++ b/xen/arch/x86/x86_64/compat/entry.S @@ -321,11 +321,11 @@ __UNLIKELY_END(compat_bounce_null_select mov %al, TRAPBOUNCE_flags(%rdx) ret =20 -.section .fixup,"ax" + _ASM_FIXUP .Lfx13: xorl %edi,%edi jmp .Lft13 -.previous + _ASM_FIXUP_END _ASM_EXTABLE(.Lft1, dom_crash_sync_extable) _ASM_EXTABLE(.Lft2, compat_crash_page_fault) _ASM_EXTABLE(.Lft3, compat_crash_page_fault_4) @@ -346,9 +346,9 @@ compat_crash_page_fault: movl %esi,%edi call show_page_walk jmp dom_crash_sync_extable -.section .fixup,"ax" + _ASM_FIXUP .Lfx14: xorl %edi,%edi jmp .Lft14 -.previous + _ASM_FIXUP_END _ASM_EXTABLE(.Lft14, .Lfx14) --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -580,7 +580,7 @@ __UNLIKELY_END(create_bounce_frame_bad_b mov %al, TRAPBOUNCE_flags(%rdx) ret =20 - .pushsection .fixup, "ax", @progbits + _ASM_FIXUP # Numeric tags below represent the intended overall %rsi adjustmen= t. domain_crash_page_fault_6x8: addq $8,%rsi @@ -616,7 +616,7 @@ ENTRY(dom_crash_sync_extable) #endif xorl %edi,%edi jmp asm_domain_crash_synchronous /* Does not return */ - .popsection + _ASM_FIXUP_END #endif /* CONFIG_PV */ =20 /* --- CODE BELOW THIS LINE (MOSTLY) NOT GUEST RELATED --- */ --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -1260,11 +1260,11 @@ static inline int mkec(uint8_t e, int32_ block_speculation(); /* SCSB */ \ asm volatile ( pre "\n\tINDIRECT_CALL %[stub]\n\t" post "\n" \ ".Lret%=3D:\n\t" \ - ".pushsection .fixup,\"ax\"\n" \ + _ASM_FIXUP "\n" \ ".Lfix%=3D:\n\t" \ "pop %[exn]\n\t" \ "jmp .Lret%=3D\n\t" \ - ".popsection\n\t" \ + _ASM_FIXUP_END "\n\t" \ _ASM_EXTABLE(.Lret%=3D, .Lfix%=3D) = \ : [exn] "+g" (stub_exn.info) ASM_CALL_CONSTRAINT, \ constraints, \ --- a/xen/arch/x86/xstate.c +++ b/xen/arch/x86/xstate.c @@ -45,10 +45,10 @@ static inline bool xsetbv(u32 index, u64 =20 asm volatile ( "1: .byte 0x0f,0x01,0xd1\n" "3: \n" - ".section .fixup,\"ax\" \n" + _ASM_FIXUP "\n" "2: xor %0,%0 \n" " jmp 3b \n" - ".previous \n" + _ASM_FIXUP_END "\n" _ASM_EXTABLE(1b, 2b) : "+a" (lo) : "c" (index), "d" (hi)); @@ -403,10 +403,10 @@ void xrstor(struct vcpu *v, uint64_t mas #define _xrstor(insn) \ asm volatile ( "1: .byte " insn "\n" \ "3:\n" \ - " .section .fixup,\"ax\"\n" \ + " " _ASM_FIXUP "\n" \ "2: incl %[faults]\n" \ " jmp 3b\n" \ - " .previous\n" \ + " " _ASM_FIXUP_END "\n" \ _ASM_EXTABLE(1b, 2b) \ : [mem] "+m" (*ptr), [faults] "+g" (faults) \ : [lmask] "a" (lmask), [hmask] "d" (hmask), \ From nobody Sat Apr 27 09:59:38 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1672917148; cv=pass; d=zohomail.com; s=zohoarc; b=k5XytPmlQ5iMJmS2Wqnld0Dj9d7ZPnNhbFE2acqMjWOPXlSwxNEl166wWI+xkx8A+sjkhnSnICGhwRxccj5Nfn1x2d3sCvyuOfNCDAKuprTku/lVsNhWeesl06r+GTiKWa/yOtZ5h36wgEHuwTo88953gcunZUEFP9I6ZdnMvfI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672917148; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NJJFY6hYgfpPLoX7W5+fl1W4cpHjk669sUfN4cB1eO4=; b=Alfb6dFbUWj1FfBjCboo1ntNUkZlRHhRPs5EBmltuP+cqzTGxcRs7bMnZDIP52uxrGirv09Rdv/uAo2/8Eu021HWPL7LjlfuKq/lz/UD2hrBt+ISdesBZpa+JT4v2H2VqGrv1577W73BNegCDDLEhaD6W1J45thCXi5TnIuodfY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1672917148258259.77907474009555; Thu, 5 Jan 2023 03:12:28 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.471821.731832 (Exim 4.92) (envelope-from ) id 1pDOAL-0000xH-3L; Thu, 05 Jan 2023 11:12:09 +0000 Received: by outflank-mailman (output) from mailman id 471821.731832; Thu, 05 Jan 2023 11:12:09 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pDOAK-0000xA-WB; Thu, 05 Jan 2023 11:12:08 +0000 Received: by outflank-mailman (input) for mailman id 471821; Thu, 05 Jan 2023 11:12:07 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pDOAJ-0000K8-F1 for xen-devel@lists.xenproject.org; Thu, 05 Jan 2023 11:12:07 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2087.outbound.protection.outlook.com [40.107.15.87]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c8ef8586-8ce9-11ed-b8d0-410ff93cb8f0; Thu, 05 Jan 2023 12:12:04 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM0PR04MB6929.eurprd04.prod.outlook.com (2603:10a6:208:181::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 11:12:04 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 11:12:04 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c8ef8586-8ce9-11ed-b8d0-410ff93cb8f0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dyXTtLgnBsZZO9u37fZXGeTTu5JWvKD1DVDmwSnNIsJQhB4siXfK9v9Tcogv9xqtAuOJ34+E92vtmDxOo1cXP0yuIguQPvURdOmjE4EqTkJiDgYvqu+ZeL6PIfUedMqOIouLtV9Key2oj7EoCKMZbh8UbGmDN8raP3k7zcKAGMhYbs9nxJh6nST71VLKQhm1mwZfnQfTm4y9gaUlQFKoa+ecGv/jux4cmyVFNe5pkPkto2RAvnovUuynVzsU6tYFrhjiqqmYA3p9mH3JoQh29hsxMgwPcHBeTDHkVxQbI41HRxdZi9QXUiQsd0qv5DNNZLgk2PXzdYPkWaTcKd3yyg== 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=NJJFY6hYgfpPLoX7W5+fl1W4cpHjk669sUfN4cB1eO4=; b=Gl2XsCoFZrKOoBk5spBRrAEktn0fQa577mT5Rnth1Dk6kGV6ksK+avl2viwFwl6P3ElZKsl4MZuSCjWG0Yozb7PPGsBMiGPoAV66uCe1qLMhGzmVEVXzck/Xz0t6QUTnanPEkiFjgKxhZ3beKo16vF2NheRMJ6bhGgVuFTtnB8bOB154N+daxkCHO0+ssF0yJRvuuOxUvkLxmW7astb0J5SDjZLss9JVoqRpjtwmLQi4WaJ6YNNIx4FTmxIIfBYZDyhi/zwA53l6LH8Dp3moRFyrno13sf/oxRL7WEHjPR0vojwTMy2pM4dkwqYi3g/lL2WzH917ZCi1DjHtq74zmA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NJJFY6hYgfpPLoX7W5+fl1W4cpHjk669sUfN4cB1eO4=; b=r9cAfSWtjaYlWbFUtsDO0rIgcMGtWDSdnzVedeNJEcmPFJl/IYnCluiuWlueG4j33u5CQPjW7RYLwsy12Ci2xKnsJS/2hO0onT31j2TYhfCAlQwX+Pc2bsjinKeyS7SL1+5FJ8Us0VrDyXJI+3Quwxn6CYvn+ZwBuJKpYbOoCHfO6CdOUQYO9+nIrML2Be7+U8Dke3CJu+gm3uTXEPf1o0Et9ZMwf0cAt67UhvqZJba78DkPSw1535c8TIuQjvSFB8+H4VyQluEPgoEnJ0KpVz/b1WINzX+S+YyZAEmotC26dZYasfnh35iu4iUvuRy+MNDhaeU+/DrkpmkxpCa8Bw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Thu, 5 Jan 2023 12:12:02 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH 2/2] x86: split .fixup section with new enough gas Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= References: In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0078.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::19) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6929:EE_ X-MS-Office365-Filtering-Correlation-Id: c7427232-bf02-40f8-a2bf-08daef0dacc1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lC9rxu0veaq+jiBLxYuaD8heqYt7pi8bkfVQSigOj/ZB8x23c/gswtkVkwOdqcS6xqwV/gAh1kWxUHwlM3uUgDbLqLz+JGEm/g/JxObZ7TIau6nr95lUV8UQIf0WMfcU+pdlLqHrNj92ggQVkdGa4x/H4ZpW8S1w0alnxaBMTsAJ8XBThlATmdAj0cIxhTyu/tAiuqHNf2Xh7uO5oNjWitCezEXYmb14uU/OC7X92ppMjEyh19THOKQDxWOCtkgUrwexCMb0xsrNSF8namc2Hgm20DFUoLB9QzvEa4l0QSO6mwcF41zG+wJCPD/MmnUzDuiC77Adev8Cbvfn3rRKuGmoYcUsC8X27yp6Zru/UZd0ZSSANf9DkVYzgrOE0mQ/ow45omhfbI2sxhaWoM9EGlgO1b59+dgRigLdqKnee+8MVZ9bT/R9KG5FCOPGq1xk439o1l6h3Tf86f8MIUOf81SWZ33MDUIeyzTGBrCM1u4t663Kzf58YWjTQDVJyKa+TS/0Wp2gQRS3mGZ2DgGZmZ6AZsg/PczsKKD/JaPjfpp3J6HEa7gd6qqcL1KPj6FQ+vB6ThMh6G0Rp6BOjj73392UZpxXGeF0NwccMGvczpAVyJdZze3b8ZagE05rf8rmsLoLc+J5HwBkHisSG2tBthfhr89wrVHC/Q+SjM+ogZB12ybIxOiUuC1pGMKyUhPvZlwKb9a/gs5i6s7QRR0dXM2mXNCPIjyBCWV7i8gBwE4+07FJccqGZgj18OprApUe X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(346002)(366004)(396003)(376002)(136003)(451199015)(31686004)(5660300002)(316002)(8676002)(54906003)(6916009)(2906002)(41300700001)(4326008)(66556008)(66476007)(8936002)(66946007)(6486002)(6506007)(478600001)(36756003)(83380400001)(186003)(86362001)(26005)(2616005)(6512007)(31696002)(38100700002)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cW5FME1OQ3FuMkdlOGNwY2c2MWFQNW8yUkxaMU1HWG5sRDJJK2lFblROaTBr?= =?utf-8?B?ZVVnb3duakVkRDFLSitlNlVkenVTcVZlR0UxdzQyUkdBRU1rZEM2eFVKUVZy?= =?utf-8?B?NXB3QUIwZjVnQ3ZnUjRORVhMSXVCdDFMSkRQSkdOaWZ6azlzc3NyOTFoaVc3?= =?utf-8?B?SE9keEppeG1wRHFRTkxDMXRkMkpYZ1I3dlRSTEQ4NWZGQWJpeFZlVGI3QWtj?= =?utf-8?B?bGVRbEpjc2hvVGNmRGtheFpiUmdoSVdTYjgxeEJnZGxyeWJGY01DbkdqVDF3?= =?utf-8?B?amkzbEQ2UHEzTE9xTkYwdkZ4QzJqN3o5S3FySmFkSFBZQzlTUWtUaVFPUnFw?= =?utf-8?B?VlcyakYzWHpVUVgzUDc1dTMzMTVtRzRxalNFV0RraURjOHdCcm0rY2FuN0hO?= =?utf-8?B?dFRWU1hKeHZmejlNY0ptdmJaZHFUWHVFanZVYkh0eEZnNmVyR3owenMxUEtt?= =?utf-8?B?Mno0dnM3M21QbXZxZXA2Q2JEVzd0NUwyWGQ5dGxuSnJ5UDBRbmxDTzBZNHJk?= =?utf-8?B?eSticjlBdTBXTGM4cFZzM0RzSEJlTnRCT0tVeVNWWTEwU0ZQRHA4ajY5M3lE?= =?utf-8?B?Yi9vS2tYQzZJbW9XZjlNcUtrLzlwQ3ZUZ1VWY0ZMeWJpa2FQcFp6NTVhL3Fx?= =?utf-8?B?RmdxTWZSVit4V2FFdVVncFViN1ZKbnU0RGVJKzFKSC93M1Bya0pTM241ZU1O?= =?utf-8?B?c2IxRVF4ejhWWUVLem9VU005b1l4bWpYbWhmZjZ4ekVFSS8vRjZRU3FZcFMz?= =?utf-8?B?KzF2VmNId09CdEgwWkdXQnJBc3hGeml6OHJGelZ0dDhFRkZrb2JXT3hJK28w?= =?utf-8?B?NmU1bVlCbUtTWkdjdEFGMDZmTDhLUnVxVnc3L2FIQ1NPU2JUOFNCSFhUTDQw?= =?utf-8?B?MUEvN015YlNPRlgxZlNQZDZua0NaTG0xajlGMzJxNVBPZWVjQndNT21RRmxu?= =?utf-8?B?MEgrRVZnamNLcThlR3BzWDg4VC9Cc3Q2dUVYSnorK3lFQWtCOG5JcGdoNEc3?= =?utf-8?B?SlM4YnpTTmZWOVdDV2tWU2l2RkpvaDlhS0lSR3orMXZjb1A2bGxGbkplU2ZH?= =?utf-8?B?V2E2QlhqNGhDa3Uwd0tSOHpnazJ5YkhpNlRpOUd6TDQxeFllWUdud3UrRnVm?= =?utf-8?B?eXBDbzllOWs3RWZLZ2NycGlMLzBNL215Uk9vVnpyWHphelpnWmVCSDZiUVJp?= =?utf-8?B?Z3lCMUZXNDgyRGlFUTBwYzd4bjliemFyYWxsM0xSYWFsU0FTNUdVNjU1Mk16?= =?utf-8?B?WHF1ZGUzV1Q2bk1mTWFwakZwZEV1L2Q0ZnNTNG5Fa2gxdUFjZzJucDJoVkRw?= =?utf-8?B?N0ZWZ1YvYjd0K3NmYVl0L2I1SkNCQzdmYm9XZDlDNjNRdFUzaGF4U24zU0p2?= =?utf-8?B?OE9ZUVlYZ1I3Nmx1a1VIVWtUSnI4N0I1Tk94U0MrN1JoTGNVNzc5TzRXbEpV?= =?utf-8?B?YmUzbGd3MkhHN0J1SWpJazJ0R2FwUXNRWWRqaUczSWxjRmx3SlVSYXdZcm9O?= =?utf-8?B?ODlzWDFYV3hxQzhwanFuQWdNNkVDMUF5TkNnZXFOSkUrRkFPbDJHRW53OThG?= =?utf-8?B?cXVJa0ZwLzVvdDZkdFBQNk5uREZrcytEeVRSWjYwUkh5cFNGN2xPVG4wamhN?= =?utf-8?B?ZkZLQngzWmRxU2VuV3NoSlVQM1lKbUhHK2lTa2dIM3U1NXE2bkNMTmtpbDZX?= =?utf-8?B?dThLajdzeVRRY2hFRnU1cmR6VzZtcFF1Y1dNLzdZd0Q4d0p0blZnekk0amhu?= =?utf-8?B?Qnh4WnZrVWFKeE4vR0JJT3YvbUdSRE5UU01DajFzR2xNVkR3bC9ZTWxJOERP?= =?utf-8?B?VGs3c3N3eGwvVDJvZk96L0dCWlkyOUxMTzV4Mk5iVlJYa042djljMmpxLzBP?= =?utf-8?B?Z2t4bHlFaERQcVFuRjE4NTNrWVU5SzI2TmV1TzlzdmQycDdNem1neFFHcGRm?= =?utf-8?B?dFAzUjBIYTlsRXV5LzJoTlVRem5BVG1Jb3ZCVHFFd2tOREpWQzdRdlhvSVVw?= =?utf-8?B?dkhtbEgydWY3ZWFKTXcrYmVpcXBSV2NNbm9rNG1LazFlQUhGYnE1c2JQa2U5?= =?utf-8?B?YzBkaGs1SnZyaS9FbUhLWS8rWnZ5M2h5VnF4dGxrNGlVVE5xdzl6cDFOZmg5?= =?utf-8?Q?kKn3C+plDyUlzhPCa6SC7RhUZ?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c7427232-bf02-40f8-a2bf-08daef0dacc1 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2023 11:12:04.0674 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HYs/zNKJahfOc5qL3EDW2ibHQ07ZE6zKwKZrrrrslZYiriAQh7Hseqoq2oJI8IdzYcnk0/MUltBfNdqG5klAqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6929 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1672917149277100001 Content-Type: text/plain; charset="utf-8" GNU as, as of version 2.26, allows deriving the name of a section to switch to from the present section's name. For the replacement to occur --sectname-subst needs to be passed to the assembler. Signed-off-by: Jan Beulich --- Similarly (and perhaps of more interest) we could split .ex_table, allowing to reduce the number of entries to search through post-init. --- a/Config.mk +++ b/Config.mk @@ -98,7 +98,7 @@ cc-option =3D $(shell if test -z "`echo 'v # Usage: $(call cc-option-add CFLAGS,CC,-march=3Dwinchip-c6) cc-option-add =3D $(eval $(call cc-option-add-closure,$(1),$(2),$(3))) define cc-option-add-closure - ifneq ($$(call cc-option,$$($(2)),$(3),n),n) + ifneq ($$(call cc-option,$$($(2)),$(firstword $(3)),n),n) $(1) +=3D $(3) endif endef --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -34,6 +34,9 @@ $(call as-option-add,CFLAGS,CC,\ $(call as-option-add,CFLAGS,CC,\ ".L1: .L2: .nops (.L2 - .L1)$$(comma)9",-DHAVE_AS_NOPS_DIRECTIVE) =20 +# Check to see whether the assmbler supports the --sectname-subst option. +$(call cc-option-add,CFLAGS,CC,-Wa$$(comma)--sectname-subst -DHAVE_AS_SECT= NAME_SUBST) + CFLAGS +=3D -mno-red-zone -fpic =20 # Xen doesn't use MMX or SSE interally. If the compiler supports it, also= skip --- a/xen/arch/x86/include/asm/asm_defns.h +++ b/xen/arch/x86/include/asm/asm_defns.h @@ -81,10 +81,18 @@ register unsigned long current_stack_poi =20 /* Exception recovery code section */ #ifdef __ASSEMBLY__ -# define _ASM_FIXUP .pushsection .fixup, "ax", @progbits +# ifdef HAVE_AS_SECTNAME_SUBST +# define _ASM_FIXUP .pushsection .fixup%S, "ax", @progbits +# else +# define _ASM_FIXUP .pushsection .fixup, "ax", @progbits +# endif # define _ASM_FIXUP_END .popsection #else -# define _ASM_FIXUP " .pushsection .fixup, \"ax\", @progbits" +# ifdef HAVE_AS_SECTNAME_SUBST +# define _ASM_FIXUP " .pushsection .fixup%%S, \"ax\", @progbits" +# else +# define _ASM_FIXUP " .pushsection .fixup, \"ax\", @progbits" +# endif # define _ASM_FIXUP_END " .popsection" #endif =20 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -103,6 +103,12 @@ SECTIONS *(.text.__x86_indirect_thunk_*) =20 *(.fixup) + *(.fixup.text) + *(.fixup.text.cold) + *(.fixup.text.unlikely .fixup.text.*_unlikely .fixup.text.unlikely.= *) +#ifdef CONFIG_CC_SPLIT_SECTIONS + *(.fixup.text.*) +#endif *(.gnu.warning) _etext =3D .; /* End of text section */ } PHDR(text) =3D 0x9090 @@ -215,6 +221,8 @@ SECTIONS _sinittext =3D .; *(.init.text) *(.text.startup) + *(.fixup.init.text) + *(.fixup.text.startup) _einittext =3D .; /* * Here are the replacement instructions. The linker sticks them --- a/xen/include/xen/xen.lds.h +++ b/xen/include/xen/xen.lds.h @@ -89,7 +89,9 @@ #define DISCARD_SECTIONS \ /DISCARD/ : { \ *(.text.exit) \ + *(.fixup.text.exit) \ *(.exit.text) \ + *(.fixup.exit.text) \ *(.exit.data) \ *(.exitcall.exit) \ *(.discard) \