From nobody Sat May 18 07:48:41 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=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1646747445; cv=pass; d=zohomail.com; s=zohoarc; b=Zoz3VuhBcB1fSYpxPp0zXHML3x++WZBBFp+y8LyafXDT6SDacbz7LuKtFKOGpjYV6QzMLiqwFYU87xRSdub2SORMDQV3iMFij/rSL+q6vR2TfV1wq0hxuzuwGOiQ4b6M6yeRIDrCS8Jhi6LUxzYIYmm5fnx9j6og6I+mIlWRu3I= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646747445; 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=gV5x7p3LQ3FyFctfMgc30qka83QbDX2enU8JqcNIJaI=; b=XraTsYjgSbqc8h2pbOshuLx+DiWQdTo/XTQjxcSh4MZFRFq+PIZJWC/RAfjKyhpAD4vKY7bmV6DidZMdWzFlqplKppn+136BAupg92aDcfYUou74KTyAz2LuNkvc00AzO213A8ECB0tLTvn8fFqBXrUyJPqX0XKu9PWKMAXLHJk= 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=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1646747445583446.59270815444415; Tue, 8 Mar 2022 05:50:45 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.286898.486598 (Exim 4.92) (envelope-from ) id 1nRaEJ-0007vT-MY; Tue, 08 Mar 2022 13:50:23 +0000 Received: by outflank-mailman (output) from mailman id 286898.486598; Tue, 08 Mar 2022 13:50:23 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nRaEJ-0007vM-JP; Tue, 08 Mar 2022 13:50:23 +0000 Received: by outflank-mailman (input) for mailman id 286898; Tue, 08 Mar 2022 13:50:22 +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 1nRaEI-0007uj-HY for xen-devel@lists.xenproject.org; Tue, 08 Mar 2022 13:50:22 +0000 Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id b14eadf7-9ee6-11ec-8eba-a37418f5ba1a; Tue, 08 Mar 2022 14:50:21 +0100 (CET) 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: b14eadf7-9ee6-11ec-8eba-a37418f5ba1a DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1646747421; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=RFoclzFWHJWdzzqlD8wGYy+jZlMc8vH1iUk1TVEYnUQ=; b=cQUE9pLs2bhuI+hQWfI/FJKGB3NPNQKKZk0O3iktv9+C7RSHe0BHGPpD txY9JJfhEgQGW4ykBZg0NUh5f9R7R01XzlSnSAd4RNSbLY/Mao2ceFAJk gKtPdHNLNDjVhqZaYviWimcFGtHuJK8W/98JPrZ4HMqexlJANyzZuW7bV Q=; Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com X-SBRS: 5.1 X-MesageID: 65712261 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:YaZIKaNxESTfkgbvrR1Sl8FynXyQoLVcMsEvi/4bfWQNrUp03jIHn 2UXWG6HaPiOMzHwetgnadm/8xsCu8XVytdjGwto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h ynLQoCYdKjYdleF+lH1dOKJQUBUjclkfJKlYAL/En03FFcMpBsJ00o5wbZi2t4w27BVPivW0 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z6 +VDhKGVEAgTEbDAl+oyAjUGOXtXBPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgmpv35oUQ6+2i 8wxTgNuXUzCYRp2I2gUVZ0MzdezgmTZfGgNwL6SjfVuuDWCpOBr65DTN97Sds2PVN9itE+Sr WLb/Ez0GhgfcteYzFKt8Hihm+vOliPTQ58JGfuz8fsCqEKX7nweDlsRT1TTifO0kFKkUtRTb Ukd4DMzrLMa/VauCNL6WnWQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3OctXiAj3 FKNm9LvBBRsvaeTRHbb8a2bxRuwJCwUIGkqdSICCwwf7LHeTJob10yVCIw5Sejs04OzSWqYL y22QDYWpIUdvPMujqqB0k3LjDyD97SXZFQc31CCNo661T9RaImgbo2uzFHU6/dcMYqUJmW8U Gg4d9u2t75XU8zU/MCZaKBURezyua7ZWNHJqQM3R/EcGyKRF2lPlGy6yBV3Pw9XP8kNYlcFi 2eD6FoKtPe/0JZHBJKbgr5d6ex3lcAM9vy/D5g4i+aihLArLGdrGwk0OSatM5jFyhRErE3GE c7znTyQJXgbE7976zG9Wv0Q17Qmrghnmz+NG8+rkk/+gefFDJJwdVvjGAHVBgzexPnYyDg5D v4Fb5fao/mheLeWjtbrHX47cglRcClT6WHeoM1LbO+TSjeK60l6Y8I9NYgJItQ/94wMz7+g1 ijkBidwlQqu7VWaeF7iQi0yN9vSsWNX8CtT0doEZg3zhRDOoO+Hsc8iSnfAVeV/pLw5k68uF KVtlgfpKq0ndwkrMg81NPHVhIdjaA6qlUSJOS+kayI4ZJluW0rC/dqMQ+cl3HBRZsZrnaPSe 4Gd6z4= IronPort-HdrOrdr: A9a23:SP6/+qkMyFRQtt/M6fZFaZn6xXLpDfIo3DAbv31ZSRFFG/Fw8P re+8jztCWE7Ar5PUtKpTnuAsW9qB/nmqKdgrNwAV7BZmfbUQKTRekJgLcKqAeAJwTOssJbyK d8Y+xfJbTLfD1HZB/BkWqF+gAbsbu6zJw= X-IronPort-AV: E=Sophos;i="5.90,165,1643691600"; d="scan'208";a="65712261" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rw81FjQzhQjXHaTbGrSfbKOc2imQASPLqz1XepPiW6bzWQx9VD6EFGBqKpKYUH7fuOJwDPYTXu4B0qJ/auHkJwEsbnCAYszTnpgFNraB2T9B6dF80qYtOhnPwbkyOSo4Bga8H9q8pO0rN3S/LKBxSWBO9BkV1eedc3mLLGER1rg3bCRw7Jrv6zzwn+yIOx4eRrY4KNfDpYJm5aVvMbn+lO7hB3TbnlX7Tb3eXzEC4K8rpMJMbXGUzLE49TbPPiNZq4K6oVxdqQ7Zj/ivxtrGb2oxPaO9K+NsqiPO9ZqvldKWYhCegKE/kC/PWP6cV963h3Br1lXO2tXge0nYcHTGRQ== 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=gV5x7p3LQ3FyFctfMgc30qka83QbDX2enU8JqcNIJaI=; b=aEUA1CNRyzr6/yHwoRMZmSTDO8AFBE0TD6T9qriAarwD/3zmZDNPipnsi89RTvaC2E4UIaEfI08PPVWxrPethXspVeN6J1QTJZO9oo8ySr8qznyIaZ/W7UP7wxLaj1gIaeIH9v9vBIYjpuFeDFaz+ZGC69i2QKLK/5umFCR0Ys9UX3bjFpOTwItt9iMg9Yf40Dz6j7YfiNjqiZpi0j3QqYSRxJ+XJ6VhhZ+jLSdDFsbzRkOtO43/DUHcxAC2FAmdAtj82Za0tTyxXGSTEi7xugCVT3kqaogOgHt15OoJ3VymIRzwZhcX8eWBoDbL6vmI9bJS6lBvs3VrtzgGsXWq1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gV5x7p3LQ3FyFctfMgc30qka83QbDX2enU8JqcNIJaI=; b=DWO0QOK+CHSJdNyhUNXh63eY/BVPzHKfLf3COlz5lD4fUUaRdpYFkHw9ccW0+CfBkOtcgaM043g4huYuPyJWHiuWB2pIhZWy8oaiza7lTH0L28yXGPjdQ0AR7UMmL6V15rp3sKcdrTOpuQT4Om2uO6QljbnTkQ9Ynlt/rMZSvhU= From: Roger Pau Monne To: CC: Roger Pau Monne , Stefano Stabellini , Julien Grall , Bertrand Marquis , Volodymyr Babchuk , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH v3 1/2] xen/build: put image header into a separate section Date: Tue, 8 Mar 2022 14:49:23 +0100 Message-ID: <20220308134924.83616-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220308134924.83616-1-roger.pau@citrix.com> References: <20220308134924.83616-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LNXP265CA0061.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5d::25) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a1156d19-057e-4840-8556-08da010a9041 X-MS-TrafficTypeDiagnostic: DM5PR03MB2618: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: OFepxCtNADByo1XOVCRLStGNwM3xrmc0zsOmBK/ee1osOkCgUna+RbNLH4L+U3ITJnT2Sntg/0+chCW0d/W+Vg8ygWXnKBPzTwASP7h3zls+stCPlaq0s/S/6UFwtJSvAapX5q4KtrwwHrGAvfPB85vTTH93IgS9lCm6zb3ubgwtxacU47+s9mxkp05ytBxd+Mgk0aHdJ6t1OMXQI21VtA9kL4vQLLQGTHylNCAHPK4DkV9OzkMTwFxdLUc9Gt7Y23dkreFh7Hvye2tpA98BBoYNVkeR9SrtyAEjjFL/tohVXx51Q5MsWgp8GKju3xurVVef1/5GXFbZdgG0ROJ3VEhcImkD+yG4/c0yeThmhF2CFbaPfUN4Gf1W0rRZnrw3rgG8GsU8OFMhPm5XPQivU3VOLY0MGIcdEX13cvEZ1x3aMVLG9Lq3eNMMmMCXl7yeereAfj4/ECWVoEt0qwfCpvhc3qmV+4QHOgOF/e2PDJr3FJDwG1UMFuf0TZrwnLKDX1w+t9eiQlIYQ4KhdEwaxYl/jsPTBaFIi7Fb/fyYlan6eAT77Uj91I7vJz3oP6XnldYFGTx9HfbVWAhcj43k5igCxaGWgdzX36J5ZUcTJXjVyAs/4WioyK5SGlhXkWOnuT6FwHEy7qL3UCi6WwfcSA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(83380400001)(66946007)(4326008)(508600001)(66556008)(66476007)(8676002)(8936002)(5660300002)(6506007)(6666004)(36756003)(6486002)(26005)(2906002)(86362001)(316002)(186003)(38100700002)(6512007)(82960400001)(54906003)(1076003)(6916009)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NHhmQzZkTUNBV2wrZndpVUlZNFI1T1QxQUxDYWhGb08wWXk0Z2FFTDJUdm53?= =?utf-8?B?NGNUQ1ZMemNzTmJ6TUU0V1NPQjdIR0xFajc3RlFQSFhZZmRQTjdMNVRPRnJS?= =?utf-8?B?Nk9MUkpZZG4rSGcrL1hUSlZjeWg4bjRkNysyT1ZDQnZhNDFnSTltelNtYXVO?= =?utf-8?B?bWlRNkQxTWxVOWc2NWt1VExicWRvcWs1RDl2dStBMkNiRk1SQXZ6dHBHUUdF?= =?utf-8?B?WW03USs5YStpak9rZkZkYXVxWWRmbFIyZWdtQnEyeTN5UXF1bDlZcTBCa2k0?= =?utf-8?B?UkR2UEZSZi9YUUJzUFhUWUMzWjduTjhkNDMzcDhmRjJwcmViS1ZLVTllaWc3?= =?utf-8?B?d0ZlQWk1K3pTejBBekFIOXBjVzYvR1ZoSDRxelJmZ2o4THd1WkxtNDhCN3pW?= =?utf-8?B?Z3hRZXhBaWo1OXZPMGwwRXFRcjZlekp1R2w4T0UxSE5iczBGbjhDRUI1SDl1?= =?utf-8?B?aXhWVVZGelJJSW9ESURjRS8wRk9CNWwvS2ljZkIrZ2hTeXZDL1AxMDFiUFVm?= =?utf-8?B?dkI5L0tmOTMzTml4N3IrcDJzRTZFU3k1VWRZYTJTaTdsOTNxSzh2a2d5c21M?= =?utf-8?B?KzdhVEZuMUVoekFpMHR6aHNLVHNRcTRJeis4VGdoWWdURFZ6bmtNdGkrV20v?= =?utf-8?B?eE03YVMwOVVZUnhRVFJkZWhDZXlvdEFUZXdlV0Fsc3BpZTVvL0toT0lweWpI?= =?utf-8?B?aTg2MHBuc1VZajVWU2ZwUU9iek4rVnN3djk0OHRyazRSNVFGZVlITXIrQkxL?= =?utf-8?B?dUNISXBSaDFzNWdERVprVGlCYSs5MkVqQng1S1RHRjJ0UE9Cb2Z3Y0dJeHhX?= =?utf-8?B?Vk5ORmNBSWV3QUhuZ3Q1VDh1SzU4czRsMlB0MTlVKzB1TmJiYjcwMEhadGFQ?= =?utf-8?B?MS9Xc3RQZTE5L3hwRzI3WGFON0IrRnVPam8xWG15THd5R1F0UXJRU01GTnNx?= =?utf-8?B?eWg4UnpqZWp4eCttUHp0aE1IcWtJQUgvaDZma1BpOEdIVVNsM2oveURPWkwr?= =?utf-8?B?RVZYVVJ2blhSQ1hzSStWc2tlbmVBYmV4d1Ezd3lEOG51OWlFaXRPSjNqSzJ5?= =?utf-8?B?TlpsemFxZGE3NHN4WWpyYUpkcU52cnE2V1dMTmRMcXE2SjZtTDErOGFoTUJk?= =?utf-8?B?b0kydUVQS05OODVOamdWS2MvQ2JMZkFDNi9DdHBVc3BCNGJZUFpBWWlhMWlY?= =?utf-8?B?dVJXdFYwSkhQazhMbFVYajlFNzJJTUZ2WDdlZSs4UnlFVUpHVldMMTFHMjlB?= =?utf-8?B?MXJxdDhVeDV3amNTbHdzaUdXdFF2b1U4QS9VcEpzajhmN01aaFdER3lzdnlz?= =?utf-8?B?TjNOOUFGU3c0dFV3MTRrRHpvM21QUTg1Y1AzeklUYTdFWGxlaVh2OU1GaFNj?= =?utf-8?B?Y2FNZHlidjRZanJjS2Fnd1Q1NnJzNVk4bmpFUjBtWFJkUXYydUhaWGVwb3ZW?= =?utf-8?B?SFVnMzVwd3ZnSkd4WjkrbVk3MXZmVXF3bW40NWxjczU2bjVTM2kwOVFKbk1z?= =?utf-8?B?N0t6eXhCeTd1aGxHbTBSYzFncTdwcGI5RTZneldqZ3dGM0lXcDNLUFdsTDBh?= =?utf-8?B?QXJlUVFSNkpzZzlHQWJoRXl0M0NrN05zQVAzS1lmdlNiWWxaMzBaaHA2MERy?= =?utf-8?B?SGlFVFBWZ24vVGVZeElHWFRuZUo2aXIvS3R0bkdSOXJNSWRyNG41SlQ3dHkv?= =?utf-8?B?cWl1WnBBMWZwVDN5aXRoYUFQaDlZdFhVK2NtdHZueEVyNlM5Y2ZGaitlakRx?= =?utf-8?B?N2pINVduaG0rRFVSOEVRZXVOUEUwZ0VFaFZVYVVqelhSd2dlbUN6UTFMeitt?= =?utf-8?B?ZEd2cmcybXBCRjI2NkluOWM5aGdMTm0yaWI0a0xscWQyczJiQ2VmeEowei9j?= =?utf-8?B?cytCMFZ2VVM1UVBsTHd4RXMvanoyTms0bERqemxNN0w2WHdMcHlXRVJvYmYx?= =?utf-8?B?VjBld3JhUFd5aXpvM3ltNFkxekIwc2VFWnpEK0UxdWd2dzNvczV0RzRaRTB3?= =?utf-8?B?aGV0MzQrTklFT0VOL0dYdDRkakQ4MEM1OElVNmN5cE5WU3lhSGQ0L21Fakg5?= =?utf-8?B?WW9XWGE2aU9KR2ZxUmhlcGFDZFBYMnBEVktxKzFPR3pBK0ZsTmU1L0JHVGVr?= =?utf-8?B?ZS9qWlFidFNWcEJreVYxT1o1RUIycUJsL0VrV0Fha2V2N2hIdys2c1g5MldU?= =?utf-8?Q?NGVfxLkONgHULjNCwPq7WUo=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: a1156d19-057e-4840-8556-08da010a9041 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2022 13:50:10.9422 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qkbb6LqrrKVTtcSaqZLhlO5zoVy1MfJigX8KCqAtPxBfQBdxEB6aTMDWBiWcsyS4/HBTExgjXfKxO878q62AZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2618 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1646747446985100001 So it can be explicitly placed ahead of the rest of the .text content in the linker script (and thus the resulting image). This is a prerequisite for further work that will add a catch-all to the text section (.text.*). Note that placement of the sections inside of .text is also slightly adjusted to be more similar to the position found in the default GNU ld linker script. The special handling of the object file containing the header data as the first object file passed to the linker command line can also be removed. While there also remove the special handling of efi/ on x86. There's no need for the resulting object file to be passed in any special order to the linker. Signed-off-by: Roger Pau Monn=C3=A9 Acked-by: Julien Grall # xen/arm Reviewed-by: Jan Beulich --- Changes since v2: - New in this version (split from patch 2). --- xen/arch/arm/arch.mk | 2 -- xen/arch/arm/arm32/Makefile | 3 +-- xen/arch/arm/arm32/head.S | 1 + xen/arch/arm/arm64/Makefile | 3 +-- xen/arch/arm/arm64/head.S | 1 + xen/arch/arm/xen.lds.S | 8 ++++++-- xen/arch/x86/Makefile | 5 ++--- xen/arch/x86/arch.mk | 2 -- xen/arch/x86/boot/head.S | 2 +- xen/arch/x86/xen.lds.S | 13 ++++++++----- 10 files changed, 21 insertions(+), 19 deletions(-) diff --git a/xen/arch/arm/arch.mk b/xen/arch/arm/arch.mk index 094b670723..58db76c4e1 100644 --- a/xen/arch/arm/arch.mk +++ b/xen/arch/arm/arch.mk @@ -23,5 +23,3 @@ ifeq ($(CONFIG_ARM64_ERRATUM_843419),y) LDFLAGS +=3D --fix-cortex-a53-843419 endif endif - -ALL_OBJS-y :=3D arch/arm/$(TARGET_SUBARCH)/head.o $(ALL_OBJS-y) diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile index 3040eabce3..520fb42054 100644 --- a/xen/arch/arm/arm32/Makefile +++ b/xen/arch/arm/arm32/Makefile @@ -4,11 +4,10 @@ obj-$(CONFIG_EARLY_PRINTK) +=3D debug.o obj-y +=3D domctl.o obj-y +=3D domain.o obj-y +=3D entry.o +obj-y +=3D head.o obj-y +=3D insn.o obj-$(CONFIG_LIVEPATCH) +=3D livepatch.o obj-y +=3D proc-v7.o proc-caxx.o obj-y +=3D smpboot.o obj-y +=3D traps.o obj-y +=3D vfp.o - -extra-y +=3D head.o diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S index 7a906167ef..c837d3054c 100644 --- a/xen/arch/arm/arm32/head.S +++ b/xen/arch/arm/arm32/head.S @@ -120,6 +120,7 @@ =20 #endif /* !CONFIG_EARLY_PRINTK */ =20 + .section .text.header, "ax", %progbits .arm =20 /* diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile index baa87655fa..6d507da0d4 100644 --- a/xen/arch/arm/arm64/Makefile +++ b/xen/arch/arm/arm64/Makefile @@ -7,6 +7,7 @@ obj-$(CONFIG_EARLY_PRINTK) +=3D debug.o obj-y +=3D domctl.o obj-y +=3D domain.o obj-y +=3D entry.o +obj-y +=3D head.o obj-y +=3D insn.o obj-$(CONFIG_LIVEPATCH) +=3D livepatch.o obj-y +=3D smc.o @@ -14,5 +15,3 @@ obj-y +=3D smpboot.o obj-y +=3D traps.o obj-y +=3D vfp.o obj-y +=3D vsysreg.o - -extra-y +=3D head.o diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S index 66d862fc81..e62c48ec1c 100644 --- a/xen/arch/arm/arm64/head.S +++ b/xen/arch/arm/arm64/head.S @@ -133,6 +133,7 @@ add \xb, \xb, x20 .endm =20 + .section .text.header, "ax", %progbits /*.aarch64*/ =20 /* diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S index 08016948ab..47d09d6cf1 100644 --- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -30,9 +30,13 @@ SECTIONS _start =3D .; .text : { _stext =3D .; /* Text section */ + *(.text.header) + + *(.text.cold .text.cold.*) + *(.text.unlikely .text.*_unlikely .text.unlikely.*) + *(.text) - *(.text.cold) - *(.text.unlikely) + *(.fixup) *(.gnu.warning) _etext =3D .; /* End of text section */ diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index 9c40e0b4d7..04065a7310 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -1,5 +1,7 @@ obj-y +=3D acpi/ +obj-y +=3D boot/ obj-y +=3D cpu/ +obj-y +=3D efi/ obj-y +=3D genapic/ obj-$(CONFIG_GUEST) +=3D guest/ obj-$(CONFIG_HVM) +=3D hvm/ @@ -77,9 +79,6 @@ obj-$(CONFIG_COMPAT) +=3D x86_64/platform_hypercall.o obj-y +=3D sysctl.o endif =20 -# Allows "clean" to descend into boot/ -subdir- +=3D boot - extra-y +=3D asm-macros.i extra-y +=3D xen.lds =20 diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk index 8e57476d65..c90e56aeab 100644 --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -117,5 +117,3 @@ endif =20 # Set up the assembler include path properly for older toolchains. CFLAGS +=3D -Wa,-I$(srctree)/include - -ALL_OBJS-y :=3D arch/x86/boot/built_in.o arch/x86/efi/built_in.o $(ALL_OBJ= S-y) diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S index dd1bea0d10..92d73345f0 100644 --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -9,7 +9,7 @@ #include #include =20 - .text + .section .text.header, "ax", @progbits .code32 =20 #define sym_offs(sym) ((sym) - __XEN_VIRT_START) diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index 506bc8e404..715452aad9 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -73,9 +73,7 @@ SECTIONS _start =3D .; DECL_SECTION(.text) { _stext =3D .; /* Text and read-only data */ - *(.text) - *(.text.__x86_indirect_thunk_*) - *(.text.page_aligned) + *(.text.header) =20 . =3D ALIGN(PAGE_SIZE); _stextentry =3D .; @@ -86,8 +84,13 @@ SECTIONS *(.text.kexec) /* Page aligned in the object file. */ kexec_reloc_end =3D .; =20 - *(.text.cold) - *(.text.unlikely) + *(.text.cold .text.cold.*) + *(.text.unlikely .text.*_unlikely .text.unlikely.*) + + *(.text) + *(.text.__x86_indirect_thunk_*) + *(.text.page_aligned) + *(.fixup) *(.gnu.warning) _etext =3D .; /* End of text section */ --=20 2.34.1 From nobody Sat May 18 07:48:41 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=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1646747442; cv=pass; d=zohomail.com; s=zohoarc; b=aJIayHfnrFojIeaQI8ZLHuoEfF2KUvUoRP2Zbhb3I+NASMX1aBal77zdhQvbrd49UmEjPlKO2mX4dt68Lc4K+cWLBZ7lOLQ+94gtfH1XtwS05dg6g3n/0z70MYZ2nCc7kz6pSXie4vawBLTjr6MAX5/8P0vjd3rgdF9IgKKiL54= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646747442; 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=xjlZ8Pl+NS5moZSBGDHV0ip1h1zHnxC1lwERKrmXVUw=; b=Ljh0Wzrw34ZIc9KJ8Z6xuxgf55ftJYiKg9l95vfE1ouwScl4cq1aK/gC2LQ9lKzkgg3avWe2iPnrXFy4DDH8unyBTWwFxJnNbw8zN/R4yTavcUGU/UpVy1I7U3kCVZ67bNp1sU7pGRU500QABhPAq4K2mwzh/GWdLt0DvfB6gH0= 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=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1646747442250736.0491258206869; Tue, 8 Mar 2022 05:50:42 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.286899.486609 (Exim 4.92) (envelope-from ) id 1nRaEK-0008CC-VB; Tue, 08 Mar 2022 13:50:24 +0000 Received: by outflank-mailman (output) from mailman id 286899.486609; Tue, 08 Mar 2022 13:50:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nRaEK-0008C3-RO; Tue, 08 Mar 2022 13:50:24 +0000 Received: by outflank-mailman (input) for mailman id 286899; Tue, 08 Mar 2022 13:50:23 +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 1nRaEJ-0007uj-Ab for xen-devel@lists.xenproject.org; Tue, 08 Mar 2022 13:50:23 +0000 Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id b18c7b01-9ee6-11ec-8eba-a37418f5ba1a; Tue, 08 Mar 2022 14:50:21 +0100 (CET) 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: b18c7b01-9ee6-11ec-8eba-a37418f5ba1a DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1646747421; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=vaQJVY0eYO5A5TjnUkrtytZZxPG+7h7o5KII+En5qgQ=; b=NeMv8IIJWBDiNyGyj/iz3DL9lQVLoNlkjEwK8eIqBZh0DTo1WWhBi2QE q4wBwiK5XW9cTpobFNUQ+kzsUvSv72nErhatL9OYNpJ2xqvBTAC0IQ1f5 NRpGbimLh3PsaDsRlDYfX8PbDPM3pYiHsD38qbCOBLkxScNtRLtHotgMR k=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com X-SBRS: 5.1 X-MesageID: 68055469 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:iRSyS6yulMY2L/Ybyk16t+fDxirEfRIJ4+MujC+fZmUNrF6WrkUAz TcXCm+BO/ePNDanLt5/aIrioEJU6JLTz9RjHlE9rCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx 59DAjUVBJlsFhcwnj/0bv656yMUOZigHtIQMsadUsxKbVIiGX9JZS5LwbZj2NYz2YjhWWthh PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ NplpbeKYhoIBr/1tu0geSkFFSVgFrJb9+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQQt2sm1TjEJf0nXYrCU+PB4towMDIY2JAWQKuCO ZtxhTxHMUXfR0UeHFssKbUGpcPyrH3WTxd6twfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz krM8n7lGBgcOJqawCCc73O3rubVmGXwX4d6PIO/8vlmkViC3Fs5ARcdVUa4ifShg0v4UNVaQ 2QP4TYnp6U28E2tT/H+Uge+rXrCuQQTM/JAHut/5AyTx6785weCGnNCXjNHcMYhtsI9WXotz FDht9HjCCFrsbaVYWmA7brSpjS3UQAXMGsDaCksXQYDpd75r+kOYgnnF4g5VvTv15usRG+2k 2viQDUCa6s7neUx/LiaxUL+rTuRjKiUSAorzRrKUTfwhu9mX7KNa4ut4FndyP9PKoeFU1WM1 EQ5d9iiAPMmVs/UynHUKAkZNPTwvqvebmWA6bJ6N8R5r1yQF2ifkZe8Cd2UDGNgKY46dDDge yc/UisBtcYIbBNGgUKaCr9d6vjGL4C9TbwJtdiON7Kih6SdkifdpEmCgmbKgwjQfLAEy/1XB HtiWZ/E4YwmIapm1iGqYOwWzKUmwCszrUuKG8ylkUv3jOHHNCPOIVvgDLdoRrpihE9jiF+Jm +uzyuPQk0kPOAEASnO/HXEvwaAiciFgWMGeRz1/fe+fOAt2cFzN+NeKqY7Nj7dNxvwP/s+Rp ynVchYBlDLX2C2WQS3XOysLQO6+Av5CQYcTYHVE0aCAgCN4P+5CLc43KvMKQFXQ3LA7na4uE ahfIJno7zYmYm2vxgnxpKLV9eRKXB+qmRiPL2yiZj0+dIRnXAvH5pnveQ6HycXEJnDfWRcWy 1F46j7mfA== IronPort-HdrOrdr: A9a23:oWMLz6zfp651uf6h/plJKrPwKL1zdoMgy1knxilNoHtuA6ulfq GV7ZAmPHrP4wr5N0tNpTntAsa9qBDnlaKdg7N+AV7KZmCP0gaVxepZjLfK8nnNHDD/6/4Y9Y oISdkaNDQoNykYsS8t2njbL+od X-IronPort-AV: E=Sophos;i="5.90,165,1643691600"; d="scan'208";a="68055469" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WaqOIH+4y4wZ5rRxqD3pJeWTlVH1KLk1eMdt0pjRGrpn62CyVczVI8pQcVQYP+gkT3nR0ubPOrRw+pAOzRspjQyI2bo/N78wXLovt2UkpcmcyWQL90+nSdRh578h/jB6Vy6ohYV4JOOTBdqJdFAsCpW6mx/W0QhmEq/TOxgp69kTg1f1/P3qawY76josyDGal0KVCtmZCFfpa6Bg+Otrdrt5v7sHIvtIEqtEmWkwMF4O+kOWv9xOLgmUGWtmd6oFvtWtDrpjX+/mi/x66M/CjUHiOpeEndM6suQeowImLHbl2gKhmTjtMgjPrqRVMTd2Y6/7yT45Qr/gJRzzCs8A0Q== 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=xjlZ8Pl+NS5moZSBGDHV0ip1h1zHnxC1lwERKrmXVUw=; b=RJHY85FWPFLeAmpDSoUHm2khWPOQNAnvinK+PmZ/WPtrv2pr79JF4UrDymEA4huiDyIjkRr74nSsCuQMep1HsPbiK5QFg13uRNiRBRupPUY6Q/iJPenXDv7P1GT9+K1/APN3Oc3j2J61m8RYYp/2GEpz3biSxnIXIXmIVyk2r8tyOnbONowB+ZKnVXxoqcQ8jFqQ02Q1yhXxLEbbrtr7Iu25Pub/zdA9RVoatzMdzvPePAoMqRqefDpTTHbvqZlRsMsIKke+UXafVsUyGG4Imx4h+s0FjOt7gVjXLKt6/iFbNOBisyFr2XRn3VANbI7kikJTN7h7X5cQcZKlqv29fg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xjlZ8Pl+NS5moZSBGDHV0ip1h1zHnxC1lwERKrmXVUw=; b=AUXoi/IsLYujH9LCl1Z+D3L2jT/BPr/OFyT2s2K5qHpkqhnrjNwoXlB328Npri6z83gEHTXP5MQevEwFh+fzanY+vi4+wvAlU2nC3JJfx3+6X/KchdpFkWBfTWVRNDxaKnaC3SVqfpRQ1+EhEhlZsAq3Y+vuinF+rA9NcsaqHiw= From: Roger Pau Monne To: CC: Roger Pau Monne , Andrew Cooper , George Dunlap , Jan Beulich , Julien Grall , Stefano Stabellini , Wei Liu , Bertrand Marquis , Volodymyr Babchuk Subject: [PATCH v3 2/2] livepatch: set -f{function,data}-sections compiler option Date: Tue, 8 Mar 2022 14:49:24 +0100 Message-ID: <20220308134924.83616-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220308134924.83616-1-roger.pau@citrix.com> References: <20220308134924.83616-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0248.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:8a::20) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fa1f69bc-573d-415b-7987-08da010a93c2 X-MS-TrafficTypeDiagnostic: DM5PR03MB2618: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: jC260ayrF8Z3JgFJSntgErpXuex/HJNSMZ6TzbDJMnVSwhPt6+0z8KYD9bvFoLaV2ALf3l0yNgQg92mddIZ3lwEp4wFknCKuyMO2VN8cMAei4T/WMdQ6Z4EYJvEvdU1LHko+InZC6cOiheoe1EeMkZnufWkm5qZSh8hYzrqYKkwDpb9WgMUVHSVfwLXKkr9azpQDeW5QP0a3yLvUO4uom38zOPoBt/e2a1GBHK+PrdbbYBTVuVoJKsbJ8w/bAN/lIoQXyNvbFt8nWlyyZoOmd3LiTwIIDTkrNWbDldgcswlfwc8DRfBsTXtkf/cYP6O7mffOerf5Hcu0fwTrxNYe0nTdFEnTg2/4sbKseVS9Jf3sgW9iXBM0Zi3DSLnZEGv3PrhF3ujPGe6Gi8mBIRQSIbAu8DgvzG3dnsvPHpPI9HhgoSfYVYq3UyJOymAsUJVzRwYqBR/uqkjbEiOCEr9Fq3A5hypBCngCXJyProIyIN2CqcL03qO6dNHHbxIMYvAKn3VkApOW19tSHg4K0UySFoYGjL5d8Cpv0i0XpT9qp+up30D+j8rKu3j0Pq45b8W/TkC+sbB427jAcz9v8oRhQB8szsuilB2aSKy6gnV0rL1iQYRYvfnqmspABZIAnNMoHXZ2NWf1qHVgwU36PKAeCQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(83380400001)(66946007)(4326008)(508600001)(66556008)(66476007)(8676002)(8936002)(5660300002)(6506007)(6666004)(36756003)(6486002)(26005)(2906002)(86362001)(316002)(186003)(38100700002)(6512007)(82960400001)(54906003)(1076003)(6916009)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WGhTRzVQbjI5RE1OTVRiN1NxRWpKT3ZoK2M5bDdSRm51MDdKbFZJMkVtaWdx?= =?utf-8?B?K0ZrOHAwS2MxT1hQclY0Skk2Z0MvbUM0REVsWkNET2lSR2pVYTZraGs1cDhT?= =?utf-8?B?MTRUaWdWdVgwczFZQ0cvK20wUTl1bk9QeW9YZ2dQTW13WDY4dGw0NUZ1aVJo?= =?utf-8?B?S1ZHZGc3L2R2U2RIdUt2RE10Zklma2FsV3lhOEdFTkE3UnQvU0NZcG9jaHpC?= =?utf-8?B?NjJyUWVYZVM1WEFQOHd2dGIrSzhlYXZnaWJkYnlOeDZld2VDYzEzeXA5RW9o?= =?utf-8?B?T0pkdU1xOHA4TlBRcWFpSmNNdE94ZUV3dWxsRnVyQmZuSFVreUtUL3J4QXpw?= =?utf-8?B?dWdTeVF3TlNiQ2ZvRzFOYUtiaU4rL3h1VFBNblo4ZGI1UnFVZU9ndGxpaUh0?= =?utf-8?B?aW95MUVQcWtPZTZxK0NpekVEeG5YN3g0SGRsMWxaSVhVbHJNcUNwZ2Z2Y1p6?= =?utf-8?B?QlhaM2hLNEVDcDB0bmlHdVlDdGg3QTRkLzZrUUVRQjNKUUdyd0tjTTFrcVd3?= =?utf-8?B?WDRqM3Nrc1l1ajlMNzFzUllWOXQwL0M3azNmZ0U0UHZETHU2WXNDWkJSTGVu?= =?utf-8?B?YVNGMkhDNkdLQk1oOFVMS1V4cTExTTBWTWN6SEcvU21kVU9aTUVzQSt5N1lH?= =?utf-8?B?aUZELzZMVFB4N3BBeVQ0QXV2VnNTVkF4YTVXckR2QnFieXlqYWs5bGt1ZVEx?= =?utf-8?B?ODF2SC9aRi95UkgwVWUzZ3VZczVYWEU4SE1tM3pTMDZiN3A5dXhVSEZwd1Rt?= =?utf-8?B?VXN4bDJ6VWpKZ2VFQUV3YlZKa05TZ2kzMWljMWpwZE5VelRsOXFGUlhVSHJt?= =?utf-8?B?RVFEYTZTTkhiUnVBb0hleldVcmdVKzZsaVkweUJCcjN2SVROWXhVNjdvMGVt?= =?utf-8?B?L0VvZnhHd0pvVmozeTNRSldQcmNaYy9sYkVmQXAzSERraWxZREFacndPdW1i?= =?utf-8?B?WXk2czFkbVNSakVXWnZrYWtITGUxcWR3NVF4UlVMNmFtYzBpK1V4NzRIMWxp?= =?utf-8?B?dW40c2pEenN4Y2VVVmpjN2dnUnNRaHRlMFNXYmFlOW42RTMyZVlZay92VUYr?= =?utf-8?B?c2JXRzhUeVBnczVSdk4wM25UMWZXV0lYa3pmU0U1MXp1UjZSQmU4bmxUd1By?= =?utf-8?B?UVVra3JhVGI2SnNHR1p0TjNuRE9yRHlQN0l3UGpDRGRBWUU0Q0FUbE4vcE9D?= =?utf-8?B?SXVZeThYRmNwMUlJeUVFWHFLa3lqNTVtano2QVhzbytFTzIvTVJXdllyTDEv?= =?utf-8?B?b2RhOWsvNVZmU3RIQXNneUl1aGMvNC9za1lSQnRONmJyeDUyTkZmbnRoaVR5?= =?utf-8?B?VzlTWHpHQnVWdW9BYkpNcEpsend6ZXNZemlwWGJxRGk4YWNEb25qVk1ONjcv?= =?utf-8?B?RG9aS0szaWdEYlRaZjNXZWlROXRTajJZS3oyWWp5SGZCWXRYMW1Wb0QwcVVH?= =?utf-8?B?d3Bhb0FaN1Y5d3pVVXRNY25UU1RsdnNVMnlTUksyK2VxWW1kWUNKQ0wzZmFu?= =?utf-8?B?YXZMMGVrd1lTd2YycnN2Z3FTdkdKTERxMlJoYmdqNlNPRWtreXl0TDdseEZq?= =?utf-8?B?c0NjdDZPOWRjWVN1K0E0UFU0bC8zWHhUZk1ObEdtT0xaU2t2bkk1UHlZZE5L?= =?utf-8?B?VWd0VXBScExadExZRGxld29pMTZ3OCtQbURUVkdESHVCQmV2Tm1GZTdLd3Zs?= =?utf-8?B?KzJkWENIYk1xQzZHWHBrMzRrejhLdlVmUk5VQ3lVRURnY0cvelBzTGRtRDlh?= =?utf-8?B?S21YOUJQYUcxQ0VtYytiek9jMElMYTBZRHM5SXZWMnZqa1dhK0xzUElrNi9R?= =?utf-8?B?NUE5MTErS3R5TEdzd3lRYWh3T0lsWUdZNTRpdCtSbmw3czJFajd6TDNtTk00?= =?utf-8?B?VFR6bll6REVJUWJ6blZGcTJ2WjR5eFd4WEd0dTNlUisrL1lYV2c0K214ZHF3?= =?utf-8?B?bEF4M1NJMEJJVVhGYlZHMU5hR2JkT0tFcndrVjhrYXM2Qk5JNDJMaW8zbUk1?= =?utf-8?B?VVBiNzBPWFp1dll5eTl1bmxvWHEwTmN2OWtadTgxVkhKNU1XMzBzVm82d2J5?= =?utf-8?B?T1FLY2dvM2swaTRycEh1akNESm52MjZEMkFSRy85NnRuc25TbGdMd2orbURS?= =?utf-8?B?M3JiVG5QbjhBL3NkWWszQTBwbmh5bjRMaG1lRWkzYVRXT0J2UURNVVFLWnRO?= =?utf-8?Q?TDJUeQQKP8kE55paTtZFcLo=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: fa1f69bc-573d-415b-7987-08da010a93c2 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2022 13:50:16.7892 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: T4FqfL20OScC+wpanWTuLCYMe4XeoQJaBXuX/zk7oS3sL+W/+Lm+kRS0gcwHhDF7b77hNPOR05BZUkvF8GRE2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2618 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1646747444348100001 If livepatching support is enabled build the hypervisor with -f{function,data}-sections compiler options, which is required by the livepatching tools to detect changes and create livepatches. This shouldn't result in any functional change on the hypervisor binary image, but does however require some changes in the linker script in order to handle that each function and data item will now be placed into its own section in object files. As a result add catch-all for .text, .data and .bss in order to merge each individual item section into the final image. The main difference will be that .text.startup will end up being part of .text rather than .init, and thus won't be freed. .text.exit will also be part of .text rather than dropped. Overall this could make the image bigger, and package some .text code in a sub-optimal way. On Arm the .data.read_mostly needs to be moved ahead of the .data section like it's already done on x86, so the .data.* catch-all doesn't also include .data.read_mostly. The alignment of .data.read_mostly also needs to be set to PAGE_SIZE so it doesn't end up being placed at the tail of a read-only page from the previous section. While there move the alignment of the .data section ahead of the section declaration, like it's done for other sections. The benefit of having CONFIG_LIVEPATCH enable those compiler option is that the livepatch build tools no longer need to fiddle with the build system in order to enable them. Note the current livepatch tools are broken after the recent build changes due to the way they attempt to set -f{function,data}-sections. Signed-off-by: Roger Pau Monn=C3=A9 Acked-by: Julien Grall # xen/arm Reviewed-by: Jan Beulich --- Changes since v2: - Split the placing of the header code in a separate section to a pre-patch. - Move Kconfig option to xen/Kconfig. - Expand reasoning why .data.read_mostly needs to be moved on Arm. Changes since v1: - Introduce CC_SPLIT_SECTIONS for selecting the compiler options. - Drop check for compiler options, all supported versions have them. - Re-arrange section placement in .text, to match the default linker script. - Introduce .text.header to contain the headers bits that must appear first in the final binary. --- It seems on Arm the schedulers and hypfs .data sections should be moved into read_mostly. --- Tested by gitlab in order to assert I didn't introduce any regression on Arm specially. --- xen/Kconfig | 4 ++++ xen/Makefile | 2 ++ xen/arch/arm/xen.lds.S | 41 +++++++++++++++++++++-------------------- xen/arch/x86/xen.lds.S | 9 +++++---- xen/common/Kconfig | 1 + 5 files changed, 33 insertions(+), 24 deletions(-) diff --git a/xen/Kconfig b/xen/Kconfig index bcbd2758e5..d134397a0b 100644 --- a/xen/Kconfig +++ b/xen/Kconfig @@ -27,6 +27,10 @@ config CLANG_VERSION config CC_HAS_VISIBILITY_ATTRIBUTE def_bool $(cc-option,-fvisibility=3Dhidden) =20 +# Use -f{function,data}-sections compiler parameters +config CC_SPLIT_SECTIONS + bool + source "arch/$(SRCARCH)/Kconfig" =20 config DEFCONFIG_LIST diff --git a/xen/Makefile b/xen/Makefile index 5c21492d6f..18a4f7e101 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -273,6 +273,8 @@ else CFLAGS +=3D -fomit-frame-pointer endif =20 +CFLAGS-$(CONFIG_CC_SPLIT_SECTIONS) +=3D -ffunction-sections -fdata-sections + CFLAGS +=3D -nostdinc -fno-builtin -fno-common CFLAGS +=3D -Werror -Wredundant-decls -Wno-pointer-arith $(call cc-option-add,CFLAGS,CC,-Wvla) diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S index 47d09d6cf1..836da880c3 100644 --- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -36,6 +36,9 @@ SECTIONS *(.text.unlikely .text.*_unlikely .text.unlikely.*) =20 *(.text) +#ifdef CONFIG_CC_SPLIT_SECTIONS + *(.text.*) +#endif =20 *(.fixup) *(.gnu.warning) @@ -82,10 +85,24 @@ SECTIONS #endif _erodata =3D .; /* End of read-only data */ =20 + . =3D ALIGN(PAGE_SIZE); + .data.read_mostly : { + /* Exception table */ + __start___ex_table =3D .; + *(.ex_table) + __stop___ex_table =3D .; + + /* Pre-exception table */ + __start___pre_ex_table =3D .; + *(.ex_table.pre) + __stop___pre_ex_table =3D .; + + *(.data.read_mostly) + } :text + + . =3D ALIGN(SMP_CACHE_BYTES); .data : { /* Data */ - . =3D ALIGN(PAGE_SIZE); *(.data.page_aligned) - *(.data) . =3D ALIGN(8); __start_schedulers_array =3D .; *(.data.schedulers) @@ -98,26 +115,10 @@ SECTIONS __paramhypfs_end =3D .; #endif =20 - *(.data.rel) - *(.data.rel.*) + *(.data .data.*) CONSTRUCTORS } :text =20 - . =3D ALIGN(SMP_CACHE_BYTES); - .data.read_mostly : { - /* Exception table */ - __start___ex_table =3D .; - *(.ex_table) - __stop___ex_table =3D .; - - /* Pre-exception table */ - __start___pre_ex_table =3D .; - *(.ex_table.pre) - __stop___pre_ex_table =3D .; - - *(.data.read_mostly) - } :text - . =3D ALIGN(8); .arch.info : { _splatform =3D .; @@ -211,7 +212,7 @@ SECTIONS *(.bss.percpu.read_mostly) . =3D ALIGN(SMP_CACHE_BYTES); __per_cpu_data_end =3D .; - *(.bss) + *(.bss .bss.*) . =3D ALIGN(POINTER_ALIGN); __bss_end =3D .; } :text diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index 715452aad9..75925fe145 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -88,6 +88,9 @@ SECTIONS *(.text.unlikely .text.*_unlikely .text.unlikely.*) =20 *(.text) +#ifdef CONFIG_CC_SPLIT_SECTIONS + *(.text.*) +#endif *(.text.__x86_indirect_thunk_*) *(.text.page_aligned) =20 @@ -292,9 +295,7 @@ SECTIONS =20 DECL_SECTION(.data) { *(.data.page_aligned) - *(.data) - *(.data.rel) - *(.data.rel.*) + *(.data .data.*) } PHDR(text) =20 DECL_SECTION(.bss) { @@ -309,7 +310,7 @@ SECTIONS *(.bss.percpu.read_mostly) . =3D ALIGN(SMP_CACHE_BYTES); __per_cpu_data_end =3D .; - *(.bss) + *(.bss .bss.*) . =3D ALIGN(POINTER_ALIGN); __bss_end =3D .; } PHDR(text) diff --git a/xen/common/Kconfig b/xen/common/Kconfig index 6443943889..d921c74d61 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -354,6 +354,7 @@ config LIVEPATCH bool "Live patching support" default X86 depends on "$(XEN_HAS_BUILD_ID)" =3D "y" + select CC_SPLIT_SECTIONS ---help--- Allows a running Xen hypervisor to be dynamically patched using binary patches without rebooting. This is primarily used to binarily --=20 2.34.1