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

Re: [PATCH] x86: work around build issue with GNU ld 2.37

  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 16 Aug 2021 17:43:54 +0200
  • 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
  • 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-SenderADCheck; bh=BMn6eybIX4RyhUSyE7uOxwLitQXQN/tNiFn+dm5R3Kw=; b=kAd0D6B+DRVby993wPX1G8EScqsRTkkJVAc8V4rRtT2v/+OSzKePrwXrJPVLj63/mOhFcf0vtsMYj+OrZgDGK7Og2RxhyttOUY66rkznQa6Egy1zA9/THtVIiTrSJcOtuKyVbms5IIKLc9E1sZxBBOhirlUoNr1SjuYPRyK4AF428mavhuaffDJxq9HTrtJLEyAqf7ts4pxaprCTfBsAEWVdMLj92xMUsV87FOBxKh3bxf5YBoExgcwvHKH7lnG2aAhgHbM0xOgDQ87BEs0KoqKoGeF1W71Fayv4Za4lC+xD1aKmxmy2I1TD3BUUuC5N0hWOj3seFJV469TBDPCWkA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AfSGfU3CgjAxqL06rgsEODnLbCXtard96WrNlFtryk0Sl9FAqF7+WFRrUObpnIvAuCXSthiLJDluAC5OsJaC9xke/3lVvL6m5ui9/AM3PpI4KYpGUwxgSEl85iVLnJFaLhpASiVyiTeTOMqwdyEI5+sTqVNvC+WDCCb/JE2P0e/DGb38TGniPCK4ZxhVKHaUXDuTomRUJzobAOyeOtTd+E/17/4Eg2D2Sj+UKCsRUz3MG6bfJ6jvHBkLPZI8tlxg6vC7O7vWaFzC8zvVpvZZtU0MEOPyrNLBse2FCBBx3/axnbcN2V5CQTkNh9D/1YRe7d6O6bVkAsBbWbWfz5upwA==
  • Authentication-results: lists.xenproject.org; dkim=none (message not signed) header.d=none;lists.xenproject.org; dmarc=none action=none header.from=suse.com;
  • Cc: Wei Liu <wl@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Mon, 16 Aug 2021 15:44:07 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 10.08.2021 10:50, Jan Beulich wrote:
> On 10.08.2021 10:33, Andrew Cooper wrote:
>> On 03/08/2021 07:37, Jan Beulich wrote:
>>> On 27.07.2021 14:33, Andrew Cooper wrote:
>>>> On 22/07/2021 10:20, Jan Beulich wrote:
>>>>> I suspect it is commit 40726f16a8d7 ("ld script expression parsing")
>>>>> which broke the hypervisor build, by no longer accepting section names
>>>>> with a dash in them inside ADDR() (and perhaps other script directives
>>>>> expecting just a section name, not an expression): .note.gnu.build-id
>>>>> is such a section.
>>>> Are binutils going to fix their testing to reduce the number of serious
>>>> regressions they're releasing?
>>> To be honest - I simply don't know.
>>>>> Quoting all section names passed to ADDR() via DECL_SECTION() works
>>>>> around the regression.
>>>>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>>>> I guess we've got no choice.  Acked-by: Andrew Cooper
>>>> <andrew.cooper3@xxxxxxxxxx>
>>> Thanks. I see you've committed this already.
>> Actually, it unilaterally breaks FreeBSD builds: 
>> https://cirrus-ci.com/task/5417332467040256
>> I'm not sure why my build tests didn't notice, but obviously this patch
>> isn't a workable option.
> I'm confused: Is the tool called "ld" there something that's not only not
> GNU ld, but not even compatible with GNU ld? (Iirc clang's linker is named
> differently. Or maybe that's just on Linux? In any event I've just checked
> with clang5 [on Linux], and the build worked fine there. But this looks to
> be using GNU ld irrespective of the compiler choice, and I also don't seem
> to have anything named "llvm-ld" on that system, despite there being a lot
> of other "llvm-*".)

So I've looked at their man pages. From version 11 to version 12 the
linker changed from GNU ld to LLVM's. Interestingly the respective man
page says

     ld.lld is a drop-in replacement for the GNU BFD and gold linkers.  It ac-
     cepts most of the same command line arguments and linker scripts as GNU

To me "most of the same" isn't quite enough to claim "drop-in
replacement", but I guess that's just me ... Anyway - short of Roger
being around to ask, I'll try to locate a means to tell the two apart
from a linker script.




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