All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xen-devel] tools/tests/x86_emulator causes build failures with older but supported compilers
@ 2019-11-23 18:00 Doug Goldstein
  2019-11-25 10:44 ` Jan Beulich
  0 siblings, 1 reply; 4+ messages in thread
From: Doug Goldstein @ 2019-11-23 18:00 UTC (permalink / raw)
  To: xen-devel; +Cc: Andrew Cooper, Wei Liu, Jan Beulich, Roger Pau Monné

Hello,

Per README, GCC 4.1.2 should lead to a successful default "make install" 
per INSTALL. Currently this is failing due to tools/tests/x86_emulator 
being in the default path and requiring a compiler with AVX. GCC 4.4.7 
on CentOS 6 does not have this leading to a failure to build.

1265 make[5]: Entering directory `/builds/xen-project/xen/tools/tests'
1266 make -C x86_emulator install
1267 cc1: error: unrecognized command line option "-mavx2"
1268 cc1: error: unrecognized command line option "-mavx512f"
1269 cc1: error: unrecognized command line option "-mavx512bw"
1270 cc1: error: unrecognized command line option "-mavx512dq"
1271 cc1: error: unrecognized command line option "-mavx512er"
1272 cc1: error: unrecognized command line option "-mavx512vbmi"
1273 /tmp/ccMkLpTV.s: Assembler messages:
1274 /tmp/ccMkLpTV.s:3: Error: junk at end of line, first unrecognized 
character is `{'
1275 make[6]: Entering directory 
`/builds/xen-project/xen/tools/tests/x86_emulator'
1276 Makefile:116: Test harness not built, use newer compiler than "gcc" 
(version 4.4.7) and an "{evex}" capable assembler
1277 make[6]: Nothing to be done for `install'.

Full log here: https://gitlab.com/xen-project/xen/-/jobs/358852978#L1266

We have 2 options for the next release:

1. Bump the minimum GCC requirement for the tree and drop any support 
for any distro not matching that requirement.

2. Fix the default build to work with older GCC versions.

Thanks.

--

Doug


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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xen-devel] tools/tests/x86_emulator causes build failures with older but supported compilers
  2019-11-23 18:00 [Xen-devel] tools/tests/x86_emulator causes build failures with older but supported compilers Doug Goldstein
@ 2019-11-25 10:44 ` Jan Beulich
  2019-11-25 13:52   ` Doug Goldstein
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Beulich @ 2019-11-25 10:44 UTC (permalink / raw)
  To: Doug Goldstein; +Cc: xen-devel, Roger Pau Monné, Wei Liu, Andrew Cooper

On 23.11.2019 19:00, Doug Goldstein wrote:
> Per README, GCC 4.1.2 should lead to a successful default "make install" 
> per INSTALL. Currently this is failing due to tools/tests/x86_emulator 
> being in the default path and requiring a compiler with AVX. GCC 4.4.7 
> on CentOS 6 does not have this leading to a failure to build.
> 
> 1265 make[5]: Entering directory `/builds/xen-project/xen/tools/tests'
> 1266 make -C x86_emulator install
> 1267 cc1: error: unrecognized command line option "-mavx2"
> 1268 cc1: error: unrecognized command line option "-mavx512f"
> 1269 cc1: error: unrecognized command line option "-mavx512bw"
> 1270 cc1: error: unrecognized command line option "-mavx512dq"
> 1271 cc1: error: unrecognized command line option "-mavx512er"
> 1272 cc1: error: unrecognized command line option "-mavx512vbmi"
> 1273 /tmp/ccMkLpTV.s: Assembler messages:
> 1274 /tmp/ccMkLpTV.s:3: Error: junk at end of line, first unrecognized 
> character is `{'

These are errors, yes, but ...

> 1275 make[6]: Entering directory 
> `/builds/xen-project/xen/tools/tests/x86_emulator'
> 1276 Makefile:116: Test harness not built, use newer compiler than "gcc" 
> (version 4.4.7) and an "{evex}" capable assembler
> 1277 make[6]: Nothing to be done for `install'.

... there's no build failure here afaics, and this is the intended
way of how things are to work.

> Full log here: https://gitlab.com/xen-project/xen/-/jobs/358852978#L1266
> 
> We have 2 options for the next release:
> 
> 1. Bump the minimum GCC requirement for the tree and drop any support 
> for any distro not matching that requirement.

Not an option - the harness can only be built with gcc 8 or newer right
now, yet we can't raise the requirements (for all of Xen) this much imo.

> 2. Fix the default build to work with older GCC versions.

Not a reasonable option either, as it would be cluttering the harness
with all sorts of #ifdef-s or abstracting wrappers, making it even
more difficult to make changes to it.

What was considered in the past was to skip building of tests/ as a
whole in non-debug builds; don't know what has come of this. It is
probably telling enough that the bottom of ./Config.mk reads like this:

# Short answer -- do not enable this unless you know what you are
# doing and are prepared for some pain.

CONFIG_TESTS       ?= y

Jan

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xen-devel] tools/tests/x86_emulator causes build failures with older but supported compilers
  2019-11-25 10:44 ` Jan Beulich
@ 2019-11-25 13:52   ` Doug Goldstein
  2019-11-25 14:19     ` Jan Beulich
  0 siblings, 1 reply; 4+ messages in thread
From: Doug Goldstein @ 2019-11-25 13:52 UTC (permalink / raw)
  To: Jan Beulich; +Cc: xen-devel, Roger Pau Monné, Wei Liu, Andrew Cooper

