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=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 C4DBCC3A5A7 for ; Wed, 4 Sep 2019 13:02:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 930AD22CED for ; Wed, 4 Sep 2019 13:02:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729965AbfIDNCA (ORCPT ); Wed, 4 Sep 2019 09:02:00 -0400 Received: from gate.crashing.org ([63.228.1.57]:42884 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728238AbfIDNCA (ORCPT ); Wed, 4 Sep 2019 09:02:00 -0400 Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id x84D1aT1025468; Wed, 4 Sep 2019 08:01:36 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id x84D1ZS7025467; Wed, 4 Sep 2019 08:01:35 -0500 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Wed, 4 Sep 2019 08:01:35 -0500 From: Segher Boessenkool To: David Laight Cc: "'Nathan Chancellor'" , Nick Desaulniers , LKML , "# 3.4.x" , clang-built-linux , Paul Mackerras , linuxppc-dev Subject: Re: [PATCH] powerpc: Avoid clang warnings around setjmp and longjmp Message-ID: <20190904130135.GN9749@gate.crashing.org> References: <20190812023214.107817-1-natechancellor@gmail.com> <878srdv206.fsf@mpe.ellerman.id.au> <20190828175322.GA121833@archlinux-threadripper> <20190828184529.GC127646@archlinux-threadripper> <6801a83ed6d54d95b87a41c57ef6e6b0@AcuMS.aculab.com> <20190903055553.GC60296@archlinux-threadripper> <20190903193128.GC9749@gate.crashing.org> <20190904002401.GA70635@archlinux-threadripper> <1bcd7086f3d24dfa82eec03980f30fbc@AcuMS.aculab.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1bcd7086f3d24dfa82eec03980f30fbc@AcuMS.aculab.com> User-Agent: Mutt/1.4.2.3i Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org On Wed, Sep 04, 2019 at 08:16:45AM +0000, David Laight wrote: > From: Nathan Chancellor [mailto:natechancellor@gmail.com] > > Fair enough so I guess we are back to just outright disabling the > > warning. > > Just disabling the warning won't stop the compiler generating code > that breaks a 'user' implementation of setjmp(). Yeah. I have a patch (will send in an hour or so) that enables the "returns_twice" attribute for setjmp (in ). In testing (with GCC trunk) it showed no difference in code generation, but better save than sorry. It also sets "noreturn" on longjmp, and that *does* help, it saves a hundred insns or so (all in xmon, no surprise there). I don't think this will make LLVM shut up about this though. And technically it is right: the C standard does say that in hosted mode setjmp is a reserved name and you need to include to access it (not ). So why is the kernel compiled as hosted? Does adding -ffreestanding hurt anything? Is that actually supported on LLVM, on all relevant versions of it? Does it shut up the warning there (if not, that would be an LLVM bug)? Segher