From nobody Fri Aug 30 15:35:03 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WwMfK2z9Qz5MlxB; Fri, 30 Aug 2024 15:35:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WwMfK2RfRz46bR; Fri, 30 Aug 2024 15:35:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725032105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3scL+nuvotNO5Lj1CmPp2XYw8cHT5+XEFOjt7WAaoH8=; b=RY6yhvYt1HrvLYgDYLRoXHI1AY+dlBh3YbBesbRWG4inAyLQYnIOjf2zu3Ppr6tCw3jN+i XaJibfHb5OUyGZ4Ng3is9RIH3w5AunE3MWcYWzF0kBDXT17JeLyS1TzvBmKmhUd0E/Ja2F O61LaZThwAoTg189Y692uswToqLpyNFNCSFQQDvFHMRsUwmP352VtBRD1UlzFM4jsBNznI 8hEs38M8RNKW+j9gabliWds4bSeMMKHFyuaw9uQ9kZ8j5em8qdLARCCC3exz/mp2X2nh+1 fSR2dUjJv9DsTfCH0+IcFCg6KMnnPBC90NOImrJCT295ySb1oX62qqKsnr5Mpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725032105; a=rsa-sha256; cv=none; b=dIr3xmZawFXVfhC7LrriIN4jllBXQIahf3aS0fcv7InY6TCIzbQboPThqLUfVoagZNxu+6 kgkgbPCVQ4IAdxmJ4cwoioJTGNdnrFpiDkLBAW5VNNvSeP+Ugzgx4HOotm53LOukfEQUzn /Ty2Ve85Z39WfwxN7jrpDnn30rhU93nGp9BzkDGlKZ1q2MsmRZ/uuJumORAfPFXj2xnqdH oJG3p+YyDPN/HmAwYrnM0kOkJVs6V+eFYoVT3F2Szr89roSFWywE/tl0niArHVjhMVVEn1 Eyg5xsZ/vOr2PmkZ49PvcXvw0MNUQb1r019lYWcS9JzKlZ+OGa7nyYfvTkHm+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725032105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3scL+nuvotNO5Lj1CmPp2XYw8cHT5+XEFOjt7WAaoH8=; b=sIrSaCmvWYQgSHFu2dULJyIaC8TXuJwxuXmaiWBkKSVd2MrsaJlEE6glC5z41HhOmEO6t6 RQ6dadiJ5oew2ZfqHtt4LuKPHxeDj1RrXVu4ypibWN2T7v86qVdJ9TyTmZMCA9VaWh+1Hb Kqwr8SUVLTUchT2XkWOBk8AfsioFAHNtbCiHvDsGkmf9raN+ninVBrr3JlShXLUW6XupHL s0hAPGZFLsdR3ht59goerbshx1WGJ/SPQioMI+dXYEgCr8Aw+kl7A4bcCaKOzBZg2gqamG +ZsjIh37Jo3A0CSEO8SW4C11ShIuONb06HoMs5BBNzJ9j1X9J4nnDIQyymh6qA== Received: from [IPV6:2601:5c0:4200:b830:d8b0:c858:39e:16a2] (unknown [IPv6:2601:5c0:4200:b830:d8b0:c858:39e:16a2]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4WwMfK0MJxz18jw; Fri, 30 Aug 2024 15:35:04 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <8a9faa7c-1f81-4aa8-adac-a6f07d7d73ff@FreeBSD.org> Date: Fri, 30 Aug 2024 11:35:03 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 43e8849bc294 - main - conf: Enable BTI checking in the arm64 kernel Content-Language: en-US To: Andrew Turner , Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202408200902.47K92BsJ078096@gitrepo.freebsd.org> <77cbcd47-1778-4e71-b824-4e75e0e4b2d6@FreeBSD.org> <19DBDC11-EB0F-48C0-9AAE-9EED087F0AB6@freebsd.org> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 8/30/24 04:55, Andrew Turner wrote: > > >> On 29 Aug 2024, at 17:02, Jessica Clarke wrote: >> >> On 21 Aug 2024, at 15:28, John Baldwin wrote: >>> >>> On 8/20/24 05:02, Andrew Turner wrote: >>>> The branch main has been updated by andrew: >>>> URL: https://cgit.FreeBSD.org/src/commit/?id=43e8849bc29414036ccaef7788de95a07ad32ab5 >>>> commit 43e8849bc29414036ccaef7788de95a07ad32ab5 >>>> Author: Andrew Turner >>>> AuthorDate: 2024-08-19 12:59:49 +0000 >>>> Commit: Andrew Turner >>>> CommitDate: 2024-08-20 08:49:15 +0000 >>>> conf: Enable BTI checking in the arm64 kernel >>>> To ensure new code has BTI support make it an error to not have the >>>> BTI ELF note when linking the kernel and kernel modules. >>>> Reviewed by: kib, emaste >>>> Sponsored by: Arm Ltd >>>> Differential Revision: https://reviews.freebsd.org/D45469 >>> >>> This has broken two of the GitHub CI actions using clang 12 and clang 13. >>> Please fix this to be conditional on a supported linker version (or perhaps >>> add a new linker feature to bsd.linker.mk). >> >> This is still broken. If it’s not fixed promptly I will just revert >> this change; we can’t leave CI broken, especially when it gets used to >> test GitHub PRs. Please stop breaking building with older toolchains, >> this isn’t the first time it’s happened. > > See https://github.com/freebsd/freebsd-src/pull/1393 and https://github.com/freebsd/freebsd-src/pull/1399 I do think we probably want to flesh out a bit more what kind of policy we want for the range of compiler versions to support. E.g. in the GDB project the policy is something like "will not use a version of C++ newer than a compiler from 10 years ago" (IIRC). There they will also look back to whatever LTS distros are active and what is the newest compiler that can be installed on those LTS via the equivalent of ports. Traditionally we used to only support compiling FreeBSD N on FreeBSD N-1 (though we have often supported older versions of FreeBSD). However, we now also support cross-compiling from Linux and macOS, so we probably want to widen the support base a bit. I would say a first stab perhaps is that main and any supported stable and release branches should be buildable on a host running any of those versions. That is, FreeBSD 13 is still supported so we should keep main building on it directly without requiring a jump to FreeBSD 14 first. Once 13 EOLs then we can stop supporting 13, and that would gives folks on 13 a way to step up to the supported version of 14 at the time of the EOL. That said, presuambly fairly recent versions of LLVM (and GCC for that matter) will be available in ports for supported versions, so that doesn't necessarily require a very wide range of supported compiler versions. Supporting the "native" compiler on those releases would be a nice goal that I think is probably achievable with minimal effort. Today our oldest supported release is 14.0 which shipped with clang 16, and 13.3 shipped with clang 17. Both of those are quite a bit newer than clang 12 that is current oldest version in CI. I have no idea what version range might be sensible for Linux and macOS. Presumably we'd want to settle on some range of ubuntu LTS versions and whatever is the newest version you can install on the oldest LTS as the minimum. clang 12 might have been used in 13.1 (not mentioned in the release notes, 13.0 used clang 11, 13.2 used clang 14) and 12.3 (12.4 used clang 13, 12.2 used clang 10, 12.3 didn't mention it). I know CHERI LLVM is still on LLVM 15 (though moving to LLVM 16 soon, but Morello LLVM is 14 still I think). libc++ is also making this more complicated as they are providing very little compatability at all. They've already ripped out support for GCC 14 I believe, so you can't build current libc++ with a released version of GCC or something crazy. -- John Baldwin