[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] x86: avoid SORT_BY_INIT_PRIORITY with old GNU ld


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Mon, 7 Mar 2022 16:52:14 +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=J5a4fuJ+lqzAwiO6udmAJaIeSMCHy74RsE6eVuysi7Q=; b=gpuOka2GvqYAxZ2Z6t8S9XNo0Hr7J79v6L1syzC8XYMwGiS2Y8q+vVWVw6MGrz4vfyWAiy4ZzfJivFIfHlYN2Q7KFWy5Vq3/gnNiNORaMsta7XaQGzQa3ZXl8LEOR8oTHVLYR/+R1WtHg9YZtdd2ewH/qVoEs0G/pPKHGcvzwxgQgMKjXjti8fnoJYGlbATKhv4hCK13fcgK6dX/QB6mBCT6KDTkyWbwWlhtFfGXjOYajI76QViJFZbZmyJzrCs/fQwHQm2o0Q6fN2qt2D+RkjKzjo4c1aYK/nlOXVxQ07CyIpayeYcCpCWNYM0VzzyZB9Rl8VNXaWK+4zIRCQUW6g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Id3G5g5l4bKcIFjJEDtw8PbR6M6QEo9c+CzwL3TNgKtbE00sZlr759ZBT7fc1Y3DqVt7jr+emPOVTxBYL2FpaH+iTTG+dwdCHbx1tj4aL0e6jvcjtRd7pAye00DHRIOVz3yW++WKhlqIs9+sLJvlcB074PnJOU388/ATl/EAsseMExoZ6yZcc2MoxmVDWi5XqkkFzVFdglqGI4abJtl7CR9vV7aCQH3SOobt2YOa6WjVZO6JGgSXZ3qCVO/q2fCTGBzVgdGh7Au3vhD2ec2yFEr7AHB40cNcEmIozufc6wypNitUwvU0l/GbqKg+sv/OSuqC1tbPheX9dS5Urp5/8g==
  • Authentication-results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Mon, 07 Mar 2022 15:52:52 +0000
  • Ironport-data: A9a23:qqhgB69BDYIxn/GknqAXDrUDiX6TJUtcMsCJ2f8bNWPcYEJGY0x3n zMcWW2OO6neZ2Xxf9sjOdi/8UhUu8eExocyGlc5/n08E34SpcT7XtnIdU2Y0wF+jyHgoOCLy +1EN7Es+ehtFie0Si+Fa+Sn9T8mvU2xbuKU5NTsY0idfic5DnZ54f5fs7Rh2NQw2oDmW1nlV e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9 DlCnbmCVywmEI+SpMM+C0h4GSE9HYBE1paSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4TQKuBO 5ZHAdZpRC7xQxd0E2tQMYk3x8uXqV6hKgFGk2vA8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq Qru72n/Rx0XKtGb4T6E6W63wP/CmzvhX4AfH6H+8eRl6HWRzGEODBwdVXOgvOK0zEW5Xrpix 1c8o3R06/JorQryE4e7D0bQTGO4UgA0fuhOOOIUyl+x7YmMsiaTBiskYzxvQYlz3CMpfgAC2 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4PeRECnCBtJ6sybp1qXHb4 BA5dzC2trxmMH10vHXlrB8xNL+o/e2ZFzbXnERiGZIsnxz0pSL9INEOuG4ldBc1WirhRdMOS BWP0T69GbcJZCf6BUOJS9jZ5zsWIVjISo2+C6G8gitmaZltbg6XlByClmbLt10BZHMEyPllU b/CKJ7EJS9DVcxPlWPmL89Age5D7n1vngv7GMGkpylLJJLDPRZ5v59eawDQBg34hYvZyDjoH yF3bJPbm00CC7SlOkE6M+c7dDg3EJTyPrivw+R/fe+fOAt2XmYnDv7a27Q6fIJ52a9Sk4/1E ruVAye0FHKXaaX7FDi3
  • Ironport-hdrordr: A9a23:LARgWazX6V0aerCAim/iKrPxzuskLtp133Aq2lEZdPULSKOlfp GV8MjziyWYtN9wYhAdcdDpAtjmfZr5z+8O3WB3B8beYOCGghrSEGgG1+XfKlLbak/DH4JmpM Jdmu1FeaHN5DtB/LfHCWuDYq8dKbC8mcjC74eurEuFDzsaE52Ihz0JdDpzeXcGIjWua6BJcK Z1saF81kWdkDksH4yGL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftzLLhCRCX0joXTjsKmN4ZgC L4uj28wp/mn+Cwyxfa2WOWx5NKmOH5wt8GIMCXkMAaJhjllw7tToV8XL+puiwzvYiUmR0Xue iJhy1lE9V46nvXcG3wiRzx2zP42DJr0HPmwU/wuwqVneXJABYBT+ZRj4NQdRXUr2A6ustn7a 5N12WF87JKEBLphk3Glpf1fiAvsnDxjWspkOYVgXAae5AZcqVtoYsW+14QOIscHRj99JssHI BVfY3hDc5tABKnhk3izylSKITGZAVxIv7GeDlOhiWt6UkZoJgjpHFohvD2nR87heYAotd/lq H5259T5cJzp/8tHNJA7dg6MLmK40z2MGTx2TGpUB3a/J9uAQO5l3ew2sRw2N2X
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Mon, Mar 07, 2022 at 04:29:22PM +0100, Jan Beulich wrote:
> On 07.03.2022 16:05, Roger Pau Monné wrote:
> > On Mon, Mar 07, 2022 at 02:49:32PM +0100, Jan Beulich wrote:
> >> Support for this construct was added in 2.22 only. Avoid the need to
> >> introduce logic to probe for linker script capabilities by (ab)using the
> >> probe for a command line option having appeared at about the same time.
> >>
> >> Fixes: 4b7fd8153ddf ("x86: fold sections in final binaries")
> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> >> ---
> >> Obviously this doesn't take care of old LLVM ld yet, if any care is
> >> needed there in the first place.
> >>
> >> --- a/xen/arch/x86/arch.mk
> >> +++ b/xen/arch/x86/arch.mk
> >> @@ -70,6 +70,11 @@ ifeq ($(CONFIG_UBSAN),y)
> >>  $(call cc-option-add,CFLAGS_UBSAN,CC,-fno-sanitize=alignment)
> >>  endif
> >>  
> >> +# While not much better than going by raw GNU ld version, utilize that the
> >> +# feature we're after has appeared in the same release as the
> >> +# --print-output-format command line option.
> >> +AFLAGS-$(call ld-option,--print-output-format) += 
> >> -DHAVE_LD_SORT_BY_INIT_PRIORITY
> > 
> > LLVM ld doesn't have --print-output-format:
> > 
> > % ld --print-output-format
> > ld: error: unknown argument '--print-output-format'
> > 
> > So it would be always defaulting to SORT. I'm not sure what to
> > recommend.
> 
> Do you know if all versions we support know of SORT_BY_INIT_PRIORITY?

Hm, I don't think we can assume that we support LLVM LD in 3.5. I'm
not even sure if LLVM 3.5 had LLD in the first place.

The first version that we care about and that we test is LLVM LD 6,
anything below that version is of unknown state.

I've tested you change with SORT_BY_INIT_PRIORITY on it and it seems
to be fine. This was on FreeBSD 12.3 version of LLD, not sure how
many changes have been backported from newer versions there.

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.