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

Re: [PATCH] x86: conditionalize workaround for build issue with GNU ld 2.37


  • To: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 13 Sep 2021 17:10: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; bh=rMX6OAGq30Sj46LFCENaQfupOkDxkPlF1839vkmC/+Q=; b=ZzYGWi6bCmzhtVMWCWWyTUAkUXcT+5keo/npTvKT0iTuyxyCQrXbe7MQiXe2JyQGCwYVmiLLxIUxqCnP3Kr6hesazQgaP9HU6luOOe6CVQnWxVYGX3P5v5mfY/lT/Kaq6z3o9XKCkRCnRABgDtK308Aj/8Fuk9m5VCFl6/KYyA/9JhISgkKr7mOKt7YJsQRBbXfmMMW32nU6WSSvQQOx/GrsVuK/glfWiMv+MRvd0mWeLNcVDabHtBKpxUH0afS5Vx7/zj+7kAFFcGPR+MlRHNxndmWyW6SSBacsVQEJBe6bmVsuHrAjQMnfmgriphPdv6iwk5bEdpWFizstKiO5gQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JkOhk5Dn296LSPUGuiRH4SHmk9LRIgkQLY2WkXSesWJu9wTRPtbAzblCqw8sDccD30xvhbqejeUn9c0avgc4lfS0syIN6aTsire0nftMeT0Vuyam/UTXvBwckINlGcxyA+F3oPP0w5d69IUdsh1du6BP5lZOoMWjosGOtHWd7MVtLiSEybbad1bO+OqQgxNRD65XlWwFq5VUrwZp5i1T15qUB8149WY1u/5KltM9/RaSflGMfxc4xJMxysiwUdO/JGixPgQY+SCX0LY4XgvUP4UOZY8RUX36Mr91uPBx+KVb6g/PEYzg2uk8XXPK/PO0lxJsOJUcFabMS8bbp5kbZw==
  • Authentication-results: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Mon, 13 Sep 2021 15:11:03 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 13.09.2021 16:33, Roger Pau Monné wrote:
> On Mon, Sep 13, 2021 at 04:05:15PM +0200, Jan Beulich wrote:
>> On 13.09.2021 15:37, Roger Pau Monné wrote:
>>>> --- a/xen/arch/x86/Makefile
>>>> +++ b/xen/arch/x86/Makefile
>>>> @@ -92,10 +92,16 @@ efi-$(CONFIG_PV_SHIM_EXCLUSIVE) :=
>>>>  
>>>>  ifneq ($(build_id_linker),)
>>>>  notes_phdrs = --notes
>>>> +# Determine whether to engage a workaround for GNU ld 2.37.
>>>> +build-id-ld-good = $(shell echo 'void test(void) {}' \
>>>> +                           | $(CC) $(XEN_CFLAGS) -o .check.o -c -x c - 
>>>> 2>.check.err \
>>>> +                           && $(LD) -T check.lds -o .check.elf .check.o 
>>>> 2>>.check.err \
>>>> +                           && echo y)
>>>
>>> Do we want to make this a Kconfig option (ie: LD_UNQUOTED_DASH) and
>>> then use is here?
>>>
>>> We already have compiler and assembler checks in x86/Kconfig, so it
>>> would seem more natural to place it there.
>>
>> The question of whether to record tool chain capabilities in .config
>> is still pending. I'm not convinced this is a good idea, Andrew keeps
>> shouting me out for that, and an actual discussion doesn't really
>> happen. Yet unlike back at the time when I first raised my concern,
>> Anthony meanwhile supports me in at least the question (to Andrew) of
>> when such a discussion would have happened: Neither of us is aware,
>> yet Andrew claims it did happen, but so far didn't point out where
>> one could read about what was discussed and decided there.
>>
>> For the few uses we've accumulated I gave (if at all) an ack for
>> things happening under some sort of pressure, with the request that
>> aformentioned discussion would happen subsequently (and, depending on
>> outcome, these would be converted to another approach if need be). I
>> have meanwhile realized that it was a mistake to allow such things in
>> on this basis - the more of them we gain, the more I'm hearing "we've
>> already got some".
> 
> I see, that's not an ideal situation from a review PoV, as we don't
> have a clear placement for those and that will just cause confusion
> (and more work since there are potentially two places to check).
> 
> What's the benefit of placing the checks in Kconfig instead of the
> Makefiles?
> 
> As I understand Kconfig is run only once, while the Makefile could run
> the check multiple times.
> 
> The downfall of having them in .config is that .config could suddenly
> change as tools are updated or as it's moved around different systems
> (yet .config already contains specific compiler version information).

I should have added in the earlier reply: Besides the pros and cons
there is, to me at least, also the abstract question of whether such
information belongs in .config in the first place. To me this file
has always been a record of build-meister decisions only. Quite
different from the output of userland ./configure, where checking
various aspects of the environment is the primary goal.

Jan




 


Rackspace

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