[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: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Tue, 14 Sep 2021 08:55:02 +0200
  • 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; bh=cMmlJddhrJKH0sobqoQ4EX7wVdGnGn9RVUOEOYK1QW4=; b=S/3RPKZOyEjeWowXTD+O3u78Oqh7ESzucZFDwzYeW0fif2++xWuwwqKxkZE5PgmHTCGaioflsqzv32Y3rOBI489hEUiHXzLOyFCFwTzwtjGEY58/Nzz0Yl5z7ZTnCmEoB16yrVOBnLdBaaJR9aU8Dnj1/MbNE1Ogg88/qIC+d054hoiuNzbFFAJS29I8gZDHruAhBlWDjjqSZ9FdCHjguvubim//Yi3lNFKUvZjjh6kEY6bd+ivqvew1YA0sdSx5jenbQCCGLhZ/VwlJoMbAid27aD3sEu2omyxjpai7AMm13bq3/U4PaHZQhBiEFnGbg7Ui4akQcUZfVrx5G4LkdA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VzBRiQl1nVyXINJyAtRFLvL8z4Q5q/sj1Tid39KJ7jmJl++mu3cupVhtDvNIIBega+QnJbOpy33FR67FR5wFbChLcJ52r/z2NU/K6DjF4Z2uTr+RGwBiESIolIofP9DWfaIYZ9KO0I4I+BEhuwSd1Q2UieujepJ7s735+p+iP68lEctpDjFJL0+9F5JzCvL9HDgc2KQXyijxt19DtPD7FS8kiCrguUF1ggfKl+9cvmg9xX+atSN5lydxgcPkBSWmufndR6TJQKhr2/UgR+QKaX6gJjXWo4yR8pULljVgaIWaVUTAUN3zD0MO0s2lOLZzpoGWMXwAVVbxJCFSWe9TVQ==
  • Authentication-results: esa1.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: Tue, 14 Sep 2021 06:55:24 +0000
  • Ironport-data: A9a23:DQylUKDUSoV9zBVW/zfkw5YqxClBgxIJ4kV8jS/XYbTApDgn32AHx jceWWCAaauONmr8Kdp1Odzi909X7JDdmoJjQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WLOs1hxZH1c+EX9w0E47wobVv6Yz6TSHK1LV0 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/qByihfdd9 4h0sJWIWAkqN47jneckTEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHv6SuIEEjGhYasZmIs7af tcJa2VWUjfQai1wIwksIoMGtbL97pX4W2IB8w/EzUYt2EDMyCRh3b6rN8DaEvSaSMMQkkuGq 2bu+2XiHgpcJNGZ0SCC8H+nmqnIhyyTcIAYGaC89/VqqEaO3WFVAxoTPWZXutHg1BT4AYgGb RVJpGx+9sDe6XBHUPHedjaih1K74ycZUuJBHe4zyy6IyZPLtlPx6nc/ctJRVDA3nJZoHmVwj QLYw4yB6S9H6+LOGCnEnluAhXbrY3FEczVaDcMRZVZdu7HeTJcPYgUjpzqJOJW8iMH8URr0y iqDxMTVr+RO1ZNXv0lXEFauvt5NmnQrZlVujuk0djj8hu+cWGJCT9b0gWU3Fd4acO6koqCp5 RDoYfRyCdwz4WylznTREI3h441FF97aaWaB0DaD7rEK9ii3+m7LQL28FApWfR8zWu5dIGeBS BaK5Wt5uc8CVFP3PPQfS9/gVKwXIV3ISI2Nugb8NYEVPPCctWavoUlTWKJn9zuxyRN9zf5mY s7znATFJS9yNJmLBQGeHo81+bQq2jo/1SXUQ5X6xA6gyr2QeDieTrJtDbdERrlRAHqsrFqH/ tBBGdGNzhkDAuTybjOOqdwYLEwQLGh9Dpfz8pQFeumGKwtgOWcgF/6Onu9xJ907x/xYxrXS4 3Wwek5E016j13fJHhqHNyJ4Y7T1UJch8X9iZX4wPUyl0mQIaJq06PtNbIM+eLQqrbQxzfN9Q /QfVd+HB/BDFmbO9zgHNMGvp41+bhW7wwmJOnP9MjQ4epdhQS3P+8PlIVSzpHVfUHLvuJJn8 bO61w7dTZ4SfChYDZ7bOKC10le8nXkBg+YuDUHGFcZeJRf3+49wJi2v0vJue5MQKQ/Ozyex3 hqNBUtKvvHEpoI4/YWbha2AqIv1QeJyElADQjve5LeycyLb4nCi0clLV+PRJWLRU2b9+aODY +RJzq6jbK1bzQgS64csQax2ya8e5sf0o+4IxwtpK3zHclC3B+4yOXKBx8RO6vVAy7IxVdFag a5TFg224Ym0Bf4=
  • Ironport-hdrordr: A9a23:QPM/3qNhWTTsEcBcTq+jsMiBIKoaSvp037BN7SFMoH1uHPBw+P rDoB1273XJYVUqM03I8OroUJVoKkmyyXca2+QsAYs=
  • Ironport-sdr: k45HzrNVK9XlVF27Oj0HLc6o+xaJ1sBlYNbkp2++kraoqpoUCGLzINDYRBXTlNQ0ZHug6hEs/3 9H53tJnr/m+m+fgBD2lTNNqmh6pGXF0lxTvf6LEdB8JVrRXxTxOzOwav42IsTbfWdF4piZ2cO1 Uug8JjB8VYF5BYexjncD8CCNfKFKJwKZ5qcgLU0pM3S6H4H34JZP+H43lEzHbAYi7rIJsKQr9S VIF2KfwD10gw9OHv77mmxubJK1xOlViPhJYGAgP3oSGZxjH0cMtvu3jPsSwQ32KD2eUgOJAGsh CyayJQGHkfZSQkPKJNbbPmkT
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Mon, Sep 13, 2021 at 05:10:54PM +0200, Jan Beulich wrote:
> 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.

Well, userland ./configure is also used for setting build time options
for the tools (we have a bunch of --{disable/enable}-foo), so I think
the line is quite fuzzy there also.

I think it would be better if we could split Kconfig settings into
.config and .tools for example, to clearly differentiate between
user-selected options vs environment information, and then it would
also be fairly easy to regenerate .tools on every build. Sadly I don't
think Kconfig is capable of this in it's current state.

Thanks, Roger.



 


Rackspace

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