All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Ian Jackson <Ian.Jackson@citrix.com>,
	Wei Liu <wei.liu2@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH] tests/cpu-policy: Skip building on older versions of GCC
Date: Fri, 24 May 2019 09:25:34 -0600	[thread overview]
Message-ID: <5CE80CEE020000780023217D@prv1-mh.provo.novell.com> (raw)
In-Reply-To: <a06368e0-912f-6db9-09d9-171243965c82@citrix.com>

>>> On 24.05.19 at 16:43, <andrew.cooper3@citrix.com> wrote:
> On 24/05/2019 15:19, Jan Beulich wrote:
>>>>> On 24.05.19 at 15:29, <andrew.cooper3@citrix.com> wrote:
>>> --- a/tools/tests/cpu-policy/Makefile
>>> +++ b/tools/tests/cpu-policy/Makefile
>>> @@ -1,8 +1,20 @@
>>>  XEN_ROOT = $(CURDIR)/../../..
>>>  include $(XEN_ROOT)/tools/Rules.mk
>>>  
>>> +TARGET-y := test-cpu-policy
>>> +
>>> +# For brevity, these tests make extensive use of designated initialisers, but
>>> +# GCCs older than 4.6 can't cope.  Ignore the test in this case.
>> Designated initializers alone are no problem for old gcc. The issue is
>> with ones used for sub-structures/-unions without field name.
>> Perhaps worth slightly extending the comment to this effect?
> 
> " in anonymous unions" ?  I can never remember exactly which bit it
> chokes on, but I think there are two different ones in practice which
> interfere.

" in anonymous unions" is fine with me.

>>> --- a/tools/tests/x86_emulator/Makefile
>>> +++ b/tools/tests/x86_emulator/Makefile
>>> @@ -97,7 +97,7 @@ $(foreach flavor,$(SIMD) $(FMA),$(eval $(call simd-check-cc,$(flavor))))
>>>  TARGET-$(shell echo 'asm("{evex} vzeroall");' | $(CC) -x c -c -o /dev/null > - || echo y) :=
>>>  
>>>  ifeq ($(TARGET-y),)
>>> -$(warning Test harness not built, use newer compiler than "$(CC)")
>>> +$(warning Test harness not built, use newer compiler than $(CC) $(shell $(CC) -dumpversion) and an "{evex}" capable assembler)
>>>  endif
>> I appreciate the idea of providing mode information, but I'm afraid
>> this is going to be clumsy in the other direction now:
>>
>> "Test harness not built, use newer compiler than gcc-4.8 4.8 and ..."
>>
>> Naming the compiler binary, I thought, allows the user to figure
>> out the version easily enough. Therefore, please consider
>> dropping that part again.
> 
> I'm afraid you have a selection bias here.  Your compiler binaries may
> have a version suffix, but the overwhelming majority of people who are
> going to hit that error and need to figure out what to do will be using
> their system-provided binaries, as per the commit message.

Well, I can only judge by what the distro does that I use; I wasn't
aware they do something non-standard. I've already avoided
mentioning my own compiler naming scheme.

> What about:
> 
>   ... than "$(CC)" (version $(shell $(CC) -dumpversion)) and ...
> 
> which should (in your example) render as:
> 
>   ... than "gcc-4.8" (version 4.8) and ...
> 
> ?

Better, so let's go with this.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

WARNING: multiple messages have this Message-ID (diff)
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
Cc: Ian Jackson <Ian.Jackson@citrix.com>,
	Wei Liu <wei.liu2@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH] tests/cpu-policy: Skip building on older versions of GCC
Date: Fri, 24 May 2019 09:25:34 -0600	[thread overview]
Message-ID: <5CE80CEE020000780023217D@prv1-mh.provo.novell.com> (raw)
Message-ID: <20190524152534.MThBUTS3p7l4oHCkdLkEG3hhVgFIxLFv8ly4vXUA5zc@z> (raw)
In-Reply-To: <a06368e0-912f-6db9-09d9-171243965c82@citrix.com>

