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

Re: [PATCH v1 2/5] CI: drop Ubuntu 16.04


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Edwin Torok <edwin.torok@xxxxxxxxxx>
  • Date: Tue, 31 Mar 2026 08:29:12 +0000
  • Accept-language: en-GB, en-US
  • 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=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=g5CgmOt4hNb5k5yIEzDjcG7+blEa41+bIyy12cG/PaY=; b=UZL+3F0L7H6S3s0wfUVivAffZXxyJdIoqwD+kniFnw3ibuPjJ3VbqpfBQD75QmxYxj3mGpd3Fy+7WsUEMcYzX7XuDqM7q/XCXlfnFaGIffDNrSHjyDLvREcQvfWL4Ddk8sZHgLp6pSmV4L/DgtClOCl4pOvJz0xZ1XVebOvrwjIHVOlFbRkAJAAM4kTMmeMFPGiYtyR2mTOQuDJK5cm4rdDx/xkmCs9/0T/8pcHBWtL0p9WJrT+nocFTrS6bFUh7IpPsS4TSUX2aJG5kzVdpdPN01eflmSKEbjRY4XRiDBA8rh+ZkZ07mT8nhy5pPinrAlJXjZ42qH3xVl+xUNnkuQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pWezLmhSTk3xkx465wpON0+/Chxd+3VdVvIQn0kyl3+FgXcojZEyGAj4adnXvjvhSWCrrFOHy+OhfQ9C+8/q/PkBDU7XWwFmIrQkjMChI3rzdB8BC/uMK/dfAUeq6nRDcpPkbFpab/IBp7rdKdeQ81GyiKNRp6bicBBbyxWaJ/HSIgEKExwuhss6l/2eF1tH3r3l+0B54VJKMiIsUW/FEXZO5JNYf0rbJ6QsYBp8ZrRCMy+V9EnKK+T/0UoqmL5dY/q1yTQ6Kt23XvOFnlBph0jDekwIvqi/uCJTsbvnBqhMKPe/QKRO+EB1TVkw9GoG7rx/kqf3pVp1toO6KSqAFA==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Doug Goldstein <cardoe@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 31 Mar 2026 08:29:23 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHcwGC+DQyaEB1zLUaIAlfbsyKd+7XINvGAgAAZKoA=
  • Thread-topic: [PATCH v1 2/5] CI: drop Ubuntu 16.04


> On 31 Mar 2026, at 07:58, Jan Beulich <jbeulich@xxxxxxxx> wrote:
> 
> On 30.03.2026 18:17, Edwin Török wrote:
>> Ubuntu 16.04 is EoL on 2026-04-02.
> 
> It going EOL very soon is a good reason; it causing ...
> 
>> It fails to build the emulator tests, probably due to a binutils that is too 
>> old:
>> 
>> ```
>> gcc -m32 -march=i686 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall 
>> -Wstrict-prototypes -Wno-unused-but-set-variable -Wno-unused-local-typedefs 
>> -Werror -O2 -fomit-frame-pointer 
>> -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ 
>> -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -mno-tls-direct-seg-refs -fno-pie 
>> -fno-exceptions -fno-asynchronous-unwind-tables -ffreestanding -nostdinc 
>> -I/builds/xen-project/people/edwintorok/xen/tools/tests/x86_emulator/../../../tools/firmware/include
>>  -fno-stack-protector -g0 -D_16 -mpclmul -mssse3 -mpclmul -ffixed-xmm0 -Os 
>> -DVEC_SIZE=16 -c ssse3-pclmul.c
>> /tmp/cchhD6n5.s: Assembler messages:
>> /tmp/cchhD6n5.s:202: Error: junk at end of line, first unrecognized 
>> character is `{'
>> /tmp/cchhD6n5.s:203: Error: junk at end of line, first unrecognized 
>> character is `{'
>> /tmp/cchhD6n5.s:205: Error: junk at end of line, first unrecognized 
>> character is `{'
>> ```
> 
> ... build issues in the test blobs isn't. The harness is specifically able to
> cope with blob build failures. Another thing would be if test_x86_emulator.c
> failed to build (but see below).

The whole build pipeline failed, maybe I extracted the wrong part of the error 
message.
https://gitlab.com/xen-project/people/edwintorok/xen/-/jobs/13661296490

Unfortunately the output is truncated:
```
Job's log exceeded limit of 4194304 bytes.
Job execution will continue but no more output will be collected.
```

It looks like GCC accepted the mavx512dq flag, but then binutils failed to 
assemble the output?
Although as you say another way to avoid that would be to fix the gas version 
check,
more on that below.

> 
> Is the above representative output anyway (i.e. is this not perhaps 
> interleaved
> output from a parallel build)? ssse3-pclmul.c, built with -mssse3 -mpclmul 
> (i.e.
> no AVX512 options), shouldn't really involve `{'. Furthermore we specifically
> have a check in the Makefile, skipping building altogether when gcc and/or gas
> are too old.
> 
>> Same test passes on Ubuntu 18.04.
> 
> Hard to believe that there wouldn't be at least some failures. Perhaps said
> check prevents the attempt to build the harness there?

The passing build logs are at 
https://gitlab.com/xen-project/people/edwintorok/xen/-/jobs/13661296494/viewer
There are failures about unrecognised compiler flags, which are indeed ignored:
```
gcc: error: unrecognized command line option '-mavx512fp16'; did you mean 
'-mavx512f'?
testcase.mk:16: recipe for target 'avx512fp16.bin' failed
make[7]: *** [avx512fp16.bin] Error 1
```

> 
>> Note: the minimum version of binutils might have to be updated.
>> Ubuntu 16.04 had version 2.26.1, which satisfies the >= 2.25 requirement
>> in the README, and yet it failed as shown above.
> 
> The harness is special, as said. Imo we shouldn't be updating the requirements
> just for it. If anything, the mentioned gcc/gas check may need updating. 
> {evex},
> for example, requires gas 2.29 (i.e. gcc6 time frame).

I think the problem might be that the checks aren’t done for the ‘run’ target 
(which is what I’m attempting to use in the CI):
```
# Suppress building by default of the harness if the compiler can't deal
# with some of the extensions used. Don't alter the "run" target dependencies
# though, as this target needs to be specified manually, and things may work
# partially even with older compilers.

TARGET-y := $(TARGET)

ifneq ($(filter-out run% clean% distclean,$(MAKECMDGOALS)),)
```

The simplest solution here would be to remove ‘run%’ from the filter rules.
If it is useful I can introduce an alias force-run, that can be used to 
manually try to run anyway (although that attempt may in the end fail, as with 
Ubuntu 16.04).
What do you think?

Best regards,
—Edwin
> As does VPCMPESTRIQ. I
> specifically have a local patch to make it possible to build the harness with
> pre-gcc7 (I don't have any gcc6 anywhere, to that boundary may be off by 1). I
> didn't think this hackery would be acceptable upstream.
> 
> Jan


 


Rackspace

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