Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1590073pxb; Thu, 4 Feb 2021 17:50:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJzeqZnmOSIdBFKrzXk7h3SOgL2LKTPKYZF2abyt5Gk9gXrItrmWHieCC8bTVkfkDCufbgEy X-Received: by 2002:a50:b746:: with SMTP id g64mr1342115ede.33.1612489827344; Thu, 04 Feb 2021 17:50:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612489827; cv=none; d=google.com; s=arc-20160816; b=ZRv2bFG3tivjY1oTbaAHcW04i+MV1YZ784OhhqWT+Yb/V7t2xD9jPkJJh1IVUMTuBn Fg8q581YLSqU0JZKP3rHo9ubDWCrdGxCCHuUgHdRNZBlrJf42NUzITbFk9wusr2S2Pm+ Y8JSAA6l4RgjxlZ7NxykrylAPAXXJvBj3yYTi1klLl6P7T+f/N+SKYwShAi3cj+B8AvZ 7PN/OyALciRWFZyjDt8k4VycTYhnih+jHrgQ4oAiKVQ42B1GD8Ah3An17mQSg0mlMenT r9TV739VoUgcrLWDsUfEm76EKo6ywaQnPFgV7jmhdIERMSveHeenyE0gobev3xDTqsd2 fFjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:date:cc:to:from:subject:message-id; bh=5T4u45tFOyjGYzd1B+tw+h/0Gq3f+ci1RSsI7Kd+tEY=; b=IY+UcXXws/knjsZVAAajQ4r1wBrII1lvNqery2qoQuc4Ia9gazbUkNYGO3+lmKrzdD tXMhVPE+m8V7dIlnG8TPIEVLO/rmfGcrcoJYdveARl3aRAxYBaa/A3q2GOo10fXYf5WX y3wdN3W6H5pNARtW8ULSzZPKV/PpdDv0qlJrzy4qcPSjqrNYp23grCMZD7RA4FC7M3Fe +99dngNHY2aDdQ3/rb8lG7/tFu9u8ZC0CLWEJmrTwmkHIA+I5giEkIWT7EZvrd2hip8d rpDlPPz+fitqE9L6WwpYzgzlEHlv8tGz8BK+mArh1BycV4hyKFfhL+KKBPyKc6QbfUbH o92Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z26si4686493edm.375.2021.02.04.17.50.03; Thu, 04 Feb 2021 17:50:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240204AbhBDUao convert rfc822-to-8bit (ORCPT + 99 others); Thu, 4 Feb 2021 15:30:44 -0500 Received: from wildebeest.demon.nl ([212.238.236.112]:38078 "EHLO gnu.wildebeest.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240127AbhBDU24 (ORCPT ); Thu, 4 Feb 2021 15:28:56 -0500 Received: from tarox.wildebeest.org (tarox.wildebeest.org [172.31.17.39]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 0C55230278CD; Thu, 4 Feb 2021 21:28:05 +0100 (CET) Received: by tarox.wildebeest.org (Postfix, from userid 1000) id D4F1840C9DA3; Thu, 4 Feb 2021 21:28:05 +0100 (CET) Message-ID: <42d2542d4b7f9836121b92d9bf349afa920bd4cd.camel@klomp.org> Subject: Re: [PATCH v7 1/2] Kbuild: make DWARF version a choice From: Mark Wielaard To: Nick Desaulniers Cc: Masahiro Yamada , Nathan Chancellor , Andrew Morton , Sedat Dilek , LKML , clang-built-linux , Linux Kbuild mailing list , linux-arch , Jakub Jelinek , Fangrui Song , Caroline Tice , Nick Clifton , Yonghong Song , Jiri Olsa , Andrii Nakryiko , Arnaldo Carvalho de Melo , Arvind Sankar , Nathan Chancellor Date: Thu, 04 Feb 2021 21:28:05 +0100 In-Reply-To: References: <20210130004401.2528717-1-ndesaulniers@google.com> <20210130004401.2528717-2-ndesaulniers@google.com> <20210204103946.GA14802@wildebeest.org> <20fdd20fe067dba00b349407c4a0128c97c1a707.camel@klomp.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Mailer: Evolution 3.28.5 (3.28.5-10.el7) Mime-Version: 1.0 X-Spam-Flag: NO X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on gnu.wildebeest.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2021-02-04 at 12:04 -0800, Nick Desaulniers wrote: > On Thu, Feb 4, 2021 at 11:56 AM Mark Wielaard wrote: > > I agree with Jakub. Now that GCC has defaulted to DWARF5 all the > > tools > > have adopted to the new default version. And DWARF5 has been out > > for > > "all of the tools" ? I believe so yes, we did a mass-rebuild of all of Fedora a few weeks back with a GCC11 pre-release and did find some tools which weren't ready, but as far as I know all have been fixed now. I did try to coordinate with the Suse and Debian packagers too, so all the major distros should have all the necessary updates once switching to GCC11. > > more than 4 years already. It isn't unreasonable to assume that people > > using GCC11 will also be using the rest of the toolchain that has moved > > on. Which DWARF consumers are you concerned about not being ready for > > GCC defaulting to DWARF5 once GCC11 is released? > > Folks who don't have top of tree pahole or binutils are the two that > come to mind. I believe pahole just saw a 1.20 release. I am sure it will be widely available once GCC11 is released (which will still be 1 or 2 months) and people are actually using it. Or do you expect distros/people are going to upgrade to GCC11 without updating their other toolchain tools? BTW. GCC11 doesn't need top of tree binutils, it will detect the binutils capabilities (bugs) and adjust its DWARF output based on it. > I don't have specifics on out of tree consumers, but > some Aarch64 extensions which had some changes to DWARF for ARMv8.3 > PAC support broke some debuggers. It would be really helpful if you could provide some specifics. I did fix some consumers to handle the PAC operands in CFI last year, but I don't believe that had anything to do with the default DWARF version, just with dealing with DW_CFA_AARCH64_negate_ra_state. > I don't doubt a lot of work has gone into fixing many downstream > projects and then when building everything from ToT that there are no > issues with DWARF v5. The issue is getting upgrades into developers > hands, and what to default to until then. I would suggest you simply default to what you already do when the compiler is given -g. Just like you do already for the implicit default -std=gnuc*. Once GCC11 is actually released and people upgrade their toolchain to use it the tools will be ready and in developers hands. Cheers, Mark