From patchwork Tue Apr 12 10:27:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12810351 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CD8D0C433EF for ; Tue, 12 Apr 2022 10:27:55 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.303593.517945 (Exim 4.92) (envelope-from ) id 1neDkL-0003qE-46; Tue, 12 Apr 2022 10:27:41 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 303593.517945; Tue, 12 Apr 2022 10:27:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1neDkL-0003q7-14; Tue, 12 Apr 2022 10:27:41 +0000 Received: by outflank-mailman (input) for mailman id 303593; Tue, 12 Apr 2022 10:27:40 +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 1neDkK-0003py-7I for xen-devel@lists.xenproject.org; Tue, 12 Apr 2022 10:27:40 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 2d733252-ba4b-11ec-8fbc-03012f2f19d4; Tue, 12 Apr 2022 12:27:39 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-23-iA43Ylw9MhGFfjsVmbShfQ-1; Tue, 12 Apr 2022 12:27:37 +0200 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by DBBPR04MB6315.eurprd04.prod.outlook.com (2603:10a6:10:d0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.29; Tue, 12 Apr 2022 10:27:36 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5592:2abe:fb16:6cd1]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5592:2abe:fb16:6cd1%6]) with mapi id 15.20.5144.029; Tue, 12 Apr 2022 10:27:36 +0000 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: 2d733252-ba4b-11ec-8fbc-03012f2f19d4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1649759258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pjldoVbWk4dOoIvq/Xe9YOBnGVbnNaI2DQunigbNhnw=; b=S5iuABdzAuPduQJ1a4zdjtE/SEPlZL0WjmvP2ZaYli0L0ozr9T1nxYAX9RiYPUM8KG67MB yMj/Or8ZMDWtpMLk1ljyAp0PfE+S6To2tgeUv8naDEqCnDeWhgJQEZ/XgeBnTZw5EZwPyJ UK5WEJsnStb8cApumn1kUEkqZd5XWGM= X-MC-Unique: iA43Ylw9MhGFfjsVmbShfQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nLd7WcPhzCqHZ5EC+x1II3oUv4hDAeYSjf/1gLBcgWZ5SX0urld8vq5kDaqfDdHQJvtkSDd3rsVwyaludxlVuxBv9Lj5TZREGv9aLJ5utugrNQGvJS/P1aRn83bPNU8SsmGDzbYXo9AQ1sKXBwdcfTTdLYGeemOHl17AsuYplepCtWNahnW3FTT/vOZgSj9B5zs8gqnNjgZsUjXt+p/vYfjYixFpJpAQ1RO5n/jaSlCIDzY94vqiz+xxYzsnoYglXh0vwJYl73nZijDsiYKberCVNsdx+YoyE1nhTunf17n/61nGYb8Urzuh7jd4pJ1kaVv0qieOHTCKnx4jZ2Pvng== 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=pjldoVbWk4dOoIvq/Xe9YOBnGVbnNaI2DQunigbNhnw=; b=NB7uN0u/S2p4uLXyb4L68sZqtmZfpc2Bja0To7DY2xzoTKNV0Np7DnYrJ8j+XywiTGl1/GeRMQvEpS9mPJXvkeSvWinFZk5gjX2L0njf7CIRCosLHDVBP+PM1gOvyJlu+AzFhrMQ00Au8C4i7jgrwdI7fFOoKydFeE4AAKYz11TKOE1svHLa57YkRWK2C8D9z9HRFBJUJ6v0OPh02bPrqp14Quu5Fkx0rCeAQqenpzh4d8Cg5THo8DXEB0pX+WmsAIVczTpQxfFoZwbbHv2SjyNWcnpHM2sPepiGLS5BWNf71+ttUmdugmCYvvLIuVb1A9IHAu+d0/1PE9YEap8S9w== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <23509d85-8a73-4d81-7ade-435daf46fcd6@suse.com> Date: Tue, 12 Apr 2022 12:27:34 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: [PATCH 1/2] x86: improve .debug_line contents for assembly sources 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: X-ClientProxiedBy: AM6P192CA0070.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:82::47) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 14b6ecd3-3354-43f6-3356-08da1c6f0ff0 X-MS-TrafficTypeDiagnostic: DBBPR04MB6315:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kufnx0Qp1M6aE8YATIyKc0ticivtTRk++PCkcmk3nwqKZosYMfj4jL/lX1f1RyRqmtN6RPfBjo3Gp1NmfN5qVQxUiao59SmVEdkI1yyjmJlHzzw/8A2UMhc+s/HwRZSvXS2/Bqx9O0a90HCCxwXX1k8yB/kPr2ruXZurhNNqLkV115p7UW36Ef8IVJnScCUZZWpSZHlgff+jTaXSvSCsa5BPnkiv2C2oEStbeM5T9r/k3eN+K17D7265w/dVp5y6HSSjsON2HyEfdkxI9Vjq345+vcsX6oqj2dOpqQQWPHGn4zHF+jAwyZK0NFZCISQTIDO3jNS1HX06ie59RI8/ijCzotJIJklRfkrNM5/OUe56dMfvwuATDTnQZjqUcS4dmJXVrIAuaIvIEwMQJXxT3Kxgs2cZMw4SrKs3IVMzgX+aTbFZ6Qdk4Qxek162GNwxBtNtd7iU8xSfDut7HCrpjg+TNTX1gbLEuMw0TpJFXeQ1a5ZVbwGxdSOCy2BRFccMH+T6mKiJlJYM3wDn4E48WR8F6rDsSvuVHKgvtQ1GbH3PadNLVhPqh36iCPnr6jnDVnxcYUFV4npcszOVkczmSrxPYqTmaplMA5uKOHVxXcLGrAZY7wrgrJObZm7LaDs4CDl7gue/2rBX2jbIaFgyy63b5526notbnZVWCIrOmPRqZMMXJ5RcXdjdAtjANy3ctfoNrt33UIkg5/wI5gh2jJrMPGDLf2TtQaC6vuBFkVPsa/XywcV72V4T+DYv56HSwBgFcaz9AqLx31wDOonWze+ZvwaRUV1IOlmHV3YX8LZEhi6Jaq81fWdPUSa2LDoMwiBTYOaC6F8ZQ2IacF/H6pcyyIpbyjMBOtfA/D+kz63viyQaaEqSrcBUEvVFp+7tviW86ni+XEK7yHkPCGkRNg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8616.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(83380400001)(5660300002)(8676002)(86362001)(54906003)(6916009)(316002)(6486002)(966005)(36756003)(8936002)(4326008)(508600001)(6512007)(66946007)(31696002)(31686004)(66476007)(66556008)(38100700002)(2906002)(6506007)(186003)(26005)(2616005)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?oV6EPCEbtZQfYg4YktRQoNkW2anv?= =?utf-8?q?TvUVXbpdJcWxLqmEjvtGtDSCx2s0KZxVENeYLzlApUXxgaIAj27HkCpPsXBLgddCS?= =?utf-8?q?FhEV/EYRm7/Md9Lm9UzFDg2YXEyMNMj2DjNZir4KzEuMTDezQpcnocBg4i1ZYZkdi?= =?utf-8?q?p3UswteyrzQ1B1rfz39rVlRIfJKsO6HgJRLNobGVh8kkLPM5u0bysMmmGxgqmLiuz?= =?utf-8?q?vOcVM1mS4m1NaZ452Yr2qNvawmLPXHTWSczod3eK9LxJ18XiDLV4mJ3jhZGQ+zbqe?= =?utf-8?q?b1NbZbohGnM1ar1Cpfc3hwg/DCqf7Tw38rrtapP813vyWE8gPWKa/1GUe6F3gEMuK?= =?utf-8?q?0IeJYOzVTHdjZKr8gtd4Ngumq4JNMBxraUkW744SoxEjlQkFiPPUQM5pT0zPR+rJS?= =?utf-8?q?K7uoEhm9V0JS4r6i1edzDpriZSrCoDSKa9fmjIhXC1GZMC1wAH8kuuCI/oJi2a+Zv?= =?utf-8?q?UAL8aVINNR+23ApruezopL3+2yHDKvLio76IiAhwVVJhSKtdpaWcKr4fyk0v6gGwh?= =?utf-8?q?eFM4pGE6PsRnPoCRRsY/0pQi3eizRF7hqboFA7/+eEr0d9zggmFk6Gh815NV/Ehzx?= =?utf-8?q?HUBH+6pWWvDyGif/esIpM8mFa6CVHBHLj+AQ9ba+7KNlNP+XiLvKttCyiDeS1RYx+?= =?utf-8?q?PcK6wiMMSJ1Lh2X1HDVyUfI3X6N3Gm8Ij5cmUtbTaxNSddrDtrMe7SwO9GQzsufI7?= =?utf-8?q?ERBPMKYgXwrG8UsrWhekZZYPUe4k1i62TtLL9lYFBq4ewWGG1RPFVxFCuvXCYn5j5?= =?utf-8?q?JfC5sOLInswtzHMTqjrjTM/VXb//j8GrrySVBf+VdRkwABGfvvR9cWFbpaaCtmEX9?= =?utf-8?q?ahSQLGstSk3d6UglrqaE/hqRX9Ho1jPOMgES3K4HyC1SuTbxG6GZ7rZk89P62llTj?= =?utf-8?q?uSuQlA1v7xt+XFA2XKS9SiKWBTN3N3COAkF1GlqBn/TikPoAmgngPQR1GhqsSboHk?= =?utf-8?q?mcJgImG9dEXmP01Ypti3SX2qa0TFCUPhrRlEPd5A1by1PueLEZKviTWBp3rZdUolk?= =?utf-8?q?Q0J8KA2KM/C0j7wU+QwLsQ2ENeOpMkyhK3wpqVIv3n4LKGsE6gocAeGH6kRnIyZM/?= =?utf-8?q?HiZy68do/BL27Ou1QuxU2UmUKOqVEeoJnLRujbQ9LceWW9GBVPb/RVypNeCB/ZHt0?= =?utf-8?q?F7AuzV3sC5P7jV7BCtDpgwIHjqJrcXU8wkAaZO25bSOYXTqvns2Zi9aoTfFlGYjrX?= =?utf-8?q?2IHt85S/M13z4jqvIb5whQJRkeFoUqZnOaM104Z1+EzTw4g20i6f4Rvbf8BrOKxW8?= =?utf-8?q?9jlIHE2eF3kXoxm8wAunf8nbZK8THjQz+zULiIaGzL+lUzMDv55wRThNl+oHaK3m6?= =?utf-8?q?3XvZpXUmLYj0k54WbMxufGn/H0kZlI3QOwS2kazg0O+UW/cu10XGuTnPAkHau556g?= =?utf-8?q?qyGwsmk1nFusDhsyxBENiFXLpnsDZPQVjpNXzcWlzGiZfbTQs3dRayUGwqJTWmrE2?= =?utf-8?q?wRTbz/B3VETYyoLXyweSzeX3dzQ9d1SS+ollzN2JUVxjlY/nKCBWQFGIMGEIN6t+B?= =?utf-8?q?TAQfnbQ3GCEgz2i2FNuig+Pc+KsQsXzX/2xyZkiwwPEYHeV+t7weR4tUt0tiXZSX3?= =?utf-8?q?3py7kIPsF1e+XEUIAVrs/Z2rH7K6G0Op+eEL0bLjI0FyaTRyPTNEQ/yFgN1G/cGfp?= =?utf-8?q?BUQouo2W4aPhEkfYzLeWMPcQ9qLSQdlQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 14b6ecd3-3354-43f6-3356-08da1c6f0ff0 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2022 10:27:36.1787 (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: /uwwEmx6lON2cv5Nme+0DQaTjxyio6v44rD1CyMkncCIIKoUHWMO/BoEDzDSSfbr21XZCe1A62J4Lhp8H6fWMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB6315 While future gas versions will allow line number information to be generated for all instances of .irp and alike [1][2], the same isn't true (nor immediately intended) for .macro [3]. Hence macros, when they do more than just invoke another macro or issue an individual insn, want to have .line directives (in header files also .file ones) in place. Signed-off-by: Jan Beulich [1] https://sourceware.org/git?p=binutils-gdb.git;a=commitdiff;h=7992631e8c0b0e711fbaba991348ef6f6e583725 [2] https://sourceware.org/git?p=binutils-gdb.git;a=commitdiff;h=2ee1792bec225ea19c71095cee5a3a9ae6df7c59 [3] https://sourceware.org/git?p=binutils-gdb.git;a=commitdiff;h=6d1ace6861e999361b30d1bc27459ab8094e0d4a Acked-by: roger Pau Monné --- Using .file has the perhaps undesirable side effect of generating a fair amount of (all identical) STT_FILE entries in the symbol table. We also can't use the supposedly assembler-internal (and hence undocumented) .appfile anymore, as it was removed [4]. Note that .linefile (also internal/undocumented) as well as the "# " constructs the compiler emits, leading to .linefile insertion by the assembler, aren't of use anyway as these are processed and purged when processing .macro [3]. [4] https://sourceware.org/git?p=binutils-gdb.git;a=commitdiff;h=c39e89c3aaa3a6790f85e80f2da5022bc4bce38b --- a/xen/arch/x86/include/asm/spec_ctrl_asm.h +++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h @@ -24,6 +24,8 @@ #include #include +#define FILE_AND_LINE .file __FILE__; .line __LINE__ + /* * Saving and restoring MSR_SPEC_CTRL state is a little tricky. * @@ -89,6 +91,7 @@ */ .macro DO_OVERWRITE_RSB tmp=rax + FILE_AND_LINE /* * Requires nothing * Clobbers \tmp (%rax by default), %rcx @@ -137,6 +140,7 @@ .endm .macro DO_SPEC_CTRL_ENTRY maybexen:req + FILE_AND_LINE /* * Requires %rsp=regs (also cpuinfo if !maybexen) * Requires %r14=stack_end (if maybexen) @@ -171,6 +175,7 @@ .endm .macro DO_SPEC_CTRL_EXIT_TO_XEN + FILE_AND_LINE /* * Requires %rbx=stack_end * Clobbers %rax, %rcx, %rdx @@ -192,6 +197,7 @@ .endm .macro DO_SPEC_CTRL_EXIT_TO_GUEST + FILE_AND_LINE /* * Requires %eax=spec_ctrl, %rsp=regs/cpuinfo * Clobbers %rcx, %rdx @@ -241,6 +247,7 @@ * been reloaded. */ .macro SPEC_CTRL_ENTRY_FROM_INTR_IST + FILE_AND_LINE /* * Requires %rsp=regs, %r14=stack_end * Clobbers %rax, %rcx, %rdx @@ -288,6 +295,7 @@ UNLIKELY_DISPATCH_LABEL(\@_serialise): /* Use when exiting to Xen in IST context. */ .macro SPEC_CTRL_EXIT_TO_XEN_IST + FILE_AND_LINE /* * Requires %rbx=stack_end * Clobbers %rax, %rcx, %rdx --- a/xen/arch/x86/indirect-thunk.S +++ b/xen/arch/x86/indirect-thunk.S @@ -12,6 +12,7 @@ #include .macro IND_THUNK_RETPOLINE reg:req + .line __LINE__ call 2f 1: lfence