On 11/25/19 4:44 AM, Jan Beulich wrote:

> On 23.11.2019 19:00, Doug Goldstein wrote:
>> Per README, GCC 4.1.2 should lead to a successful default "make install"
>> per INSTALL. Currently this is failing due to tools/tests/x86_emulator
>> being in the default path and requiring a compiler with AVX. GCC 4.4.7
>> on CentOS 6 does not have this leading to a failure to build.
>>
>> 1265 make[5]: Entering directory `/builds/xen-project/xen/tools/tests'
>> 1266 make -C x86_emulator install
>> 1267 cc1: error: unrecognized command line option "-mavx2"
>> 1268 cc1: error: unrecognized command line option "-mavx512f"
>> 1269 cc1: error: unrecognized command line option "-mavx512bw"
>> 1270 cc1: error: unrecognized command line option "-mavx512dq"
>> 1271 cc1: error: unrecognized command line option "-mavx512er"
>> 1272 cc1: error: unrecognized command line option "-mavx512vbmi"
>> 1273 /tmp/ccMkLpTV.s: Assembler messages:
>> 1274 /tmp/ccMkLpTV.s:3: Error: junk at end of line, first unrecognized
>> character is `{'
> These are errors, yes, but ...
>
>> 1275 make[6]: Entering directory
>> `/builds/xen-project/xen/tools/tests/x86_emulator'
>> 1276 Makefile:116: Test harness not built, use newer compiler than "gcc"
>> (version 4.4.7) and an "{evex}" capable assembler
>> 1277 make[6]: Nothing to be done for `install'.
> ... there's no build failure here afaics, and this is the intended
> way of how things are to work.

The tree is intended to build with a default "make install" with a 
supported set of tools from README. This is part of the conversations 
we've had in the past about what should be treated as proper and it was 
universally agreed.

>> 2. Fix the default build to work with older GCC versions.
> Not a reasonable option either, as it would be cluttering the harness
> with all sorts of #ifdef-s or abstracting wrappers, making it even
> more difficult to make changes to it.
>
> What was considered in the past was to skip building of tests/ as a
> whole in non-debug builds; don't know what has come of this. It is
> probably telling enough that the bottom of ./Config.mk reads like this:
>
> # Short answer -- do not enable this unless you know what you are
> # doing and are prepared for some pain.
>
> CONFIG_TESTS       ?= y
Then this is what the default of the tree should be.

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Xen-devel] tools/tests/x86_emulator causes build failures with older but supported compilers
  2019-11-25 13:52   ` Doug Goldstein
@ 2019-11-25 14:19     ` Jan Beulich
  0 siblings, 0 replies; 4+ messages in thread
From: Jan Beulich @ 2019-11-25 14:19 UTC (permalink / raw)
  To: Doug Goldstein; +Cc: Andrew Cooper, xen-devel, Wei Liu, Roger Pau Monné

On 25.11.2019 14:52, Doug Goldstein wrote:
> On 11/25/19 4:44 AM, Jan Beulich wrote:
> 
>> On 23.11.2019 19:00, Doug Goldstein wrote:
>>> Per README, GCC 4.1.2 should lead to a successful default "make install"
>>> per INSTALL. Currently this is failing due to tools/tests/x86_emulator
>>> being in the default path and requiring a compiler with AVX. GCC 4.4.7
>>> on CentOS 6 does not have this leading to a failure to build.
>>>
>>> 1265 make[5]: Entering directory `/builds/xen-project/xen/tools/tests'
>>> 1266 make -C x86_emulator install
>>> 1267 cc1: error: unrecognized command line option "-mavx2"
>>> 1268 cc1: error: unrecognized command line option "-mavx512f"
>>> 1269 cc1: error: unrecognized command line option "-mavx512bw"
>>> 1270 cc1: error: unrecognized command line option "-mavx512dq"
>>> 1271 cc1: error: unrecognized command line option "-mavx512er"
>>> 1272 cc1: error: unrecognized command line option "-mavx512vbmi"
>>> 1273 /tmp/ccMkLpTV.s: Assembler messages:
>>> 1274 /tmp/ccMkLpTV.s:3: Error: junk at end of line, first unrecognized
>>> character is `{'
>> These are errors, yes, but ...
>>
>>> 1275 make[6]: Entering directory
>>> `/builds/xen-project/xen/tools/tests/x86_emulator'
>>> 1276 Makefile:116: Test harness not built, use newer compiler than "gcc"
>>> (version 4.4.7) and an "{evex}" capable assembler
>>> 1277 make[6]: Nothing to be done for `install'.
>> ... there's no build failure here afaics, and this is the intended
>> way of how things are to work.
> 
> The tree is intended to build with a default "make install" with a 
> supported set of tools from README. This is part of the conversations 
> we've had in the past about what should be treated as proper and it was 
> universally agreed.

You still didn't clarify where the build failure is in here. Osstest
for example hits the above errors all the time, without the build
failing. Same for apparently everyone else.

And no, I don't think it was agreed that the _tests_ need to be
buildable with random old tool chains.

Jan

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-11-25 14:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-23 18:00 [Xen-devel] tools/tests/x86_emulator causes build failures with older but supported compilers Doug Goldstein
2019-11-25 10:44 ` Jan Beulich
2019-11-25 13:52   ` Doug Goldstein
2019-11-25 14:19     ` Jan Beulich

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.