From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8967B7B; Mon, 28 Feb 2022 12:49:04 +0000 (UTC) Received: by mail-io1-f44.google.com with SMTP id f14so14535738ioz.1; Mon, 28 Feb 2022 04:49:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=mOwbZLEZAA7CbHC+ZGRfJecP9SUyALH4CUgSrWMoe2Y=; b=MoRqzkxl3y5bj6ZSvrlCkhi2eyhrKfbhvB8EI57ZXGiPyLp+PHJZj+m6chb0C6fDg+ djOViiwLzv9MFpsrxG2ocg2vE77iNztXu6hIk49ZVn01C9/E7TzhSRsZrkAmglSsv1P0 O8r143/OuUhcoCPa0Miggp3nc1mD8UveBAxgUHM43Jaabl7pWw5GUu6iPUMhTTDdTm58 OCefXbhIQ+lMMN0Zz6j3r6ZdLH+YJA+kaDIscqG3S4AdZbKqUa4EyRU1DI+O2tsiAtLa oDS98C0nK6Ll/C9g+hmM3g/Q+gJZoZjbPTjAeNV3AtyrmbCyt9gsn12+nKbe4Q65iE0m C1DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=mOwbZLEZAA7CbHC+ZGRfJecP9SUyALH4CUgSrWMoe2Y=; b=gTPXNi/oGT1RazK2lem9Wn5DdbGPT8bwOfNWhQpvYs8zIl99ezZOJSHIfoyM6Q7+dT LuX9L7YfVU5oFeBbz/QPcV5RH5KEBRuh8V9KePciLgvvaNAfAJb7D+C652jlniJ5TflR wyTyWuPbh+1wkSOJYYCLwhVs5mUnYpuYaizmCffPhOK51qCS/f8WKST0pIM4+ICNNipi t2VKtnUH2uUqqrrv0eUlIYRgSW5MDfXfM/T9shZw/X3JN84aGOvnaKYKy1LqIyDw/TKc tQKlWuLJte/aZ4zNKMP7u3mbJpJaCQmq3RnXw7cF8wpObnLh1X+cRBVFka3wkK1XsFzq iHfQ== X-Gm-Message-State: AOAM5325kP6JZ7NRS3YqyaPBhmOxre+oos/8GkRUEQRfh8JfFHLx3L6I /Ct2ZBHJsSrL4a4U0uCST58vFDk7j9UV+Lm360w= X-Google-Smtp-Source: ABdhPJz3q8cRMHd/oy9ZoQDTB815Cb8Pu3kGKWD99P8CNfxxFeh2KSEcEd4cG9pFBH7WrrbY5kthiPuHNKK+V71otSM= X-Received: by 2002:a02:c6c1:0:b0:314:b699:b8bd with SMTP id r1-20020a02c6c1000000b00314b699b8bdmr17570856jan.40.1646052543613; Mon, 28 Feb 2022 04:49:03 -0800 (PST) Precedence: bulk X-Mailing-List: linux-staging@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20220228103142.3301082-1-arnd@kernel.org> In-Reply-To: <20220228103142.3301082-1-arnd@kernel.org> From: Alex Shi Date: Mon, 28 Feb 2022 20:48:27 +0800 Message-ID: Subject: Re: [PATCH] [v2] Kbuild: move to -std=gnu11 To: Arnd Bergmann Cc: linux-kbuild@vger.kernel.org, Arnd Bergmann , Linus Torvalds , Masahiro Yamada , llvm@lists.linux.dev, Jonathan Corbet , Federico Vaga , Alex Shi , Hu Haowen , Michal Marek , Nick Desaulniers , Linux Doc Mailing List , LKML , linux-doc-tw-discuss@lists.sourceforge.net, linux-arm-kernel@lists.infradead.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, greybus-dev@lists.linaro.org, linux-staging@lists.linux.dev, linux-btrfs@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Feb 28, 2022 at 6:32 PM Arnd Bergmann wrote: > > From: Arnd Bergmann > > During a patch discussion, Linus brought up the option of changing > the C standard version from gnu89 to gnu99, which allows using variable > declaration inside of a for() loop. While the C99, C11 and later standard= s > introduce many other features, most of these are already available in > gnu89 as GNU extensions as well. > > An earlier attempt to do this when gcc-5 started defaulting to > -std=3Dgnu11 failed because at the time that caused warnings about > designated initializers with older compilers. Now that gcc-5.1 is the > minimum compiler version used for building kernels, that is no longer a > concern. Similarly, the behavior of 'inline' functions changes between > gnu89 and gnu11, but this was taken care of by defining 'inline' to > include __attribute__((gnu_inline)) in order to allow building with > clang a while ago. > > One minor issue that remains is an added gcc warning for shifts of > negative integers when building with -Werror, which happens with the > 'make W=3D1' option, as well as for three drivers in the kernel that alwa= ys > enable -Werror, but it was only observed with the i915 driver so far. > To be on the safe side, add -Wno-shift-negative-value to any -Wextra > in a Makefile. > > Nathan Chancellor reported an additional -Wdeclaration-after-statement > warning that appears in a system header on arm, this still needs a > workaround. > > The differences between gnu99, gnu11, gnu1x and gnu17 are fairly > minimal and mainly impact warnings at the -Wpedantic level that the > kernel never enables. Between these, gnu11 is the newest version > that is supported by all supported compiler versions, though it is > only the default on gcc-5, while all other supported versions of > gcc or clang default to gnu1x/gnu17. > > Link: https://lore.kernel.org/lkml/CAHk-=3DwiyCH7xeHcmiFJ-YgXUy2Jaj7pnkdK= pcovt8fYbVFW3TA@mail.gmail.com/ > Link: https://github.com/ClangBuiltLinux/linux/issues/1603 > Suggested-by: Linus Torvalds > Cc: Masahiro Yamada > Cc: linux-kbuild@vger.kernel.org > Cc: llvm@lists.linux.dev > Signed-off-by: Arnd Bergmann For document part, Reviewed-by: Alex Shi > --- > [v2] > - added -std=3Dgnu11 back, rather than just relying on the default > - minor changes to changelog text > --- > Documentation/process/programming-language.rst | 4 ++-- > .../translations/it_IT/process/programming-language.rst | 4 ++-- > .../translations/zh_CN/process/programming-language.rst | 4 ++-- > .../translations/zh_TW/process/programming-language.rst | 4 ++-- > Makefile | 6 +++--- > arch/arm64/kernel/vdso32/Makefile | 2 +- > drivers/gpu/drm/i915/Makefile | 1 + > drivers/staging/greybus/tools/Makefile | 3 ++- > fs/btrfs/Makefile | 1 + > scripts/Makefile.extrawarn | 1 + > 10 files changed, 17 insertions(+), 13 deletions(-) > > diff --git a/Documentation/process/programming-language.rst b/Documentati= on/process/programming-language.rst > index ec474a70a02f..894f2a6eb9db 100644 > --- a/Documentation/process/programming-language.rst > +++ b/Documentation/process/programming-language.rst > @@ -5,8 +5,8 @@ Programming Language > > The kernel is written in the C programming language [c-language]_. > More precisely, the kernel is typically compiled with ``gcc`` [gcc]_ > -under ``-std=3Dgnu89`` [gcc-c-dialect-options]_: the GNU dialect of ISO = C90 > -(including some C99 features). ``clang`` [clang]_ is also supported, see > +under ``-std=3Dgnu11`` [gcc-c-dialect-options]_: the GNU dialect of ISO = C11 > +(including some C17 features). ``clang`` [clang]_ is also supported, see > docs on :ref:`Building Linux with Clang/LLVM `. > > This dialect contains many extensions to the language [gnu-extensions]_, > diff --git a/Documentation/translations/it_IT/process/programming-languag= e.rst b/Documentation/translations/it_IT/process/programming-language.rst > index 41db2598ce11..aa21097737ae 100644 > --- a/Documentation/translations/it_IT/process/programming-language.rst > +++ b/Documentation/translations/it_IT/process/programming-language.rst > @@ -10,8 +10,8 @@ Linguaggio di programmazione > > Il kernel =C3=A8 scritto nel linguaggio di programmazione C [it-c-langua= ge]_. > Pi=C3=B9 precisamente, il kernel viene compilato con ``gcc`` [it-gcc]_ u= sando > -l'opzione ``-std=3Dgnu89`` [it-gcc-c-dialect-options]_: il dialetto GNU > -dello standard ISO C90 (con l'aggiunta di alcune funzionalit=C3=A0 da C9= 9). > +l'opzione ``-std=3Dgnu11`` [it-gcc-c-dialect-options]_: il dialetto GNU > +dello standard ISO C11 (con l'aggiunta di alcune funzionalit=C3=A0 da C1= 7). > Linux supporta anche ``clang`` [it-clang]_, leggete la documentazione > :ref:`Building Linux with Clang/LLVM `. > > diff --git a/Documentation/translations/zh_CN/process/programming-languag= e.rst b/Documentation/translations/zh_CN/process/programming-language.rst > index 2a47a1d2ec20..58d2b3bd2d85 100644 > --- a/Documentation/translations/zh_CN/process/programming-language.rst > +++ b/Documentation/translations/zh_CN/process/programming-language.rst > @@ -9,8 +9,8 @@ > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =E5=86=85=E6=A0=B8=E6=98=AF=E7=94=A8C=E8=AF=AD=E8=A8=80 :ref:`c-language= ` =E7=BC=96=E5=86=99=E7=9A=84=E3=80=82=E6=9B=B4=E5=87=86=E7= =A1=AE=E5=9C=B0=E8=AF=B4=EF=BC=8C=E5=86=85=E6=A0=B8=E9=80=9A=E5=B8=B8=E6=98= =AF=E7=94=A8 :ref:`gcc ` > -=E5=9C=A8 ``-std=3Dgnu89`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=BC=96=E8=AF=91=E7=9A=84=EF=BC=9AISO C90=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > -=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC99=E7=89=B9=E6=80=A7=EF=BC=89 > +=E5=9C=A8 ``-std=3Dgnu11`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=BC=96=E8=AF=91=E7=9A=84=EF=BC=9AISO C11=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > +=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC17=E7=89=B9=E6=80=A7=EF=BC=89 > > =E8=BF=99=E7=A7=8D=E6=96=B9=E8=A8=80=E5=8C=85=E5=90=AB=E5=AF=B9=E8=AF=AD= =E8=A8=80 :ref:`gnu-extensions ` =E7=9A=84=E8=AE=B8=E5= =A4=9A=E6=89=A9=E5=B1=95=EF=BC=8C=E5=BD=93=E7=84=B6=EF=BC=8C=E5=AE=83=E4=BB= =AC=E8=AE=B8=E5=A4=9A=E9=83=BD=E5=9C=A8=E5=86=85=E6=A0=B8=E4=B8=AD=E4=BD=BF= =E7=94=A8=E3=80=82 > > diff --git a/Documentation/translations/zh_TW/process/programming-languag= e.rst b/Documentation/translations/zh_TW/process/programming-language.rst > index 54e3699eadf8..235de05f7e2c 100644 > --- a/Documentation/translations/zh_TW/process/programming-language.rst > +++ b/Documentation/translations/zh_TW/process/programming-language.rst > @@ -12,8 +12,8 @@ > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =E5=85=A7=E6=A0=B8=E6=98=AF=E7=94=A8C=E8=AA=9E=E8=A8=80 :ref:`c-language= ` =E7=B7=A8=E5=AF=AB=E7=9A=84=E3=80=82=E6=9B=B4=E6=BA=96=E7= =A2=BA=E5=9C=B0=E8=AA=AA=EF=BC=8C=E5=85=A7=E6=A0=B8=E9=80=9A=E5=B8=B8=E6=98= =AF=E7=94=A8 :ref:`gcc ` > -=E5=9C=A8 ``-std=3Dgnu89`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=B7=A8=E8=AD=AF=E7=9A=84=EF=BC=9AISO C90=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > -=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC99=E7=89=B9=E6=80=A7=EF=BC=89 > +=E5=9C=A8 ``-std=3Dgnu11`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=B7=A8=E8=AD=AF=E7=9A=84=EF=BC=9AISO C11=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > +=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC17=E7=89=B9=E6=80=A7=EF=BC=89 > > =E9=80=99=E7=A8=AE=E6=96=B9=E8=A8=80=E5=8C=85=E5=90=AB=E5=B0=8D=E8=AA=9E= =E8=A8=80 :ref:`gnu-extensions ` =E7=9A=84=E8=A8=B1=E5= =A4=9A=E6=93=B4=E5=B1=95=EF=BC=8C=E7=95=B6=E7=84=B6=EF=BC=8C=E5=AE=83=E5=80= =91=E8=A8=B1=E5=A4=9A=E9=83=BD=E5=9C=A8=E5=85=A7=E6=A0=B8=E4=B8=AD=E4=BD=BF= =E7=94=A8=E3=80=82 > > diff --git a/Makefile b/Makefile > index 289ce2be8032..66496eaeb9ec 100644 > --- a/Makefile > +++ b/Makefile > @@ -432,7 +432,7 @@ HOSTCXX =3D g++ > endif > > export KBUILD_USERCFLAGS :=3D -Wall -Wmissing-prototypes -Wstrict-protot= ypes \ > - -O2 -fomit-frame-pointer -std=3Dgnu89 > + -O2 -fomit-frame-pointer -std=3Dgnu11 > export KBUILD_USERLDFLAGS :=3D > > KBUILD_HOSTCFLAGS :=3D $(KBUILD_USERCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTC= FLAGS) > @@ -515,7 +515,7 @@ KBUILD_CFLAGS :=3D -Wall -Wundef -Werror=3Dstrict-p= rototypes -Wno-trigraphs \ > -fno-strict-aliasing -fno-common -fshort-wchar -fno-PI= E \ > -Werror=3Dimplicit-function-declaration -Werror=3Dimpl= icit-int \ > -Werror=3Dreturn-type -Wno-format-security \ > - -std=3Dgnu89 > + -std=3Dgnu11 > KBUILD_CPPFLAGS :=3D -D__KERNEL__ > KBUILD_AFLAGS_KERNEL :=3D > KBUILD_CFLAGS_KERNEL :=3D > @@ -782,7 +782,7 @@ KBUILD_CFLAGS +=3D $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMP= LICIT_FALLTHROUGH) > > ifdef CONFIG_CC_IS_CLANG > KBUILD_CPPFLAGS +=3D -Qunused-arguments > -# The kernel builds with '-std=3Dgnu89' so use of GNU extensions is acce= ptable. > +# The kernel builds with '-std=3Dgnu11' so use of GNU extensions is acce= ptable. > KBUILD_CFLAGS +=3D -Wno-gnu > # CLANG uses a _MergedGlobals as optimization, but this breaks modpost, = as the > # source of a reference will be _MergedGlobals and not on of the whiteli= sted names. > diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32= /Makefile > index 6c01b63ff56d..9378ea055bf2 100644 > --- a/arch/arm64/kernel/vdso32/Makefile > +++ b/arch/arm64/kernel/vdso32/Makefile > @@ -68,7 +68,7 @@ VDSO_CFLAGS +=3D -Wall -Wundef -Wstrict-prototypes -Wno= -trigraphs \ > -fno-strict-aliasing -fno-common \ > -Werror-implicit-function-declaration \ > -Wno-format-security \ > - -std=3Dgnu89 > + -std=3Dgnu11 > VDSO_CFLAGS +=3D -O2 > # Some useful compiler-dependent flags from top-level Makefile > VDSO_CFLAGS +=3D $(call cc32-option,-Wdeclaration-after-statement,) > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefil= e > index 1b62b9f65196..1618a6e0af4e 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -17,6 +17,7 @@ subdir-ccflags-y +=3D -Wno-unused-parameter > subdir-ccflags-y +=3D -Wno-type-limits > subdir-ccflags-y +=3D -Wno-missing-field-initializers > subdir-ccflags-y +=3D -Wno-sign-compare > +subdir-ccflags-y +=3D -Wno-shift-negative-value > subdir-ccflags-y +=3D $(call cc-disable-warning, unused-but-set-variable= ) > subdir-ccflags-y +=3D $(call cc-disable-warning, frame-address) > subdir-ccflags-$(CONFIG_DRM_I915_WERROR) +=3D -Werror > diff --git a/drivers/staging/greybus/tools/Makefile b/drivers/staging/gre= ybus/tools/Makefile > index ad0ae8053b79..a3bbd73171f2 100644 > --- a/drivers/staging/greybus/tools/Makefile > +++ b/drivers/staging/greybus/tools/Makefile > @@ -12,7 +12,8 @@ CFLAGS +=3D -std=3Dgnu99 -Wall -Wextra -g \ > -Wredundant-decls \ > -Wcast-align \ > -Wsign-compare \ > - -Wno-missing-field-initializers > + -Wno-missing-field-initializers \ > + -Wno-shift-negative-value > > CC :=3D $(CROSS_COMPILE)gcc > > diff --git a/fs/btrfs/Makefile b/fs/btrfs/Makefile > index 4188ba3fd8c3..99f9995670ea 100644 > --- a/fs/btrfs/Makefile > +++ b/fs/btrfs/Makefile > @@ -17,6 +17,7 @@ subdir-ccflags-y +=3D $(condflags) > subdir-ccflags-y +=3D -Wno-missing-field-initializers > subdir-ccflags-y +=3D -Wno-sign-compare > subdir-ccflags-y +=3D -Wno-type-limits > +subdir-ccflags-y +=3D -Wno-shift-negative-value > > obj-$(CONFIG_BTRFS_FS) :=3D btrfs.o > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index 8be892887d71..650d0b8ceec3 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -36,6 +36,7 @@ KBUILD_CFLAGS +=3D $(call cc-option, -Wstringop-truncat= ion) > KBUILD_CFLAGS +=3D -Wno-missing-field-initializers > KBUILD_CFLAGS +=3D -Wno-sign-compare > KBUILD_CFLAGS +=3D -Wno-type-limits > +KBUILD_CFLAGS +=3D -Wno-shift-negative-value > > KBUILD_CPPFLAGS +=3D -DKBUILD_EXTRA_WARN1 > > -- > 2.29.2 > 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B29ADC433F5 for ; Mon, 28 Feb 2022 13:10:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=7s6hWE6eRnjz6GaPwN9CwX4GoKg9OjpWvtTbkhpSAXY=; b=bhWnHKiUbCQXGy ScM1oxnCjoTRK+MfzxlJNs084mDfUjPXZvrqVPRn6yK963SXKgLaBcvFRTiPyNBSWnOpRjFTSdIyC z5laAn2Q9DK9zecULZDK29oVrhiwO+nmOoK8oj/Rz5ITMkeiLeg00smKRU9wf+Z6oBD1F8gOtyJwP 8LBU9gZIX/Y9MljkeYo2AKYIzIm2bFeIOSTCFS/KhafWxbeGdId3TXquvhUUb+Ew+uW+5nckRHK2x G3WQKMEZLvvslLsg87HedDSyouQsuKIMYr+I4jsEPKPLpC/rae45WV+0r6pFelaDmtCr8ovE73vtd r8D/TzVGdAHu2VJa70mQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOflf-00CRoA-Q0; Mon, 28 Feb 2022 13:08:48 +0000 Received: from mail-io1-xd2d.google.com ([2607:f8b0:4864:20::d2d]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOfSd-00CKa1-EN for linux-arm-kernel@lists.infradead.org; Mon, 28 Feb 2022 12:49:11 +0000 Received: by mail-io1-xd2d.google.com with SMTP id q8so14516825iod.2 for ; Mon, 28 Feb 2022 04:49:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=mOwbZLEZAA7CbHC+ZGRfJecP9SUyALH4CUgSrWMoe2Y=; b=MoRqzkxl3y5bj6ZSvrlCkhi2eyhrKfbhvB8EI57ZXGiPyLp+PHJZj+m6chb0C6fDg+ djOViiwLzv9MFpsrxG2ocg2vE77iNztXu6hIk49ZVn01C9/E7TzhSRsZrkAmglSsv1P0 O8r143/OuUhcoCPa0Miggp3nc1mD8UveBAxgUHM43Jaabl7pWw5GUu6iPUMhTTDdTm58 OCefXbhIQ+lMMN0Zz6j3r6ZdLH+YJA+kaDIscqG3S4AdZbKqUa4EyRU1DI+O2tsiAtLa oDS98C0nK6Ll/C9g+hmM3g/Q+gJZoZjbPTjAeNV3AtyrmbCyt9gsn12+nKbe4Q65iE0m C1DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=mOwbZLEZAA7CbHC+ZGRfJecP9SUyALH4CUgSrWMoe2Y=; b=7ACYKS8KYg2szoT86+qkJ5KnU5LUK/kLUgFXkFf7mwKto08hrWEtcvb2LUezTKHiSm EQ3WeJjVtDoTAh7Dg8+RGs/bbo17Qz0VzaBlMfVG8pw7+8yZyc0kn/gtr5cwulPRdpeW npP0HBUb0LB+9VFDP5csDrEj2wLBUDGeEg/3PyKmkFUmz0AoHMJROlhBsJHXwykXIsSh PwA3Ou+OpfoNbd298Qn0zlmWrrYahbz17nCJA3sjXHWhUXFoMSrNP7aWUmHnZ5KRvCHV aRZgy5WbVNJ+gpZLqIiLJuEO6t4jY5W0oCkWygfaKQcMbkoSgpJ/MlhJcazrnL9IX7zb yTHw== X-Gm-Message-State: AOAM530yZZvBdykwQay/yi2apjVaITHYV88NQSvPo0zX6osCUswPy+Rv Ryz5yD2mvLYUTtfCLwYPjhlPDU9NwAKHHG5SLMk= X-Google-Smtp-Source: ABdhPJz3q8cRMHd/oy9ZoQDTB815Cb8Pu3kGKWD99P8CNfxxFeh2KSEcEd4cG9pFBH7WrrbY5kthiPuHNKK+V71otSM= X-Received: by 2002:a02:c6c1:0:b0:314:b699:b8bd with SMTP id r1-20020a02c6c1000000b00314b699b8bdmr17570856jan.40.1646052543613; Mon, 28 Feb 2022 04:49:03 -0800 (PST) MIME-Version: 1.0 References: <20220228103142.3301082-1-arnd@kernel.org> In-Reply-To: <20220228103142.3301082-1-arnd@kernel.org> From: Alex Shi Date: Mon, 28 Feb 2022 20:48:27 +0800 Message-ID: Subject: Re: [PATCH] [v2] Kbuild: move to -std=gnu11 To: Arnd Bergmann Cc: linux-kbuild@vger.kernel.org, Arnd Bergmann , Linus Torvalds , Masahiro Yamada , llvm@lists.linux.dev, Jonathan Corbet , Federico Vaga , Alex Shi , Hu Haowen , Michal Marek , Nick Desaulniers , Linux Doc Mailing List , LKML , linux-doc-tw-discuss@lists.sourceforge.net, linux-arm-kernel@lists.infradead.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, greybus-dev@lists.linaro.org, linux-staging@lists.linux.dev, linux-btrfs@vger.kernel.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220228_044907_592919_DD8D2DED X-CRM114-Status: GOOD ( 35.42 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBGZWIgMjgsIDIwMjIgYXQgNjozMiBQTSBBcm5kIEJlcmdtYW5uIDxhcm5kQGtlcm5l bC5vcmc+IHdyb3RlOgo+Cj4gRnJvbTogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KPgo+ IER1cmluZyBhIHBhdGNoIGRpc2N1c3Npb24sIExpbnVzIGJyb3VnaHQgdXAgdGhlIG9wdGlvbiBv ZiBjaGFuZ2luZwo+IHRoZSBDIHN0YW5kYXJkIHZlcnNpb24gZnJvbSBnbnU4OSB0byBnbnU5OSwg d2hpY2ggYWxsb3dzIHVzaW5nIHZhcmlhYmxlCj4gZGVjbGFyYXRpb24gaW5zaWRlIG9mIGEgZm9y KCkgbG9vcC4gV2hpbGUgdGhlIEM5OSwgQzExIGFuZCBsYXRlciBzdGFuZGFyZHMKPiBpbnRyb2R1 Y2UgbWFueSBvdGhlciBmZWF0dXJlcywgbW9zdCBvZiB0aGVzZSBhcmUgYWxyZWFkeSBhdmFpbGFi bGUgaW4KPiBnbnU4OSBhcyBHTlUgZXh0ZW5zaW9ucyBhcyB3ZWxsLgo+Cj4gQW4gZWFybGllciBh dHRlbXB0IHRvIGRvIHRoaXMgd2hlbiBnY2MtNSBzdGFydGVkIGRlZmF1bHRpbmcgdG8KPiAtc3Rk PWdudTExIGZhaWxlZCBiZWNhdXNlIGF0IHRoZSB0aW1lIHRoYXQgY2F1c2VkIHdhcm5pbmdzIGFi b3V0Cj4gZGVzaWduYXRlZCBpbml0aWFsaXplcnMgd2l0aCBvbGRlciBjb21waWxlcnMuIE5vdyB0 aGF0IGdjYy01LjEgaXMgdGhlCj4gbWluaW11bSBjb21waWxlciB2ZXJzaW9uIHVzZWQgZm9yIGJ1 aWxkaW5nIGtlcm5lbHMsIHRoYXQgaXMgbm8gbG9uZ2VyIGEKPiBjb25jZXJuLiBTaW1pbGFybHks IHRoZSBiZWhhdmlvciBvZiAnaW5saW5lJyBmdW5jdGlvbnMgY2hhbmdlcyBiZXR3ZWVuCj4gZ251 ODkgYW5kIGdudTExLCBidXQgdGhpcyB3YXMgdGFrZW4gY2FyZSBvZiBieSBkZWZpbmluZyAnaW5s aW5lJyB0bwo+IGluY2x1ZGUgX19hdHRyaWJ1dGVfXygoZ251X2lubGluZSkpIGluIG9yZGVyIHRv IGFsbG93IGJ1aWxkaW5nIHdpdGgKPiBjbGFuZyBhIHdoaWxlIGFnby4KPgo+IE9uZSBtaW5vciBp c3N1ZSB0aGF0IHJlbWFpbnMgaXMgYW4gYWRkZWQgZ2NjIHdhcm5pbmcgZm9yIHNoaWZ0cyBvZgo+ IG5lZ2F0aXZlIGludGVnZXJzIHdoZW4gYnVpbGRpbmcgd2l0aCAtV2Vycm9yLCB3aGljaCBoYXBw ZW5zIHdpdGggdGhlCj4gJ21ha2UgVz0xJyBvcHRpb24sIGFzIHdlbGwgYXMgZm9yIHRocmVlIGRy aXZlcnMgaW4gdGhlIGtlcm5lbCB0aGF0IGFsd2F5cwo+IGVuYWJsZSAtV2Vycm9yLCBidXQgaXQg d2FzIG9ubHkgb2JzZXJ2ZWQgd2l0aCB0aGUgaTkxNSBkcml2ZXIgc28gZmFyLgo+IFRvIGJlIG9u IHRoZSBzYWZlIHNpZGUsIGFkZCAtV25vLXNoaWZ0LW5lZ2F0aXZlLXZhbHVlIHRvIGFueSAtV2V4 dHJhCj4gaW4gYSBNYWtlZmlsZS4KPgo+IE5hdGhhbiBDaGFuY2VsbG9yIHJlcG9ydGVkIGFuIGFk ZGl0aW9uYWwgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQKPiB3YXJuaW5nIHRoYXQgYXBw ZWFycyBpbiBhIHN5c3RlbSBoZWFkZXIgb24gYXJtLCB0aGlzIHN0aWxsIG5lZWRzIGEKPiB3b3Jr YXJvdW5kLgo+Cj4gVGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gZ251OTksIGdudTExLCBnbnUxeCBh bmQgZ251MTcgYXJlIGZhaXJseQo+IG1pbmltYWwgYW5kIG1haW5seSBpbXBhY3Qgd2FybmluZ3Mg YXQgdGhlIC1XcGVkYW50aWMgbGV2ZWwgdGhhdCB0aGUKPiBrZXJuZWwgbmV2ZXIgZW5hYmxlcy4g QmV0d2VlbiB0aGVzZSwgZ251MTEgaXMgdGhlIG5ld2VzdCB2ZXJzaW9uCj4gdGhhdCBpcyBzdXBw b3J0ZWQgYnkgYWxsIHN1cHBvcnRlZCBjb21waWxlciB2ZXJzaW9ucywgdGhvdWdoIGl0IGlzCj4g b25seSB0aGUgZGVmYXVsdCBvbiBnY2MtNSwgd2hpbGUgYWxsIG90aGVyIHN1cHBvcnRlZCB2ZXJz aW9ucyBvZgo+IGdjYyBvciBjbGFuZyBkZWZhdWx0IHRvIGdudTF4L2dudTE3Lgo+Cj4gTGluazog aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC9DQUhrLT13aXlDSDd4ZUhjbWlGSi1ZZ1hVeTJK YWo3cG5rZEtwY292dDhmWWJWRlczVEFAbWFpbC5nbWFpbC5jb20vCj4gTGluazogaHR0cHM6Ly9n aXRodWIuY29tL0NsYW5nQnVpbHRMaW51eC9saW51eC9pc3N1ZXMvMTYwMwo+IFN1Z2dlc3RlZC1i eTogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgo+IENjOiBN YXNhaGlybyBZYW1hZGEgPG1hc2FoaXJveUBrZXJuZWwub3JnPgo+IENjOiBsaW51eC1rYnVpbGRA dmdlci5rZXJuZWwub3JnCj4gQ2M6IGxsdm1AbGlzdHMubGludXguZGV2Cj4gU2lnbmVkLW9mZi1i eTogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KCkZvciBkb2N1bWVudCBwYXJ0LApSZXZp ZXdlZC1ieTogQWxleCBTaGkgPGFsZXhzQGtlcm5lbC5vcmc+Cgo+IC0tLQo+IFt2Ml0KPiAgLSBh ZGRlZCAtc3RkPWdudTExIGJhY2ssIHJhdGhlciB0aGFuIGp1c3QgcmVseWluZyBvbiB0aGUgZGVm YXVsdAo+ICAtIG1pbm9yIGNoYW5nZXMgdG8gY2hhbmdlbG9nIHRleHQKPiAtLS0KPiAgRG9jdW1l bnRhdGlvbi9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1YWdlLnJzdCAgICAgICAgICAgICAgfCA0 ICsrLS0KPiAgLi4uL3RyYW5zbGF0aW9ucy9pdF9JVC9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1 YWdlLnJzdCAgICAgfCA0ICsrLS0KPiAgLi4uL3RyYW5zbGF0aW9ucy96aF9DTi9wcm9jZXNzL3By b2dyYW1taW5nLWxhbmd1YWdlLnJzdCAgICAgfCA0ICsrLS0KPiAgLi4uL3RyYW5zbGF0aW9ucy96 aF9UVy9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1YWdlLnJzdCAgICAgfCA0ICsrLS0KPiAgTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCA2ICsrKy0tLQo+ICBhcmNoL2FybTY0L2tlcm5lbC92ZHNvMzIvTWFrZWZpbGUgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxICsKPiAgZHJpdmVycy9zdGFnaW5nL2dy ZXlidXMvdG9vbHMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgfCAzICsrLQo+ICBmcy9i dHJmcy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDEgKwo+ICBzY3JpcHRzL01ha2VmaWxlLmV4dHJhd2FybiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IDEgKwo+ICAxMCBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAx MyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3Byb2Nlc3MvcHJv Z3JhbW1pbmctbGFuZ3VhZ2UucnN0IGIvRG9jdW1lbnRhdGlvbi9wcm9jZXNzL3Byb2dyYW1taW5n LWxhbmd1YWdlLnJzdAo+IGluZGV4IGVjNDc0YTcwYTAyZi4uODk0ZjJhNmViOWRiIDEwMDY0NAo+ IC0tLSBhL0RvY3VtZW50YXRpb24vcHJvY2Vzcy9wcm9ncmFtbWluZy1sYW5ndWFnZS5yc3QKPiAr KysgYi9Eb2N1bWVudGF0aW9uL3Byb2Nlc3MvcHJvZ3JhbW1pbmctbGFuZ3VhZ2UucnN0Cj4gQEAg LTUsOCArNSw4IEBAIFByb2dyYW1taW5nIExhbmd1YWdlCj4KPiAgVGhlIGtlcm5lbCBpcyB3cml0 dGVuIGluIHRoZSBDIHByb2dyYW1taW5nIGxhbmd1YWdlIFtjLWxhbmd1YWdlXV8uCj4gIE1vcmUg cHJlY2lzZWx5LCB0aGUga2VybmVsIGlzIHR5cGljYWxseSBjb21waWxlZCB3aXRoIGBgZ2NjYGAg W2djY11fCj4gLXVuZGVyIGBgLXN0ZD1nbnU4OWBgIFtnY2MtYy1kaWFsZWN0LW9wdGlvbnNdXzog dGhlIEdOVSBkaWFsZWN0IG9mIElTTyBDOTAKPiAtKGluY2x1ZGluZyBzb21lIEM5OSBmZWF0dXJl cykuIGBgY2xhbmdgYCBbY2xhbmddXyBpcyBhbHNvIHN1cHBvcnRlZCwgc2VlCj4gK3VuZGVyIGBg LXN0ZD1nbnUxMWBgIFtnY2MtYy1kaWFsZWN0LW9wdGlvbnNdXzogdGhlIEdOVSBkaWFsZWN0IG9m IElTTyBDMTEKPiArKGluY2x1ZGluZyBzb21lIEMxNyBmZWF0dXJlcykuIGBgY2xhbmdgYCBbY2xh bmddXyBpcyBhbHNvIHN1cHBvcnRlZCwgc2VlCj4gIGRvY3Mgb24gOnJlZjpgQnVpbGRpbmcgTGlu dXggd2l0aCBDbGFuZy9MTFZNIDxrYnVpbGRfbGx2bT5gLgo+Cj4gIFRoaXMgZGlhbGVjdCBjb250 YWlucyBtYW55IGV4dGVuc2lvbnMgdG8gdGhlIGxhbmd1YWdlIFtnbnUtZXh0ZW5zaW9uc11fLAo+ IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RyYW5zbGF0aW9ucy9pdF9JVC9wcm9jZXNzL3By b2dyYW1taW5nLWxhbmd1YWdlLnJzdCBiL0RvY3VtZW50YXRpb24vdHJhbnNsYXRpb25zL2l0X0lU L3Byb2Nlc3MvcHJvZ3JhbW1pbmctbGFuZ3VhZ2UucnN0Cj4gaW5kZXggNDFkYjI1OThjZTExLi5h YTIxMDk3NzM3YWUgMTAwNjQ0Cj4gLS0tIGEvRG9jdW1lbnRhdGlvbi90cmFuc2xhdGlvbnMvaXRf SVQvcHJvY2Vzcy9wcm9ncmFtbWluZy1sYW5ndWFnZS5yc3QKPiArKysgYi9Eb2N1bWVudGF0aW9u L3RyYW5zbGF0aW9ucy9pdF9JVC9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1YWdlLnJzdAo+IEBA IC0xMCw4ICsxMCw4IEBAIExpbmd1YWdnaW8gZGkgcHJvZ3JhbW1hemlvbmUKPgo+ICBJbCBrZXJu ZWwgw6ggc2NyaXR0byBuZWwgbGluZ3VhZ2dpbyBkaSBwcm9ncmFtbWF6aW9uZSBDIFtpdC1jLWxh bmd1YWdlXV8uCj4gIFBpw7kgcHJlY2lzYW1lbnRlLCBpbCBrZXJuZWwgdmllbmUgY29tcGlsYXRv IGNvbiBgYGdjY2BgIFtpdC1nY2NdXyB1c2FuZG8KPiAtbCdvcHppb25lIGBgLXN0ZD1nbnU4OWBg IFtpdC1nY2MtYy1kaWFsZWN0LW9wdGlvbnNdXzogaWwgZGlhbGV0dG8gR05VCj4gLWRlbGxvIHN0 YW5kYXJkIElTTyBDOTAgKGNvbiBsJ2FnZ2l1bnRhIGRpIGFsY3VuZSBmdW56aW9uYWxpdMOgIGRh IEM5OSkuCj4gK2wnb3B6aW9uZSBgYC1zdGQ9Z251MTFgYCBbaXQtZ2NjLWMtZGlhbGVjdC1vcHRp b25zXV86IGlsIGRpYWxldHRvIEdOVQo+ICtkZWxsbyBzdGFuZGFyZCBJU08gQzExIChjb24gbCdh Z2dpdW50YSBkaSBhbGN1bmUgZnVuemlvbmFsaXTDoCBkYSBDMTcpLgo+ICBMaW51eCBzdXBwb3J0 YSBhbmNoZSBgYGNsYW5nYGAgW2l0LWNsYW5nXV8sIGxlZ2dldGUgbGEgZG9jdW1lbnRhemlvbmUK PiAgOnJlZjpgQnVpbGRpbmcgTGludXggd2l0aCBDbGFuZy9MTFZNIDxrYnVpbGRfbGx2bT5gLgo+ Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdHJhbnNsYXRpb25zL3poX0NOL3Byb2Nlc3Mv cHJvZ3JhbW1pbmctbGFuZ3VhZ2UucnN0IGIvRG9jdW1lbnRhdGlvbi90cmFuc2xhdGlvbnMvemhf Q04vcHJvY2Vzcy9wcm9ncmFtbWluZy1sYW5ndWFnZS5yc3QKPiBpbmRleCAyYTQ3YTFkMmVjMjAu LjU4ZDJiM2JkMmQ4NSAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL3RyYW5zbGF0aW9ucy96 aF9DTi9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1YWdlLnJzdAo+ICsrKyBiL0RvY3VtZW50YXRp b24vdHJhbnNsYXRpb25zL3poX0NOL3Byb2Nlc3MvcHJvZ3JhbW1pbmctbGFuZ3VhZ2UucnN0Cj4g QEAgLTksOCArOSw4IEBACj4gID09PT09PT09PT09PQo+Cj4gIOWGheaguOaYr+eUqEPor63oqIAg OnJlZjpgYy1sYW5ndWFnZSA8Y25fYy1sYW5ndWFnZT5gIOe8luWGmeeahOOAguabtOWHhuehruWc sOivtO+8jOWGheaguOmAmuW4uOaYr+eUqCA6cmVmOmBnY2MgPGNuX2djYz5gCj4gLeWcqCBgYC1z dGQ9Z251ODlgYCA6cmVmOmBnY2MtYy1kaWFsZWN0LW9wdGlvbnMgPGNuX2djYy1jLWRpYWxlY3Qt b3B0aW9ucz5gIOS4i+e8luivkeeahO+8mklTTyBDOTDnmoQgR05VIOaWueiogO+8iAo+IC3ljIXm i6zkuIDkuptDOTnnibnmgKfvvIkKPiAr5ZyoIGBgLXN0ZD1nbnUxMWBgIDpyZWY6YGdjYy1jLWRp YWxlY3Qtb3B0aW9ucyA8Y25fZ2NjLWMtZGlhbGVjdC1vcHRpb25zPmAg5LiL57yW6K+R55qE77ya SVNPIEMxMeeahCBHTlUg5pa56KiA77yICj4gK+WMheaLrOS4gOS6m0MxN+eJueaAp++8iQo+Cj4g IOi/meenjeaWueiogOWMheWQq+WvueivreiogCA6cmVmOmBnbnUtZXh0ZW5zaW9ucyA8Y25fZ251 LWV4dGVuc2lvbnM+YCDnmoTorrjlpJrmianlsZXvvIzlvZPnhLbvvIzlroPku6zorrjlpJrpg73l nKjlhoXmoLjkuK3kvb/nlKjjgIIKPgo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RyYW5z bGF0aW9ucy96aF9UVy9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1YWdlLnJzdCBiL0RvY3VtZW50 YXRpb24vdHJhbnNsYXRpb25zL3poX1RXL3Byb2Nlc3MvcHJvZ3JhbW1pbmctbGFuZ3VhZ2UucnN0 Cj4gaW5kZXggNTRlMzY5OWVhZGY4Li4yMzVkZTA1ZjdlMmMgMTAwNjQ0Cj4gLS0tIGEvRG9jdW1l bnRhdGlvbi90cmFuc2xhdGlvbnMvemhfVFcvcHJvY2Vzcy9wcm9ncmFtbWluZy1sYW5ndWFnZS5y c3QKPiArKysgYi9Eb2N1bWVudGF0aW9uL3RyYW5zbGF0aW9ucy96aF9UVy9wcm9jZXNzL3Byb2dy YW1taW5nLWxhbmd1YWdlLnJzdAo+IEBAIC0xMiw4ICsxMiw4IEBACj4gID09PT09PT09PT09PQo+ Cj4gIOWFp+aguOaYr+eUqEPoqp7oqIAgOnJlZjpgYy1sYW5ndWFnZSA8dHdfYy1sYW5ndWFnZT5g IOe3qOWvq+eahOOAguabtOa6lueiuuWcsOiqqu+8jOWFp+aguOmAmuW4uOaYr+eUqCA6cmVmOmBn Y2MgPHR3X2djYz5gCj4gLeWcqCBgYC1zdGQ9Z251ODlgYCA6cmVmOmBnY2MtYy1kaWFsZWN0LW9w dGlvbnMgPHR3X2djYy1jLWRpYWxlY3Qtb3B0aW9ucz5gIOS4i+e3qOitr+eahO+8mklTTyBDOTDn moQgR05VIOaWueiogO+8iAo+IC3ljIXmi6zkuIDkuptDOTnnibnmgKfvvIkKPiAr5ZyoIGBgLXN0 ZD1nbnUxMWBgIDpyZWY6YGdjYy1jLWRpYWxlY3Qtb3B0aW9ucyA8dHdfZ2NjLWMtZGlhbGVjdC1v cHRpb25zPmAg5LiL57eo6K2v55qE77yaSVNPIEMxMeeahCBHTlUg5pa56KiA77yICj4gK+WMheaL rOS4gOS6m0MxN+eJueaAp++8iQo+Cj4gIOmAmeeoruaWueiogOWMheWQq+WwjeiqnuiogCA6cmVm OmBnbnUtZXh0ZW5zaW9ucyA8dHdfZ251LWV4dGVuc2lvbnM+YCDnmoToqLHlpJrmk7TlsZXvvIzn lbbnhLbvvIzlroPlgJHoqLHlpJrpg73lnKjlhafmoLjkuK3kvb/nlKjjgIIKPgo+IGRpZmYgLS1n aXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCj4gaW5kZXggMjg5Y2UyYmU4MDMyLi42NjQ5NmVhZWI5 ZWMgMTAwNjQ0Cj4gLS0tIGEvTWFrZWZpbGUKPiArKysgYi9NYWtlZmlsZQo+IEBAIC00MzIsNyAr NDMyLDcgQEAgSE9TVENYWCAgICAgPSBnKysKPiAgZW5kaWYKPgo+ICBleHBvcnQgS0JVSUxEX1VT RVJDRkxBR1MgOj0gLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBl cyBcCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLU8yIC1mb21pdC1mcmFtZS1wb2lu dGVyIC1zdGQ9Z251ODkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtTzIgLWZvbWl0 LWZyYW1lLXBvaW50ZXIgLXN0ZD1nbnUxMQo+ICBleHBvcnQgS0JVSUxEX1VTRVJMREZMQUdTIDo9 Cj4KPiAgS0JVSUxEX0hPU1RDRkxBR1MgICA6PSAkKEtCVUlMRF9VU0VSQ0ZMQUdTKSAkKEhPU1Rf TEZTX0NGTEFHUykgJChIT1NUQ0ZMQUdTKQo+IEBAIC01MTUsNyArNTE1LDcgQEAgS0JVSUxEX0NG TEFHUyAgIDo9IC1XYWxsIC1XdW5kZWYgLVdlcnJvcj1zdHJpY3QtcHJvdG90eXBlcyAtV25vLXRy aWdyYXBocyBcCj4gICAgICAgICAgICAgICAgICAgIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8t Y29tbW9uIC1mc2hvcnQtd2NoYXIgLWZuby1QSUUgXAo+ICAgICAgICAgICAgICAgICAgICAtV2Vy cm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIC1XZXJyb3I9aW1wbGljaXQtaW50IFwK PiAgICAgICAgICAgICAgICAgICAgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV25vLWZvcm1hdC1zZWN1 cml0eSBcCj4gLSAgICAgICAgICAgICAgICAgIC1zdGQ9Z251ODkKPiArICAgICAgICAgICAgICAg ICAgLXN0ZD1nbnUxMQo+ICBLQlVJTERfQ1BQRkxBR1MgOj0gLURfX0tFUk5FTF9fCj4gIEtCVUlM RF9BRkxBR1NfS0VSTkVMIDo9Cj4gIEtCVUlMRF9DRkxBR1NfS0VSTkVMIDo9Cj4gQEAgLTc4Miw3 ICs3ODIsNyBAQCBLQlVJTERfQ0ZMQUdTICs9ICQoS0JVSUxEX0NGTEFHUy15KSAkKENPTkZJR19D Q19JTVBMSUNJVF9GQUxMVEhST1VHSCkKPgo+ICBpZmRlZiBDT05GSUdfQ0NfSVNfQ0xBTkcKPiAg S0JVSUxEX0NQUEZMQUdTICs9IC1RdW51c2VkLWFyZ3VtZW50cwo+IC0jIFRoZSBrZXJuZWwgYnVp bGRzIHdpdGggJy1zdGQ9Z251ODknIHNvIHVzZSBvZiBHTlUgZXh0ZW5zaW9ucyBpcyBhY2NlcHRh YmxlLgo+ICsjIFRoZSBrZXJuZWwgYnVpbGRzIHdpdGggJy1zdGQ9Z251MTEnIHNvIHVzZSBvZiBH TlUgZXh0ZW5zaW9ucyBpcyBhY2NlcHRhYmxlLgo+ICBLQlVJTERfQ0ZMQUdTICs9IC1Xbm8tZ251 Cj4gICMgQ0xBTkcgdXNlcyBhIF9NZXJnZWRHbG9iYWxzIGFzIG9wdGltaXphdGlvbiwgYnV0IHRo aXMgYnJlYWtzIG1vZHBvc3QsIGFzIHRoZQo+ICAjIHNvdXJjZSBvZiBhIHJlZmVyZW5jZSB3aWxs IGJlIF9NZXJnZWRHbG9iYWxzIGFuZCBub3Qgb24gb2YgdGhlIHdoaXRlbGlzdGVkIG5hbWVzLgo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2tlcm5lbC92ZHNvMzIvTWFrZWZpbGUgYi9hcmNoL2Fy bTY0L2tlcm5lbC92ZHNvMzIvTWFrZWZpbGUKPiBpbmRleCA2YzAxYjYzZmY1NmQuLjkzNzhlYTA1 NWJmMiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybTY0L2tlcm5lbC92ZHNvMzIvTWFrZWZpbGUKPiAr KysgYi9hcmNoL2FybTY0L2tlcm5lbC92ZHNvMzIvTWFrZWZpbGUKPiBAQCAtNjgsNyArNjgsNyBA QCBWRFNPX0NGTEFHUyArPSAtV2FsbCAtV3VuZGVmIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVduby10 cmlncmFwaHMgXAo+ICAgICAgICAgICAgICAgICAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWNv bW1vbiBcCj4gICAgICAgICAgICAgICAgIC1XZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFy YXRpb24gXAo+ICAgICAgICAgICAgICAgICAtV25vLWZvcm1hdC1zZWN1cml0eSBcCj4gLSAgICAg ICAgICAgICAgIC1zdGQ9Z251ODkKPiArICAgICAgICAgICAgICAgLXN0ZD1nbnUxMQo+ICBWRFNP X0NGTEFHUyAgKz0gLU8yCj4gICMgU29tZSB1c2VmdWwgY29tcGlsZXItZGVwZW5kZW50IGZsYWdz IGZyb20gdG9wLWxldmVsIE1ha2VmaWxlCj4gIFZEU09fQ0ZMQUdTICs9ICQoY2FsbCBjYzMyLW9w dGlvbiwtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCwpCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUK PiBpbmRleCAxYjYyYjlmNjUxOTYuLjE2MThhNmUwYWY0ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2Vm aWxlCj4gQEAgLTE3LDYgKzE3LDcgQEAgc3ViZGlyLWNjZmxhZ3MteSArPSAtV25vLXVudXNlZC1w YXJhbWV0ZXIKPiAgc3ViZGlyLWNjZmxhZ3MteSArPSAtV25vLXR5cGUtbGltaXRzCj4gIHN1YmRp ci1jY2ZsYWdzLXkgKz0gLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycwo+ICBzdWJkaXIt Y2NmbGFncy15ICs9IC1Xbm8tc2lnbi1jb21wYXJlCj4gK3N1YmRpci1jY2ZsYWdzLXkgKz0gLVdu by1zaGlmdC1uZWdhdGl2ZS12YWx1ZQo+ICBzdWJkaXItY2NmbGFncy15ICs9ICQoY2FsbCBjYy1k aXNhYmxlLXdhcm5pbmcsIHVudXNlZC1idXQtc2V0LXZhcmlhYmxlKQo+ICBzdWJkaXItY2NmbGFn cy15ICs9ICQoY2FsbCBjYy1kaXNhYmxlLXdhcm5pbmcsIGZyYW1lLWFkZHJlc3MpCj4gIHN1YmRp ci1jY2ZsYWdzLSQoQ09ORklHX0RSTV9JOTE1X1dFUlJPUikgKz0gLVdlcnJvcgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvZ3JleWJ1cy90b29scy9NYWtlZmlsZSBiL2RyaXZlcnMvc3Rh Z2luZy9ncmV5YnVzL3Rvb2xzL01ha2VmaWxlCj4gaW5kZXggYWQwYWU4MDUzYjc5Li5hM2JiZDcz MTcxZjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL2dyZXlidXMvdG9vbHMvTWFrZWZp bGUKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvZ3JleWJ1cy90b29scy9NYWtlZmlsZQo+IEBAIC0x Miw3ICsxMiw4IEBAIENGTEFHUyAgICAgICAgKz0gLXN0ZD1nbnU5OSAtV2FsbCAtV2V4dHJhIC1n IFwKPiAgICAgICAgICAgICAtV3JlZHVuZGFudC1kZWNscyBcCj4gICAgICAgICAgICAgLVdjYXN0 LWFsaWduIFwKPiAgICAgICAgICAgICAtV3NpZ24tY29tcGFyZSBcCj4gLSAgICAgICAgICAgLVdu by1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycwo+ICsgICAgICAgICAgIC1Xbm8tbWlzc2luZy1m aWVsZC1pbml0aWFsaXplcnMgXAo+ICsgICAgICAgICAgIC1Xbm8tc2hpZnQtbmVnYXRpdmUtdmFs dWUKPgo+ICBDQyAgICAgOj0gJChDUk9TU19DT01QSUxFKWdjYwo+Cj4gZGlmZiAtLWdpdCBhL2Zz L2J0cmZzL01ha2VmaWxlIGIvZnMvYnRyZnMvTWFrZWZpbGUKPiBpbmRleCA0MTg4YmEzZmQ4YzMu Ljk5Zjk5OTU2NzBlYSAxMDA2NDQKPiAtLS0gYS9mcy9idHJmcy9NYWtlZmlsZQo+ICsrKyBiL2Zz L2J0cmZzL01ha2VmaWxlCj4gQEAgLTE3LDYgKzE3LDcgQEAgc3ViZGlyLWNjZmxhZ3MteSArPSAk KGNvbmRmbGFncykKPiAgc3ViZGlyLWNjZmxhZ3MteSArPSAtV25vLW1pc3NpbmctZmllbGQtaW5p dGlhbGl6ZXJzCj4gIHN1YmRpci1jY2ZsYWdzLXkgKz0gLVduby1zaWduLWNvbXBhcmUKPiAgc3Vi ZGlyLWNjZmxhZ3MteSArPSAtV25vLXR5cGUtbGltaXRzCj4gK3N1YmRpci1jY2ZsYWdzLXkgKz0g LVduby1zaGlmdC1uZWdhdGl2ZS12YWx1ZQo+Cj4gIG9iai0kKENPTkZJR19CVFJGU19GUykgOj0g YnRyZnMubwo+Cj4gZGlmZiAtLWdpdCBhL3NjcmlwdHMvTWFrZWZpbGUuZXh0cmF3YXJuIGIvc2Ny aXB0cy9NYWtlZmlsZS5leHRyYXdhcm4KPiBpbmRleCA4YmU4OTI4ODdkNzEuLjY1MGQwYjhjZWVj MyAxMDA2NDQKPiAtLS0gYS9zY3JpcHRzL01ha2VmaWxlLmV4dHJhd2Fybgo+ICsrKyBiL3Njcmlw dHMvTWFrZWZpbGUuZXh0cmF3YXJuCj4gQEAgLTM2LDYgKzM2LDcgQEAgS0JVSUxEX0NGTEFHUyAr PSAkKGNhbGwgY2Mtb3B0aW9uLCAtV3N0cmluZ29wLXRydW5jYXRpb24pCj4gIEtCVUlMRF9DRkxB R1MgKz0gLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycwo+ICBLQlVJTERfQ0ZMQUdTICs9 IC1Xbm8tc2lnbi1jb21wYXJlCj4gIEtCVUlMRF9DRkxBR1MgKz0gLVduby10eXBlLWxpbWl0cwo+ ICtLQlVJTERfQ0ZMQUdTICs9IC1Xbm8tc2hpZnQtbmVnYXRpdmUtdmFsdWUKPgo+ICBLQlVJTERf Q1BQRkxBR1MgKz0gLURLQlVJTERfRVhUUkFfV0FSTjEKPgo+IC0tCj4gMi4yOS4yCj4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK 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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4E10BC433FE for ; Mon, 28 Feb 2022 14:26:20 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B16DD10E61D; Mon, 28 Feb 2022 14:26:06 +0000 (UTC) Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9A3FC89C61; Mon, 28 Feb 2022 12:49:05 +0000 (UTC) Received: by mail-io1-xd29.google.com with SMTP id c23so14515779ioi.4; Mon, 28 Feb 2022 04:49:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=mOwbZLEZAA7CbHC+ZGRfJecP9SUyALH4CUgSrWMoe2Y=; b=MoRqzkxl3y5bj6ZSvrlCkhi2eyhrKfbhvB8EI57ZXGiPyLp+PHJZj+m6chb0C6fDg+ djOViiwLzv9MFpsrxG2ocg2vE77iNztXu6hIk49ZVn01C9/E7TzhSRsZrkAmglSsv1P0 O8r143/OuUhcoCPa0Miggp3nc1mD8UveBAxgUHM43Jaabl7pWw5GUu6iPUMhTTDdTm58 OCefXbhIQ+lMMN0Zz6j3r6ZdLH+YJA+kaDIscqG3S4AdZbKqUa4EyRU1DI+O2tsiAtLa oDS98C0nK6Ll/C9g+hmM3g/Q+gJZoZjbPTjAeNV3AtyrmbCyt9gsn12+nKbe4Q65iE0m C1DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=mOwbZLEZAA7CbHC+ZGRfJecP9SUyALH4CUgSrWMoe2Y=; b=30c53VW1Iu511QpS/GWbT47ZmzlT433I8BulZLgedKr83CGGBy4y1MvZWtvNXVv+1q VOCgz/JCtucuZPORY2cpV0Clac6OUh/3KpkOf1V3epoBRZawwHYY/9KbSe1tjzMlEaTt 0HsiI/hpwUOjSTuxEIwomR/OSROLXXm7XGFKnOtU88HuolD5kBDGR5vSRvP130xwMBCB 2O59ZTLbTmCFez5hoX22/VYJaKyvg/0bMOQmSplEknsHoSjJ1hAJhSz/rGVQIzpwn8gd Y6Ixvp+Z6fCs/TZYgIKJeO7ClYW/JPISiQuH294Q0uHosV6IV37bHDTlWP5oSYqV3ZFl +zyA== X-Gm-Message-State: AOAM533AvXmyFAnqPD9r2KkAMdqWJcWrM+lTVlJdJEXZWrpYI15tFPr+ tvMPeJFIzC9APMmFWxepclDCuw1hTmdqX9mqUZc= X-Google-Smtp-Source: ABdhPJz3q8cRMHd/oy9ZoQDTB815Cb8Pu3kGKWD99P8CNfxxFeh2KSEcEd4cG9pFBH7WrrbY5kthiPuHNKK+V71otSM= X-Received: by 2002:a02:c6c1:0:b0:314:b699:b8bd with SMTP id r1-20020a02c6c1000000b00314b699b8bdmr17570856jan.40.1646052543613; Mon, 28 Feb 2022 04:49:03 -0800 (PST) MIME-Version: 1.0 References: <20220228103142.3301082-1-arnd@kernel.org> In-Reply-To: <20220228103142.3301082-1-arnd@kernel.org> From: Alex Shi Date: Mon, 28 Feb 2022 20:48:27 +0800 Message-ID: To: Arnd Bergmann Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Mon, 28 Feb 2022 14:26:05 +0000 Subject: Re: [Intel-gfx] [PATCH] [v2] Kbuild: move to -std=gnu11 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arm-kernel@lists.infradead.org, Michal Marek , Linux Doc Mailing List , Arnd Bergmann , Jonathan Corbet , linux-staging@lists.linux.dev, Masahiro Yamada , llvm@lists.linux.dev, Nick Desaulniers , LKML , dri-devel@lists.freedesktop.org, greybus-dev@lists.linaro.org, Alex Shi , Federico Vaga , Hu Haowen , intel-gfx@lists.freedesktop.org, linux-btrfs@vger.kernel.org, Linus Torvalds , linux-doc-tw-discuss@lists.sourceforge.net, linux-kbuild@vger.kernel.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" On Mon, Feb 28, 2022 at 6:32 PM Arnd Bergmann wrote: > > From: Arnd Bergmann > > During a patch discussion, Linus brought up the option of changing > the C standard version from gnu89 to gnu99, which allows using variable > declaration inside of a for() loop. While the C99, C11 and later standard= s > introduce many other features, most of these are already available in > gnu89 as GNU extensions as well. > > An earlier attempt to do this when gcc-5 started defaulting to > -std=3Dgnu11 failed because at the time that caused warnings about > designated initializers with older compilers. Now that gcc-5.1 is the > minimum compiler version used for building kernels, that is no longer a > concern. Similarly, the behavior of 'inline' functions changes between > gnu89 and gnu11, but this was taken care of by defining 'inline' to > include __attribute__((gnu_inline)) in order to allow building with > clang a while ago. > > One minor issue that remains is an added gcc warning for shifts of > negative integers when building with -Werror, which happens with the > 'make W=3D1' option, as well as for three drivers in the kernel that alwa= ys > enable -Werror, but it was only observed with the i915 driver so far. > To be on the safe side, add -Wno-shift-negative-value to any -Wextra > in a Makefile. > > Nathan Chancellor reported an additional -Wdeclaration-after-statement > warning that appears in a system header on arm, this still needs a > workaround. > > The differences between gnu99, gnu11, gnu1x and gnu17 are fairly > minimal and mainly impact warnings at the -Wpedantic level that the > kernel never enables. Between these, gnu11 is the newest version > that is supported by all supported compiler versions, though it is > only the default on gcc-5, while all other supported versions of > gcc or clang default to gnu1x/gnu17. > > Link: https://lore.kernel.org/lkml/CAHk-=3DwiyCH7xeHcmiFJ-YgXUy2Jaj7pnkdK= pcovt8fYbVFW3TA@mail.gmail.com/ > Link: https://github.com/ClangBuiltLinux/linux/issues/1603 > Suggested-by: Linus Torvalds > Cc: Masahiro Yamada > Cc: linux-kbuild@vger.kernel.org > Cc: llvm@lists.linux.dev > Signed-off-by: Arnd Bergmann For document part, Reviewed-by: Alex Shi > --- > [v2] > - added -std=3Dgnu11 back, rather than just relying on the default > - minor changes to changelog text > --- > Documentation/process/programming-language.rst | 4 ++-- > .../translations/it_IT/process/programming-language.rst | 4 ++-- > .../translations/zh_CN/process/programming-language.rst | 4 ++-- > .../translations/zh_TW/process/programming-language.rst | 4 ++-- > Makefile | 6 +++--- > arch/arm64/kernel/vdso32/Makefile | 2 +- > drivers/gpu/drm/i915/Makefile | 1 + > drivers/staging/greybus/tools/Makefile | 3 ++- > fs/btrfs/Makefile | 1 + > scripts/Makefile.extrawarn | 1 + > 10 files changed, 17 insertions(+), 13 deletions(-) > > diff --git a/Documentation/process/programming-language.rst b/Documentati= on/process/programming-language.rst > index ec474a70a02f..894f2a6eb9db 100644 > --- a/Documentation/process/programming-language.rst > +++ b/Documentation/process/programming-language.rst > @@ -5,8 +5,8 @@ Programming Language > > The kernel is written in the C programming language [c-language]_. > More precisely, the kernel is typically compiled with ``gcc`` [gcc]_ > -under ``-std=3Dgnu89`` [gcc-c-dialect-options]_: the GNU dialect of ISO = C90 > -(including some C99 features). ``clang`` [clang]_ is also supported, see > +under ``-std=3Dgnu11`` [gcc-c-dialect-options]_: the GNU dialect of ISO = C11 > +(including some C17 features). ``clang`` [clang]_ is also supported, see > docs on :ref:`Building Linux with Clang/LLVM `. > > This dialect contains many extensions to the language [gnu-extensions]_, > diff --git a/Documentation/translations/it_IT/process/programming-languag= e.rst b/Documentation/translations/it_IT/process/programming-language.rst > index 41db2598ce11..aa21097737ae 100644 > --- a/Documentation/translations/it_IT/process/programming-language.rst > +++ b/Documentation/translations/it_IT/process/programming-language.rst > @@ -10,8 +10,8 @@ Linguaggio di programmazione > > Il kernel =C3=A8 scritto nel linguaggio di programmazione C [it-c-langua= ge]_. > Pi=C3=B9 precisamente, il kernel viene compilato con ``gcc`` [it-gcc]_ u= sando > -l'opzione ``-std=3Dgnu89`` [it-gcc-c-dialect-options]_: il dialetto GNU > -dello standard ISO C90 (con l'aggiunta di alcune funzionalit=C3=A0 da C9= 9). > +l'opzione ``-std=3Dgnu11`` [it-gcc-c-dialect-options]_: il dialetto GNU > +dello standard ISO C11 (con l'aggiunta di alcune funzionalit=C3=A0 da C1= 7). > Linux supporta anche ``clang`` [it-clang]_, leggete la documentazione > :ref:`Building Linux with Clang/LLVM `. > > diff --git a/Documentation/translations/zh_CN/process/programming-languag= e.rst b/Documentation/translations/zh_CN/process/programming-language.rst > index 2a47a1d2ec20..58d2b3bd2d85 100644 > --- a/Documentation/translations/zh_CN/process/programming-language.rst > +++ b/Documentation/translations/zh_CN/process/programming-language.rst > @@ -9,8 +9,8 @@ > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =E5=86=85=E6=A0=B8=E6=98=AF=E7=94=A8C=E8=AF=AD=E8=A8=80 :ref:`c-language= ` =E7=BC=96=E5=86=99=E7=9A=84=E3=80=82=E6=9B=B4=E5=87=86=E7= =A1=AE=E5=9C=B0=E8=AF=B4=EF=BC=8C=E5=86=85=E6=A0=B8=E9=80=9A=E5=B8=B8=E6=98= =AF=E7=94=A8 :ref:`gcc ` > -=E5=9C=A8 ``-std=3Dgnu89`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=BC=96=E8=AF=91=E7=9A=84=EF=BC=9AISO C90=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > -=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC99=E7=89=B9=E6=80=A7=EF=BC=89 > +=E5=9C=A8 ``-std=3Dgnu11`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=BC=96=E8=AF=91=E7=9A=84=EF=BC=9AISO C11=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > +=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC17=E7=89=B9=E6=80=A7=EF=BC=89 > > =E8=BF=99=E7=A7=8D=E6=96=B9=E8=A8=80=E5=8C=85=E5=90=AB=E5=AF=B9=E8=AF=AD= =E8=A8=80 :ref:`gnu-extensions ` =E7=9A=84=E8=AE=B8=E5= =A4=9A=E6=89=A9=E5=B1=95=EF=BC=8C=E5=BD=93=E7=84=B6=EF=BC=8C=E5=AE=83=E4=BB= =AC=E8=AE=B8=E5=A4=9A=E9=83=BD=E5=9C=A8=E5=86=85=E6=A0=B8=E4=B8=AD=E4=BD=BF= =E7=94=A8=E3=80=82 > > diff --git a/Documentation/translations/zh_TW/process/programming-languag= e.rst b/Documentation/translations/zh_TW/process/programming-language.rst > index 54e3699eadf8..235de05f7e2c 100644 > --- a/Documentation/translations/zh_TW/process/programming-language.rst > +++ b/Documentation/translations/zh_TW/process/programming-language.rst > @@ -12,8 +12,8 @@ > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =E5=85=A7=E6=A0=B8=E6=98=AF=E7=94=A8C=E8=AA=9E=E8=A8=80 :ref:`c-language= ` =E7=B7=A8=E5=AF=AB=E7=9A=84=E3=80=82=E6=9B=B4=E6=BA=96=E7= =A2=BA=E5=9C=B0=E8=AA=AA=EF=BC=8C=E5=85=A7=E6=A0=B8=E9=80=9A=E5=B8=B8=E6=98= =AF=E7=94=A8 :ref:`gcc ` > -=E5=9C=A8 ``-std=3Dgnu89`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=B7=A8=E8=AD=AF=E7=9A=84=EF=BC=9AISO C90=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > -=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC99=E7=89=B9=E6=80=A7=EF=BC=89 > +=E5=9C=A8 ``-std=3Dgnu11`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=B7=A8=E8=AD=AF=E7=9A=84=EF=BC=9AISO C11=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > +=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC17=E7=89=B9=E6=80=A7=EF=BC=89 > > =E9=80=99=E7=A8=AE=E6=96=B9=E8=A8=80=E5=8C=85=E5=90=AB=E5=B0=8D=E8=AA=9E= =E8=A8=80 :ref:`gnu-extensions ` =E7=9A=84=E8=A8=B1=E5= =A4=9A=E6=93=B4=E5=B1=95=EF=BC=8C=E7=95=B6=E7=84=B6=EF=BC=8C=E5=AE=83=E5=80= =91=E8=A8=B1=E5=A4=9A=E9=83=BD=E5=9C=A8=E5=85=A7=E6=A0=B8=E4=B8=AD=E4=BD=BF= =E7=94=A8=E3=80=82 > > diff --git a/Makefile b/Makefile > index 289ce2be8032..66496eaeb9ec 100644 > --- a/Makefile > +++ b/Makefile > @@ -432,7 +432,7 @@ HOSTCXX =3D g++ > endif > > export KBUILD_USERCFLAGS :=3D -Wall -Wmissing-prototypes -Wstrict-protot= ypes \ > - -O2 -fomit-frame-pointer -std=3Dgnu89 > + -O2 -fomit-frame-pointer -std=3Dgnu11 > export KBUILD_USERLDFLAGS :=3D > > KBUILD_HOSTCFLAGS :=3D $(KBUILD_USERCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTC= FLAGS) > @@ -515,7 +515,7 @@ KBUILD_CFLAGS :=3D -Wall -Wundef -Werror=3Dstrict-p= rototypes -Wno-trigraphs \ > -fno-strict-aliasing -fno-common -fshort-wchar -fno-PI= E \ > -Werror=3Dimplicit-function-declaration -Werror=3Dimpl= icit-int \ > -Werror=3Dreturn-type -Wno-format-security \ > - -std=3Dgnu89 > + -std=3Dgnu11 > KBUILD_CPPFLAGS :=3D -D__KERNEL__ > KBUILD_AFLAGS_KERNEL :=3D > KBUILD_CFLAGS_KERNEL :=3D > @@ -782,7 +782,7 @@ KBUILD_CFLAGS +=3D $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMP= LICIT_FALLTHROUGH) > > ifdef CONFIG_CC_IS_CLANG > KBUILD_CPPFLAGS +=3D -Qunused-arguments > -# The kernel builds with '-std=3Dgnu89' so use of GNU extensions is acce= ptable. > +# The kernel builds with '-std=3Dgnu11' so use of GNU extensions is acce= ptable. > KBUILD_CFLAGS +=3D -Wno-gnu > # CLANG uses a _MergedGlobals as optimization, but this breaks modpost, = as the > # source of a reference will be _MergedGlobals and not on of the whiteli= sted names. > diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32= /Makefile > index 6c01b63ff56d..9378ea055bf2 100644 > --- a/arch/arm64/kernel/vdso32/Makefile > +++ b/arch/arm64/kernel/vdso32/Makefile > @@ -68,7 +68,7 @@ VDSO_CFLAGS +=3D -Wall -Wundef -Wstrict-prototypes -Wno= -trigraphs \ > -fno-strict-aliasing -fno-common \ > -Werror-implicit-function-declaration \ > -Wno-format-security \ > - -std=3Dgnu89 > + -std=3Dgnu11 > VDSO_CFLAGS +=3D -O2 > # Some useful compiler-dependent flags from top-level Makefile > VDSO_CFLAGS +=3D $(call cc32-option,-Wdeclaration-after-statement,) > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefil= e > index 1b62b9f65196..1618a6e0af4e 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -17,6 +17,7 @@ subdir-ccflags-y +=3D -Wno-unused-parameter > subdir-ccflags-y +=3D -Wno-type-limits > subdir-ccflags-y +=3D -Wno-missing-field-initializers > subdir-ccflags-y +=3D -Wno-sign-compare > +subdir-ccflags-y +=3D -Wno-shift-negative-value > subdir-ccflags-y +=3D $(call cc-disable-warning, unused-but-set-variable= ) > subdir-ccflags-y +=3D $(call cc-disable-warning, frame-address) > subdir-ccflags-$(CONFIG_DRM_I915_WERROR) +=3D -Werror > diff --git a/drivers/staging/greybus/tools/Makefile b/drivers/staging/gre= ybus/tools/Makefile > index ad0ae8053b79..a3bbd73171f2 100644 > --- a/drivers/staging/greybus/tools/Makefile > +++ b/drivers/staging/greybus/tools/Makefile > @@ -12,7 +12,8 @@ CFLAGS +=3D -std=3Dgnu99 -Wall -Wextra -g \ > -Wredundant-decls \ > -Wcast-align \ > -Wsign-compare \ > - -Wno-missing-field-initializers > + -Wno-missing-field-initializers \ > + -Wno-shift-negative-value > > CC :=3D $(CROSS_COMPILE)gcc > > diff --git a/fs/btrfs/Makefile b/fs/btrfs/Makefile > index 4188ba3fd8c3..99f9995670ea 100644 > --- a/fs/btrfs/Makefile > +++ b/fs/btrfs/Makefile > @@ -17,6 +17,7 @@ subdir-ccflags-y +=3D $(condflags) > subdir-ccflags-y +=3D -Wno-missing-field-initializers > subdir-ccflags-y +=3D -Wno-sign-compare > subdir-ccflags-y +=3D -Wno-type-limits > +subdir-ccflags-y +=3D -Wno-shift-negative-value > > obj-$(CONFIG_BTRFS_FS) :=3D btrfs.o > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index 8be892887d71..650d0b8ceec3 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -36,6 +36,7 @@ KBUILD_CFLAGS +=3D $(call cc-option, -Wstringop-truncat= ion) > KBUILD_CFLAGS +=3D -Wno-missing-field-initializers > KBUILD_CFLAGS +=3D -Wno-sign-compare > KBUILD_CFLAGS +=3D -Wno-type-limits > +KBUILD_CFLAGS +=3D -Wno-shift-negative-value > > KBUILD_CPPFLAGS +=3D -DKBUILD_EXTRA_WARN1 > > -- > 2.29.2 > 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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E753AC433F5 for ; Tue, 1 Mar 2022 07:19:08 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 79E7A10E570; Tue, 1 Mar 2022 07:19:00 +0000 (UTC) Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9A3FC89C61; Mon, 28 Feb 2022 12:49:05 +0000 (UTC) Received: by mail-io1-xd29.google.com with SMTP id c23so14515779ioi.4; Mon, 28 Feb 2022 04:49:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=mOwbZLEZAA7CbHC+ZGRfJecP9SUyALH4CUgSrWMoe2Y=; b=MoRqzkxl3y5bj6ZSvrlCkhi2eyhrKfbhvB8EI57ZXGiPyLp+PHJZj+m6chb0C6fDg+ djOViiwLzv9MFpsrxG2ocg2vE77iNztXu6hIk49ZVn01C9/E7TzhSRsZrkAmglSsv1P0 O8r143/OuUhcoCPa0Miggp3nc1mD8UveBAxgUHM43Jaabl7pWw5GUu6iPUMhTTDdTm58 OCefXbhIQ+lMMN0Zz6j3r6ZdLH+YJA+kaDIscqG3S4AdZbKqUa4EyRU1DI+O2tsiAtLa oDS98C0nK6Ll/C9g+hmM3g/Q+gJZoZjbPTjAeNV3AtyrmbCyt9gsn12+nKbe4Q65iE0m C1DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=mOwbZLEZAA7CbHC+ZGRfJecP9SUyALH4CUgSrWMoe2Y=; b=30c53VW1Iu511QpS/GWbT47ZmzlT433I8BulZLgedKr83CGGBy4y1MvZWtvNXVv+1q VOCgz/JCtucuZPORY2cpV0Clac6OUh/3KpkOf1V3epoBRZawwHYY/9KbSe1tjzMlEaTt 0HsiI/hpwUOjSTuxEIwomR/OSROLXXm7XGFKnOtU88HuolD5kBDGR5vSRvP130xwMBCB 2O59ZTLbTmCFez5hoX22/VYJaKyvg/0bMOQmSplEknsHoSjJ1hAJhSz/rGVQIzpwn8gd Y6Ixvp+Z6fCs/TZYgIKJeO7ClYW/JPISiQuH294Q0uHosV6IV37bHDTlWP5oSYqV3ZFl +zyA== X-Gm-Message-State: AOAM533AvXmyFAnqPD9r2KkAMdqWJcWrM+lTVlJdJEXZWrpYI15tFPr+ tvMPeJFIzC9APMmFWxepclDCuw1hTmdqX9mqUZc= X-Google-Smtp-Source: ABdhPJz3q8cRMHd/oy9ZoQDTB815Cb8Pu3kGKWD99P8CNfxxFeh2KSEcEd4cG9pFBH7WrrbY5kthiPuHNKK+V71otSM= X-Received: by 2002:a02:c6c1:0:b0:314:b699:b8bd with SMTP id r1-20020a02c6c1000000b00314b699b8bdmr17570856jan.40.1646052543613; Mon, 28 Feb 2022 04:49:03 -0800 (PST) MIME-Version: 1.0 References: <20220228103142.3301082-1-arnd@kernel.org> In-Reply-To: <20220228103142.3301082-1-arnd@kernel.org> From: Alex Shi Date: Mon, 28 Feb 2022 20:48:27 +0800 Message-ID: Subject: Re: [PATCH] [v2] Kbuild: move to -std=gnu11 To: Arnd Bergmann Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Tue, 01 Mar 2022 07:18:19 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arm-kernel@lists.infradead.org, Michal Marek , Linux Doc Mailing List , Arnd Bergmann , Jonathan Corbet , linux-staging@lists.linux.dev, Masahiro Yamada , llvm@lists.linux.dev, Nick Desaulniers , LKML , dri-devel@lists.freedesktop.org, greybus-dev@lists.linaro.org, Alex Shi , Federico Vaga , Hu Haowen , intel-gfx@lists.freedesktop.org, linux-btrfs@vger.kernel.org, Linus Torvalds , linux-doc-tw-discuss@lists.sourceforge.net, linux-kbuild@vger.kernel.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Mon, Feb 28, 2022 at 6:32 PM Arnd Bergmann wrote: > > From: Arnd Bergmann > > During a patch discussion, Linus brought up the option of changing > the C standard version from gnu89 to gnu99, which allows using variable > declaration inside of a for() loop. While the C99, C11 and later standard= s > introduce many other features, most of these are already available in > gnu89 as GNU extensions as well. > > An earlier attempt to do this when gcc-5 started defaulting to > -std=3Dgnu11 failed because at the time that caused warnings about > designated initializers with older compilers. Now that gcc-5.1 is the > minimum compiler version used for building kernels, that is no longer a > concern. Similarly, the behavior of 'inline' functions changes between > gnu89 and gnu11, but this was taken care of by defining 'inline' to > include __attribute__((gnu_inline)) in order to allow building with > clang a while ago. > > One minor issue that remains is an added gcc warning for shifts of > negative integers when building with -Werror, which happens with the > 'make W=3D1' option, as well as for three drivers in the kernel that alwa= ys > enable -Werror, but it was only observed with the i915 driver so far. > To be on the safe side, add -Wno-shift-negative-value to any -Wextra > in a Makefile. > > Nathan Chancellor reported an additional -Wdeclaration-after-statement > warning that appears in a system header on arm, this still needs a > workaround. > > The differences between gnu99, gnu11, gnu1x and gnu17 are fairly > minimal and mainly impact warnings at the -Wpedantic level that the > kernel never enables. Between these, gnu11 is the newest version > that is supported by all supported compiler versions, though it is > only the default on gcc-5, while all other supported versions of > gcc or clang default to gnu1x/gnu17. > > Link: https://lore.kernel.org/lkml/CAHk-=3DwiyCH7xeHcmiFJ-YgXUy2Jaj7pnkdK= pcovt8fYbVFW3TA@mail.gmail.com/ > Link: https://github.com/ClangBuiltLinux/linux/issues/1603 > Suggested-by: Linus Torvalds > Cc: Masahiro Yamada > Cc: linux-kbuild@vger.kernel.org > Cc: llvm@lists.linux.dev > Signed-off-by: Arnd Bergmann For document part, Reviewed-by: Alex Shi > --- > [v2] > - added -std=3Dgnu11 back, rather than just relying on the default > - minor changes to changelog text > --- > Documentation/process/programming-language.rst | 4 ++-- > .../translations/it_IT/process/programming-language.rst | 4 ++-- > .../translations/zh_CN/process/programming-language.rst | 4 ++-- > .../translations/zh_TW/process/programming-language.rst | 4 ++-- > Makefile | 6 +++--- > arch/arm64/kernel/vdso32/Makefile | 2 +- > drivers/gpu/drm/i915/Makefile | 1 + > drivers/staging/greybus/tools/Makefile | 3 ++- > fs/btrfs/Makefile | 1 + > scripts/Makefile.extrawarn | 1 + > 10 files changed, 17 insertions(+), 13 deletions(-) > > diff --git a/Documentation/process/programming-language.rst b/Documentati= on/process/programming-language.rst > index ec474a70a02f..894f2a6eb9db 100644 > --- a/Documentation/process/programming-language.rst > +++ b/Documentation/process/programming-language.rst > @@ -5,8 +5,8 @@ Programming Language > > The kernel is written in the C programming language [c-language]_. > More precisely, the kernel is typically compiled with ``gcc`` [gcc]_ > -under ``-std=3Dgnu89`` [gcc-c-dialect-options]_: the GNU dialect of ISO = C90 > -(including some C99 features). ``clang`` [clang]_ is also supported, see > +under ``-std=3Dgnu11`` [gcc-c-dialect-options]_: the GNU dialect of ISO = C11 > +(including some C17 features). ``clang`` [clang]_ is also supported, see > docs on :ref:`Building Linux with Clang/LLVM `. > > This dialect contains many extensions to the language [gnu-extensions]_, > diff --git a/Documentation/translations/it_IT/process/programming-languag= e.rst b/Documentation/translations/it_IT/process/programming-language.rst > index 41db2598ce11..aa21097737ae 100644 > --- a/Documentation/translations/it_IT/process/programming-language.rst > +++ b/Documentation/translations/it_IT/process/programming-language.rst > @@ -10,8 +10,8 @@ Linguaggio di programmazione > > Il kernel =C3=A8 scritto nel linguaggio di programmazione C [it-c-langua= ge]_. > Pi=C3=B9 precisamente, il kernel viene compilato con ``gcc`` [it-gcc]_ u= sando > -l'opzione ``-std=3Dgnu89`` [it-gcc-c-dialect-options]_: il dialetto GNU > -dello standard ISO C90 (con l'aggiunta di alcune funzionalit=C3=A0 da C9= 9). > +l'opzione ``-std=3Dgnu11`` [it-gcc-c-dialect-options]_: il dialetto GNU > +dello standard ISO C11 (con l'aggiunta di alcune funzionalit=C3=A0 da C1= 7). > Linux supporta anche ``clang`` [it-clang]_, leggete la documentazione > :ref:`Building Linux with Clang/LLVM `. > > diff --git a/Documentation/translations/zh_CN/process/programming-languag= e.rst b/Documentation/translations/zh_CN/process/programming-language.rst > index 2a47a1d2ec20..58d2b3bd2d85 100644 > --- a/Documentation/translations/zh_CN/process/programming-language.rst > +++ b/Documentation/translations/zh_CN/process/programming-language.rst > @@ -9,8 +9,8 @@ > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =E5=86=85=E6=A0=B8=E6=98=AF=E7=94=A8C=E8=AF=AD=E8=A8=80 :ref:`c-language= ` =E7=BC=96=E5=86=99=E7=9A=84=E3=80=82=E6=9B=B4=E5=87=86=E7= =A1=AE=E5=9C=B0=E8=AF=B4=EF=BC=8C=E5=86=85=E6=A0=B8=E9=80=9A=E5=B8=B8=E6=98= =AF=E7=94=A8 :ref:`gcc ` > -=E5=9C=A8 ``-std=3Dgnu89`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=BC=96=E8=AF=91=E7=9A=84=EF=BC=9AISO C90=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > -=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC99=E7=89=B9=E6=80=A7=EF=BC=89 > +=E5=9C=A8 ``-std=3Dgnu11`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=BC=96=E8=AF=91=E7=9A=84=EF=BC=9AISO C11=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > +=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC17=E7=89=B9=E6=80=A7=EF=BC=89 > > =E8=BF=99=E7=A7=8D=E6=96=B9=E8=A8=80=E5=8C=85=E5=90=AB=E5=AF=B9=E8=AF=AD= =E8=A8=80 :ref:`gnu-extensions ` =E7=9A=84=E8=AE=B8=E5= =A4=9A=E6=89=A9=E5=B1=95=EF=BC=8C=E5=BD=93=E7=84=B6=EF=BC=8C=E5=AE=83=E4=BB= =AC=E8=AE=B8=E5=A4=9A=E9=83=BD=E5=9C=A8=E5=86=85=E6=A0=B8=E4=B8=AD=E4=BD=BF= =E7=94=A8=E3=80=82 > > diff --git a/Documentation/translations/zh_TW/process/programming-languag= e.rst b/Documentation/translations/zh_TW/process/programming-language.rst > index 54e3699eadf8..235de05f7e2c 100644 > --- a/Documentation/translations/zh_TW/process/programming-language.rst > +++ b/Documentation/translations/zh_TW/process/programming-language.rst > @@ -12,8 +12,8 @@ > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =E5=85=A7=E6=A0=B8=E6=98=AF=E7=94=A8C=E8=AA=9E=E8=A8=80 :ref:`c-language= ` =E7=B7=A8=E5=AF=AB=E7=9A=84=E3=80=82=E6=9B=B4=E6=BA=96=E7= =A2=BA=E5=9C=B0=E8=AA=AA=EF=BC=8C=E5=85=A7=E6=A0=B8=E9=80=9A=E5=B8=B8=E6=98= =AF=E7=94=A8 :ref:`gcc ` > -=E5=9C=A8 ``-std=3Dgnu89`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=B7=A8=E8=AD=AF=E7=9A=84=EF=BC=9AISO C90=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > -=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC99=E7=89=B9=E6=80=A7=EF=BC=89 > +=E5=9C=A8 ``-std=3Dgnu11`` :ref:`gcc-c-dialect-options ` =E4=B8=8B=E7=B7=A8=E8=AD=AF=E7=9A=84=EF=BC=9AISO C11=E7=9A=84 GN= U =E6=96=B9=E8=A8=80=EF=BC=88 > +=E5=8C=85=E6=8B=AC=E4=B8=80=E4=BA=9BC17=E7=89=B9=E6=80=A7=EF=BC=89 > > =E9=80=99=E7=A8=AE=E6=96=B9=E8=A8=80=E5=8C=85=E5=90=AB=E5=B0=8D=E8=AA=9E= =E8=A8=80 :ref:`gnu-extensions ` =E7=9A=84=E8=A8=B1=E5= =A4=9A=E6=93=B4=E5=B1=95=EF=BC=8C=E7=95=B6=E7=84=B6=EF=BC=8C=E5=AE=83=E5=80= =91=E8=A8=B1=E5=A4=9A=E9=83=BD=E5=9C=A8=E5=85=A7=E6=A0=B8=E4=B8=AD=E4=BD=BF= =E7=94=A8=E3=80=82 > > diff --git a/Makefile b/Makefile > index 289ce2be8032..66496eaeb9ec 100644 > --- a/Makefile > +++ b/Makefile > @@ -432,7 +432,7 @@ HOSTCXX =3D g++ > endif > > export KBUILD_USERCFLAGS :=3D -Wall -Wmissing-prototypes -Wstrict-protot= ypes \ > - -O2 -fomit-frame-pointer -std=3Dgnu89 > + -O2 -fomit-frame-pointer -std=3Dgnu11 > export KBUILD_USERLDFLAGS :=3D > > KBUILD_HOSTCFLAGS :=3D $(KBUILD_USERCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTC= FLAGS) > @@ -515,7 +515,7 @@ KBUILD_CFLAGS :=3D -Wall -Wundef -Werror=3Dstrict-p= rototypes -Wno-trigraphs \ > -fno-strict-aliasing -fno-common -fshort-wchar -fno-PI= E \ > -Werror=3Dimplicit-function-declaration -Werror=3Dimpl= icit-int \ > -Werror=3Dreturn-type -Wno-format-security \ > - -std=3Dgnu89 > + -std=3Dgnu11 > KBUILD_CPPFLAGS :=3D -D__KERNEL__ > KBUILD_AFLAGS_KERNEL :=3D > KBUILD_CFLAGS_KERNEL :=3D > @@ -782,7 +782,7 @@ KBUILD_CFLAGS +=3D $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMP= LICIT_FALLTHROUGH) > > ifdef CONFIG_CC_IS_CLANG > KBUILD_CPPFLAGS +=3D -Qunused-arguments > -# The kernel builds with '-std=3Dgnu89' so use of GNU extensions is acce= ptable. > +# The kernel builds with '-std=3Dgnu11' so use of GNU extensions is acce= ptable. > KBUILD_CFLAGS +=3D -Wno-gnu > # CLANG uses a _MergedGlobals as optimization, but this breaks modpost, = as the > # source of a reference will be _MergedGlobals and not on of the whiteli= sted names. > diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32= /Makefile > index 6c01b63ff56d..9378ea055bf2 100644 > --- a/arch/arm64/kernel/vdso32/Makefile > +++ b/arch/arm64/kernel/vdso32/Makefile > @@ -68,7 +68,7 @@ VDSO_CFLAGS +=3D -Wall -Wundef -Wstrict-prototypes -Wno= -trigraphs \ > -fno-strict-aliasing -fno-common \ > -Werror-implicit-function-declaration \ > -Wno-format-security \ > - -std=3Dgnu89 > + -std=3Dgnu11 > VDSO_CFLAGS +=3D -O2 > # Some useful compiler-dependent flags from top-level Makefile > VDSO_CFLAGS +=3D $(call cc32-option,-Wdeclaration-after-statement,) > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefil= e > index 1b62b9f65196..1618a6e0af4e 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -17,6 +17,7 @@ subdir-ccflags-y +=3D -Wno-unused-parameter > subdir-ccflags-y +=3D -Wno-type-limits > subdir-ccflags-y +=3D -Wno-missing-field-initializers > subdir-ccflags-y +=3D -Wno-sign-compare > +subdir-ccflags-y +=3D -Wno-shift-negative-value > subdir-ccflags-y +=3D $(call cc-disable-warning, unused-but-set-variable= ) > subdir-ccflags-y +=3D $(call cc-disable-warning, frame-address) > subdir-ccflags-$(CONFIG_DRM_I915_WERROR) +=3D -Werror > diff --git a/drivers/staging/greybus/tools/Makefile b/drivers/staging/gre= ybus/tools/Makefile > index ad0ae8053b79..a3bbd73171f2 100644 > --- a/drivers/staging/greybus/tools/Makefile > +++ b/drivers/staging/greybus/tools/Makefile > @@ -12,7 +12,8 @@ CFLAGS +=3D -std=3Dgnu99 -Wall -Wextra -g \ > -Wredundant-decls \ > -Wcast-align \ > -Wsign-compare \ > - -Wno-missing-field-initializers > + -Wno-missing-field-initializers \ > + -Wno-shift-negative-value > > CC :=3D $(CROSS_COMPILE)gcc > > diff --git a/fs/btrfs/Makefile b/fs/btrfs/Makefile > index 4188ba3fd8c3..99f9995670ea 100644 > --- a/fs/btrfs/Makefile > +++ b/fs/btrfs/Makefile > @@ -17,6 +17,7 @@ subdir-ccflags-y +=3D $(condflags) > subdir-ccflags-y +=3D -Wno-missing-field-initializers > subdir-ccflags-y +=3D -Wno-sign-compare > subdir-ccflags-y +=3D -Wno-type-limits > +subdir-ccflags-y +=3D -Wno-shift-negative-value > > obj-$(CONFIG_BTRFS_FS) :=3D btrfs.o > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index 8be892887d71..650d0b8ceec3 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -36,6 +36,7 @@ KBUILD_CFLAGS +=3D $(call cc-option, -Wstringop-truncat= ion) > KBUILD_CFLAGS +=3D -Wno-missing-field-initializers > KBUILD_CFLAGS +=3D -Wno-sign-compare > KBUILD_CFLAGS +=3D -Wno-type-limits > +KBUILD_CFLAGS +=3D -Wno-shift-negative-value > > KBUILD_CPPFLAGS +=3D -DKBUILD_EXTRA_WARN1 > > -- > 2.29.2 >