[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] livepatch: set -f{function,data}-sections compiler option
- To: Jan Beulich <jbeulich@xxxxxxxx>
- From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Date: Wed, 2 Mar 2022 17:20:49 +0100
- 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
- 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=pZpyGQ8H+L7AQnCTzm0R4LjWbwQk+nOrsSEUT6rC4ds=; b=OYXuBW85MqzgqKtTY4rA1JNDotF0b0sk7O5bwkas1j+XsZPPMpNwNnc+iBnhyvdLUeLOuxvP8qN+LfqFwJGBCbaIDPXL0zUlaFjRhqjYJuMhXxYGxI8692AxaO3xTO/lnzCTWRKK+10ZytBPWjHsKdPq7+gDcs1FZ69GA+nTnFJjlhSVS5pPyLWegK17tJF2Lj1BGfcqgDKRXFMBjIJKVV7ZBMRV7Zd+W6i3267uvWJ4CTxhmYQFnok8F00Ih9eZtW0h7F1kihhTtJYWgqQO5hUJ/7Qb0T9FWRNJX/eoWQRxR2tyryGAF028CHUnmrPP9fNcmdXVwNWuNNWqaFbPSA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i5SttxiP6IjiZ4p/Gzh6mG8YawtIWJNO0V0haso10zw79lHgE3Ia9j9+X8mKcCa9FIc7XY0LrrMS6eK6L3Eg0M10ZOmw5PZna1ezzSdHQVfsMWMbHVaXqiMpVnkxB9jjapSwaQZqQ0BfFnKpwZzvv2whPD/Lwn0AUiyU/irjSPIcktnaQVwXWekCxcZgim52up/223OEkZlx2m/I8u5KskkNn3lHrsqUoawpYOZQ1YXQvegPvEnfIfnANn9cWOds7qbLmeGF6SJ7RLpKbwvYqKG/jr5lx6kSvWh7F9o2HvHgUCTs8Dc8UXuxCVFpENpCs1wiJwoE6mW0PDBkDjBrWQ==
- Authentication-results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Wed, 02 Mar 2022 16:21:30 +0000
- Ironport-data: A9a23:zFcgoa/aCYBQXn1Dem0IDrUDdH6TJUtcMsCJ2f8bNWPcYEJGY0x3m GZNDG7QOv7ZMDSjLd0nb9++9k0A78SDzdEySANqqCs8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy +1EN7Es+ehtFie0Si+Fa+Sn9T8mvU2xbuKU5NTsY0idfic5DnZ54f5fs7Rh2NQw2oDjW1jlV e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9 DlCnbC1CiIYFI/oo946fEQHFXt/PoZn6KCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4TRqyHP ZFIAdZpRC3COxxjCGgnMtUBs/yarCbieTtitU3A8MLb5ECMlVcsgdABKuH9cNGQWd9cmEreo 2vc5nn4GTkTLtnZwj2AmlqSgevIkTL+SZglPrSy/f53g3We3mUWThYRUDOTsfS/z0KzRd9bA 0gV4TY167g/8lSxSdvwVAH+p2SL1jYDX/JAHut87xuCooLW6QuEAmkPThZadccr8sQxQFQC1 EKNnt7vLSxitvuSU3313qyPsTq4NCwRLGkDTSwJVw0I55/kuo5bs/7UZo89Sujv1ISzQGyuh WDRxMQju1kNpeIOlICK13LjuAiLicWWSFQ05S72Tn3wu2uVe7WZT4Cv7FHa69NJI4CYUkSNs RA4piSO0AwdJcrTzXLQGY3hCJnsvq/Ya2OE3TaDCrF8r2zFxpK1QWxHDNiSzm9NO91MRzLma VS7Veh5tM4KZyvCgUOajuuM5yUWIUrISIyNuhP8NIMmjn1NmOmvpnsGiam4hT2FraTUuftjU ap3iO71ZZrgNYxpzSCtW8AW2qIxyyY1yAv7HM6nkU35ieLPOifEE9/p1WdiiMhjtstoRy2Pr r5i2zaikU0DAIUSnAGNmWLsEbz6BSdiXs2nwyCmXuWCPhBnCAkc5wz5mtscl3het/0NzI/gp yjlMmcBkQaXrSCXeG2iNyE4AJuyDMkXkJ7OFXF1Vbpe8yN4OtjHAWZ2X8ZfQITLA8Q4la8kF 6ReIp7YahmNIxyekwkggVDGhNUKXDyghB6UPjrjZz46fpV6QBfO9MOidQzqnBTixALr3Sfii 9VMDj/mfKc=
- Ironport-hdrordr: A9a23:7wGUea2bc3lglMzVZJdGUQqjBVByeYIsimQD101hICG9Lfb2qy n+ppgmPEHP5Qr5OEtApTiBUJPwJk800aQFm7X5Wo3SITUO2VHYV72KiLGN/9SOIVydygcw79 YET0E6MqyNMbEYt7eK3ODbKadY/DDvysnB7o2/vhRQpENRGtldBm9Ce3im+yZNNW977PQCZf 6hDp0tnUveRZ1bVLXyOlA1G8z44/HbnpPvZhALQzYh9Qm1lDutrJr3CQKR0BsyWy5Ghe5Kyx mOryXJooGY992rwB7V0GHeq7xQhdva09NGQOiBkNIcJDnAghuhIK5hR7qBljYop/zH0idgrP D85zMbe+hj4XLYeW+45TPrxgnbyT4rr0TvzFeJ6EGT1vDRdXYfMY5slIhZehzW5w4Lp9dnyp 9G2Gqfqt5+EQ7AtD6V3amGazha0m6P5VYym+8aiHJSFaEEbqVKkIAZ9ERJVL8dASPB7pw9Gu UGNrCR2B9vSyLaU5nlhBgu/DT1NU5DXStuA3Jy9/B96gIm0kyQlCAjtY4idnRpzuNId3AL3Z WADk1SrsA8ciYnV9MMOA4/e7rENoXse2O7DIvAGyWvKEk4U0i93qIfpo9FoN2XRA==
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Wed, Mar 02, 2022 at 05:09:10PM +0100, Jan Beulich wrote:
> On 02.03.2022 16:46, Roger Pau Monné wrote:
> > On Wed, Mar 02, 2022 at 03:41:21PM +0100, Jan Beulich wrote:
> >> On 02.03.2022 14:44, Roger Pau Monne wrote:
> >>> @@ -292,6 +295,9 @@ SECTIONS
> >>> *(.data)
> >>> *(.data.rel)
> >>> *(.data.rel.*)
> >>> +#ifdef CONFIG_LIVEPATCH
> >>> + *(.data.*)
> >>> +#endif
> >>> CONSTRUCTORS
> >>> } PHDR(text)
> >>>
> >>> @@ -308,6 +314,9 @@ SECTIONS
> >>> . = ALIGN(SMP_CACHE_BYTES);
> >>> __per_cpu_data_end = .;
> >>> *(.bss)
> >>> +#ifdef CONFIG_LIVEPATCH
> >>> + *(.bss.*)
> >>> +#endif
> >>
> >> ... are these two really in need of being conditional?
> >
> > Will drop if you agree. I didn't want to risk introducing unwanted
> > changes in the !CONFIG_LIVEPATCH case.
>
> The only "unwanted" change I can imagine here would be that we place a
> section which the linker would otherwise need to guess how to place,
> for being "orphan".
>
> >>> --- a/xen/common/Kconfig
> >>> +++ b/xen/common/Kconfig
> >>> @@ -353,7 +353,9 @@ config CRYPTO
> >>> config LIVEPATCH
> >>> bool "Live patching support"
> >>> default X86
> >>> - depends on "$(XEN_HAS_BUILD_ID)" = "y"
> >>> + depends on "$(XEN_HAS_BUILD_ID)" = "y" && \
> >>> + $(cc-option,-ffunction-sections) && \
> >>> + $(cc-option,-fdata-sections)
> >>
> >> Is this for certain Clang versions? Gcc has been supporting this in
> >> 4.1.x already (didn't check when it was introduced).
> >
> > I've checked clang and it seems to be prevent in at least Clang 5,
> > which is likely enough?
>
> Clang5 accepts the options fine here. But that wouldn't be enough,
> ./README says "Clang/LLVM 3.5 or later".
>
> > I've added the check just to be on the safe side.
>
> Well, yes, if you're unsure and the old version can't be checked,
> then perhaps indeed better to probe.
OK, so I've managed to probe clang 3.5.0 and it does support
-f{function,data}-sections so we can drop the check.
Thanks, Roger.
|