>>> On 24.05.19 at 16:43, <andrew.cooper3@citrix.com> wrote:
> On 24/05/2019 15:19, Jan Beulich wrote:
>>>>> On 24.05.19 at 15:29, <andrew.cooper3@citrix.com> wrote:
>>> --- a/tools/tests/cpu-policy/Makefile
>>> +++ b/tools/tests/cpu-policy/Makefile
>>> @@ -1,8 +1,20 @@
>>>  XEN_ROOT = $(CURDIR)/../../..
>>>  include $(XEN_ROOT)/tools/Rules.mk
>>>  
>>> +TARGET-y := test-cpu-policy
>>> +
>>> +# For brevity, these tests make extensive use of designated initialisers, but
>>> +# GCCs older than 4.6 can't cope.  Ignore the test in this case.
>> Designated initializers alone are no problem for old gcc. The issue is
>> with ones used for sub-structures/-unions without field name.
>> Perhaps worth slightly extending the comment to this effect?
> 
> " in anonymous unions" ?  I can never remember exactly which bit it
> chokes on, but I think there are two different ones in practice which
> interfere.

" in anonymous unions" is fine with me.

>>> --- a/tools/tests/x86_emulator/Makefile
>>> +++ b/tools/tests/x86_emulator/Makefile
>>> @@ -97,7 +97,7 @@ $(foreach flavor,$(SIMD) $(FMA),$(eval $(call simd-check-cc,$(flavor))))
>>>  TARGET-$(shell echo 'asm("{evex} vzeroall");' | $(CC) -x c -c -o /dev/null > - || echo y) :=
>>>  
>>>  ifeq ($(TARGET-y),)
>>> -$(warning Test harness not built, use newer compiler than "$(CC)")
>>> +$(warning Test harness not built, use newer compiler than $(CC) $(shell $(CC) -dumpversion) and an "{evex}" capable assembler)
>>>  endif
>> I appreciate the idea of providing mode information, but I'm afraid
>> this is going to be clumsy in the other direction now:
>>
>> "Test harness not built, use newer compiler than gcc-4.8 4.8 and ..."
>>
>> Naming the compiler binary, I thought, allows the user to figure
>> out the version easily enough. Therefore, please consider
>> dropping that part again.
> 
> I'm afraid you have a selection bias here.  Your compiler binaries may
> have a version suffix, but the overwhelming majority of people who are
> going to hit that error and need to figure out what to do will be using
> their system-provided binaries, as per the commit message.

Well, I can only judge by what the distro does that I use; I wasn't
aware they do something non-standard. I've already avoided
mentioning my own compiler naming scheme.

> What about:
> 
>   ... than "$(CC)" (version $(shell $(CC) -dumpversion)) and ...
> 
> which should (in your example) render as:
> 
>   ... than "gcc-4.8" (version 4.8) and ...
> 
> ?

Better, so let's go with this.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2019-05-24 15:25 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-24 13:29 [PATCH] tests/cpu-policy: Skip building on older versions of GCC Andrew Cooper
2019-05-24 13:29 ` [Xen-devel] " Andrew Cooper
2019-05-24 13:46 ` Wei Liu
2019-05-24 13:46   ` [Xen-devel] " Wei Liu
2019-05-24 14:19 ` Jan Beulich
2019-05-24 14:19   ` [Xen-devel] " Jan Beulich
2019-05-24 14:43   ` Andrew Cooper
2019-05-24 14:43     ` [Xen-devel] " Andrew Cooper
2019-05-24 15:25     ` Jan Beulich [this message]
2019-05-24 15:25       ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5CE80CEE020000780023217D@prv1-mh.provo.novell.com \
    --to=jbeulich@suse.com \
    --cc=Ian.Jackson@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=roger.pau@citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.