From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1485CC433B4 for ; Tue, 4 May 2021 05:31:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D4671611EE for ; Tue, 4 May 2021 05:31:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229806AbhEDFbv (ORCPT ); Tue, 4 May 2021 01:31:51 -0400 Received: from mail.thorsis.com ([92.198.35.195]:57485 "EHLO mail.thorsis.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229719AbhEDFbt (ORCPT ); Tue, 4 May 2021 01:31:49 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.thorsis.com (Postfix) with ESMTP id A8A461AB6; Tue, 4 May 2021 07:30:52 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail.thorsis.com Received: from mail.thorsis.com ([127.0.0.1]) by localhost (mail.thorsis.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hSn2JZxRetDo; Tue, 4 May 2021 07:30:52 +0200 (CEST) Received: by mail.thorsis.com (Postfix, from userid 109) id 2843E3581; Tue, 4 May 2021 07:30:52 +0200 (CEST) Date: Tue, 4 May 2021 07:30:30 +0200 From: Alexander Dahl To: Arnd Bergmann Cc: Matthew Wilcox , Linus Torvalds , Segher Boessenkool , Joe Perches , Miguel Ojeda , Masahiro Yamada , Albert Ou , Linux Kbuild mailing list , Greg Kroah-Hartman , Jonathan Corbet , Linux Doc Mailing List , linux-kernel , Palmer Dabbelt , Paul Walmsley , Catalin Marinas , Miguel Ojeda , Paul Mackerras , linux-riscv , linuxppc-dev , Will Deacon , Linux ARM Subject: Re: [PATCH] Raise the minimum GCC version to 5.2 Message-ID: Mail-Followup-To: Arnd Bergmann , Matthew Wilcox , Linus Torvalds , Segher Boessenkool , Joe Perches , Miguel Ojeda , Masahiro Yamada , Albert Ou , Linux Kbuild mailing list , Greg Kroah-Hartman , Jonathan Corbet , Linux Doc Mailing List , linux-kernel , Palmer Dabbelt , Paul Walmsley , Catalin Marinas , Miguel Ojeda , Paul Mackerras , linux-riscv , linuxppc-dev , Will Deacon , Linux ARM References: <20210501151538.145449-1-masahiroy@kernel.org> <3943bc020f6227c8801907317fc113aa13ad4bad.camel@perches.com> <20210502183030.GF10366@gate.crashing.org> <81a926a3bdb70debe3ae2b13655ea8d249fb9991.camel@perches.com> <20210502203253.GH10366@gate.crashing.org> <20210502223007.GZ1847222@casper.infradead.org> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Arnd, Am Mon, May 03, 2021 at 11:25:21AM +0200 schrieb Arnd Bergmann: > On Mon, May 3, 2021 at 9:35 AM Alexander Dahl wrote: > > > > Desktops and servers are all nice, however I just want to make you > > aware, there are embedded users forced to stick to older cross > > toolchains for different reasons as well, e.g. in industrial > > environment. :-) > > > > This is no show stopper for us, I just wanted to let you be aware. > > Can you be more specific about what scenarios you are thinking of, > what the motivations are for using an old compiler with a new kernel > on embedded systems, and what you think a realistic maximum > time would be between compiler updates? One reason might be certification. For certain industrial applications like support for complex field bus protocols, you need to get your devices tested by an external partner running extensive test suites. This is time consuming and expensive. Changing the toolchain of your system then, would be a massive change which would require recertification, while you could argue just updating a single component like the kernel and building everything again, does not require the whole testing process again. Thin ice, I know. > One scenario that I've seen previously is where user space and > kernel are built together as a source based distribution (OE, buildroot, > openwrt, ...), and the compiler is picked to match the original sources > of the user space because that is best tested, but the same compiler > then gets used to build the kernel as well because that is the default > in the build environment. One problem we actually ran into in BSPs like that (we build with ptxdist, however build system doesn't matter here, it could as well have been buildroot etc.) was things* failing to build with newer compilers, things we could not or did not want to fix, so staying with an older toolchain was the obvious choice. *Things as in bootloaders for an armv5 platform. > There are two problems I see with this logic: > > - Running the latest kernel to avoid security problems is of course > a good idea, but if one runs that with ten year old user space that > is never updated, the system is likely to end up just as insecure. > Not all bugs are in the kernel. Agreed. > - The same logic that applies to ancient user space staying with > an ancient compiler (it's better tested in this combination) also > applies to the kernel: running the latest kernel on an old compiler > is something that few people test, and tends to run into more bugs > than using the compiler that other developers used to test that > kernel. What we actually did: building recent userspace and kernel with older toolchains, because bootloader. I know, there are several possibilities to solve this kind of lock: - built bootloader with different compiler - update bootloader - … As said before, this is no problem for me now, I can work around it, but to give an idea what could keep people on older toolchains. Greets Alex