From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 171313FDC; Mon, 28 Feb 2022 12:37:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646051831; x=1677587831; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=7B5xXQQ6ggh1HFTcP+YadDpRzLVifOjGsC04RK4u89s=; b=Rv4B1xk/0mWRnP00txyeX7RWkosEO5ChqLDiVf/v9ZOaahuRGjHRYAiM F2Z6kMfIZdbxJ2BBunNxr+2UhD1fI8mQpm1ZmR3lPAe2u0AWntNO2XPDN uyoUD81ivY0y4TZsP8jSCdGkos6tp1ujaIlIrWKkvyVBRaC+m8bJq4mNx XpiWod4qKRpVquIPmHZFlzjqoAsgWI9dttpW/nJV64MRsWd14vgWWn0Jc IJa181IPvDZMqU6Mw28+Y/9Y94Ruu628xz7d1mnq2x8VBagEHfrR9O8Q+ 0jVTfm5w5OfXwI1I5ywQseUq8IKD0EJLGOaT1tOBZtELX7W0BDkBDb1nA g==; X-IronPort-AV: E=McAfee;i="6200,9189,10271"; a="232843214" X-IronPort-AV: E=Sophos;i="5.90,142,1643702400"; d="scan'208";a="232843214" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2022 04:37:10 -0800 X-IronPort-AV: E=Sophos;i="5.90,142,1643702400"; d="scan'208";a="550218755" Received: from gkapusti-mobl.ccr.corp.intel.com (HELO localhost) ([10.252.51.8]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2022 04:37:04 -0800 From: Jani Nikula To: Arnd Bergmann , linux-kbuild@vger.kernel.org Cc: Arnd Bergmann , Linus Torvalds , Masahiro Yamada , llvm@lists.linux.dev, Jonathan Corbet , Federico Vaga , Alex Shi , Hu Haowen , Michal Marek , Nick Desaulniers , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, 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 Subject: Re: [PATCH] [v2] Kbuild: move to -std=gnu11 In-Reply-To: <20220228103142.3301082-1-arnd@kernel.org> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20220228103142.3301082-1-arnd@kernel.org> Date: Mon, 28 Feb 2022 14:36:52 +0200 Message-ID: <87v8wz5frv.fsf@intel.com> Precedence: bulk X-Mailing-List: linux-staging@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Mon, 28 Feb 2022, 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 standards > 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. Do you mean always enable -Wall and/or -Wextra instead of -Werror? We do use -Werror for our CI and development too, but it's hidden behind a config option that depends on COMPILE_TEST=3Dn to avoid any problems with allmodconfig/allyesconfig. For the future, makes me wonder if we couldn't have a way for drivers to locally enable -Wall/-Wextra in a way that incorporates the exceptions from kbuild instead of having to duplicate them. Anyway, for the i915 changes, Acked-by: Jani Nikula > > 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 > --- > [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 >=20=20 > 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 `. >=20=20 > 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 >=20=20 > 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 `. >=20=20 > 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 >=20=20 > =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 >=20=20 > =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 >=20=20 > 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 >=20=20 > =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 >=20=20 > =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 >=20=20 > diff --git a/Makefile b/Makefile > index 289ce2be8032..66496eaeb9ec 100644 > --- a/Makefile > +++ b/Makefile > @@ -432,7 +432,7 @@ HOSTCXX =3D g++ > endif >=20=20 > 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 >=20=20 > 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-PIE \ > -Werror=3Dimplicit-function-declaration -Werror=3Dimplicit-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) >=20=20 > 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/Makefile > 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 >=20=20 > CC :=3D $(CROSS_COMPILE)gcc >=20=20 > 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 >=20=20 > obj-$(CONFIG_BTRFS_FS) :=3D btrfs.o >=20=20 > 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 >=20=20 > KBUILD_CPPFLAGS +=3D -DKBUILD_EXTRA_WARN1 --=20 Jani Nikula, Intel Open Source Graphics Center 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 B02F6C433F5 for ; Mon, 28 Feb 2022 12:37:12 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C94B110E46E; Mon, 28 Feb 2022 12:37:11 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id B352C10E46A; Mon, 28 Feb 2022 12:37:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646051830; x=1677587830; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=7B5xXQQ6ggh1HFTcP+YadDpRzLVifOjGsC04RK4u89s=; b=A4lQ+1CImVjLXftMmQh/11uPXiQgNtCt2N5R6mgtOPjEijFwjk8KayzH EyeBMWigj+9hoAKbqgnL9rfbrHgWlTwmAonL7OagbAoJFY63T46sIzQp9 ts5os4t6+uDwLz07vuEBbbjgLsIaUNozwqRV7baANCxvMRXzIdrK/0mzW r7OBydBAyMPfeyj+XFSYODzrUe+QC6xk4090ao0cW/SZlMNnyHbdpYXjh 66Z8NmSrIKDj9Eg35u3wNLMLSpZOGjJLrEZC9KnFbKmr84Q5p6brpCO2M WOsPoy62RBXvtGNBjY4eV7kZH2LqRHoZUyChLtYg11CpqsWeGr77HoLNn Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10271"; a="316085531" X-IronPort-AV: E=Sophos;i="5.90,142,1643702400"; d="scan'208";a="316085531" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2022 04:37:10 -0800 X-IronPort-AV: E=Sophos;i="5.90,142,1643702400"; d="scan'208";a="550218755" Received: from gkapusti-mobl.ccr.corp.intel.com (HELO localhost) ([10.252.51.8]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2022 04:37:04 -0800 From: Jani Nikula To: Arnd Bergmann , linux-kbuild@vger.kernel.org Subject: Re: [PATCH] [v2] Kbuild: move to -std=gnu11 In-Reply-To: <20220228103142.3301082-1-arnd@kernel.org> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20220228103142.3301082-1-arnd@kernel.org> Date: Mon, 28 Feb 2022 14:36:52 +0200 Message-ID: <87v8wz5frv.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: Michal Marek , linux-doc@vger.kernel.org, Arnd Bergmann , Jonathan Corbet , linux-staging@lists.linux.dev, Masahiro Yamada , llvm@lists.linux.dev, Nick Desaulniers , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, greybus-dev@lists.linaro.org, linux-arm-kernel@lists.infradead.org, Federico Vaga , Hu Haowen , intel-gfx@lists.freedesktop.org, linux-btrfs@vger.kernel.org, Linus Torvalds , linux-doc-tw-discuss@lists.sourceforge.net, Alex Shi Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Mon, 28 Feb 2022, 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 standards > 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. Do you mean always enable -Wall and/or -Wextra instead of -Werror? We do use -Werror for our CI and development too, but it's hidden behind a config option that depends on COMPILE_TEST=3Dn to avoid any problems with allmodconfig/allyesconfig. For the future, makes me wonder if we couldn't have a way for drivers to locally enable -Wall/-Wextra in a way that incorporates the exceptions from kbuild instead of having to duplicate them. Anyway, for the i915 changes, Acked-by: Jani Nikula > > 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 > --- > [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 >=20=20 > 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 `. >=20=20 > 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 >=20=20 > 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 `. >=20=20 > 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 >=20=20 > =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 >=20=20 > =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 >=20=20 > 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 >=20=20 > =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 >=20=20 > =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 >=20=20 > diff --git a/Makefile b/Makefile > index 289ce2be8032..66496eaeb9ec 100644 > --- a/Makefile > +++ b/Makefile > @@ -432,7 +432,7 @@ HOSTCXX =3D g++ > endif >=20=20 > 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 >=20=20 > 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-PIE \ > -Werror=3Dimplicit-function-declaration -Werror=3Dimplicit-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) >=20=20 > 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/Makefile > 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 >=20=20 > CC :=3D $(CROSS_COMPILE)gcc >=20=20 > 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 >=20=20 > obj-$(CONFIG_BTRFS_FS) :=3D btrfs.o >=20=20 > 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 >=20=20 > KBUILD_CPPFLAGS +=3D -DKBUILD_EXTRA_WARN1 --=20 Jani Nikula, Intel Open Source Graphics Center 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 48C9EC43219 for ; Mon, 28 Feb 2022 12:37:14 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 02A1F10E471; Mon, 28 Feb 2022 12:37:13 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id B352C10E46A; Mon, 28 Feb 2022 12:37:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646051830; x=1677587830; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=7B5xXQQ6ggh1HFTcP+YadDpRzLVifOjGsC04RK4u89s=; b=A4lQ+1CImVjLXftMmQh/11uPXiQgNtCt2N5R6mgtOPjEijFwjk8KayzH EyeBMWigj+9hoAKbqgnL9rfbrHgWlTwmAonL7OagbAoJFY63T46sIzQp9 ts5os4t6+uDwLz07vuEBbbjgLsIaUNozwqRV7baANCxvMRXzIdrK/0mzW r7OBydBAyMPfeyj+XFSYODzrUe+QC6xk4090ao0cW/SZlMNnyHbdpYXjh 66Z8NmSrIKDj9Eg35u3wNLMLSpZOGjJLrEZC9KnFbKmr84Q5p6brpCO2M WOsPoy62RBXvtGNBjY4eV7kZH2LqRHoZUyChLtYg11CpqsWeGr77HoLNn Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10271"; a="316085531" X-IronPort-AV: E=Sophos;i="5.90,142,1643702400"; d="scan'208";a="316085531" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2022 04:37:10 -0800 X-IronPort-AV: E=Sophos;i="5.90,142,1643702400"; d="scan'208";a="550218755" Received: from gkapusti-mobl.ccr.corp.intel.com (HELO localhost) ([10.252.51.8]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2022 04:37:04 -0800 From: Jani Nikula To: Arnd Bergmann , linux-kbuild@vger.kernel.org In-Reply-To: <20220228103142.3301082-1-arnd@kernel.org> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20220228103142.3301082-1-arnd@kernel.org> Date: Mon, 28 Feb 2022 14:36:52 +0200 Message-ID: <87v8wz5frv.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: Michal Marek , linux-doc@vger.kernel.org, Arnd Bergmann , Jonathan Corbet , linux-staging@lists.linux.dev, Masahiro Yamada , llvm@lists.linux.dev, Nick Desaulniers , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, greybus-dev@lists.linaro.org, linux-arm-kernel@lists.infradead.org, Federico Vaga , Hu Haowen , intel-gfx@lists.freedesktop.org, linux-btrfs@vger.kernel.org, Linus Torvalds , linux-doc-tw-discuss@lists.sourceforge.net, Alex Shi Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" On Mon, 28 Feb 2022, 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 standards > 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. Do you mean always enable -Wall and/or -Wextra instead of -Werror? We do use -Werror for our CI and development too, but it's hidden behind a config option that depends on COMPILE_TEST=3Dn to avoid any problems with allmodconfig/allyesconfig. For the future, makes me wonder if we couldn't have a way for drivers to locally enable -Wall/-Wextra in a way that incorporates the exceptions from kbuild instead of having to duplicate them. Anyway, for the i915 changes, Acked-by: Jani Nikula > > 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 > --- > [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 >=20=20 > 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 `. >=20=20 > 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 >=20=20 > 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 `. >=20=20 > 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 >=20=20 > =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 >=20=20 > =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 >=20=20 > 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 >=20=20 > =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 >=20=20 > =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 >=20=20 > diff --git a/Makefile b/Makefile > index 289ce2be8032..66496eaeb9ec 100644 > --- a/Makefile > +++ b/Makefile > @@ -432,7 +432,7 @@ HOSTCXX =3D g++ > endif >=20=20 > 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 >=20=20 > 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-PIE \ > -Werror=3Dimplicit-function-declaration -Werror=3Dimplicit-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) >=20=20 > 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/Makefile > 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 >=20=20 > CC :=3D $(CROSS_COMPILE)gcc >=20=20 > 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 >=20=20 > obj-$(CONFIG_BTRFS_FS) :=3D btrfs.o >=20=20 > 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 >=20=20 > KBUILD_CPPFLAGS +=3D -DKBUILD_EXTRA_WARN1 --=20 Jani Nikula, Intel Open Source Graphics Center 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 146A9C433F5 for ; Mon, 28 Feb 2022 12:53:32 +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:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=T0aahSdmK7f0u0ZRDY3VMXjgIgzcX3WyDrp97DvWPu4=; b=J4bH+q1YrgDXS+ 5oh0Ecfn+w2qAG7gkzj2sf0Ks4cokgbB7P8BJxo66Os+ic2C12KmCFhwNFNu2abRo8uvU6jIS0jO3 kBYaLs5mZzviMZoUd82FjXMRBp5h5/oeschgeMfcTKjPfVCKPry8xV6l86JNrlkwTVgeFXhab9UYo bWo4FccxKADfkMc9L3idQes89UPchH4U4T142krKkZ0KMhzH4Ule5QXFk2mN5xJRJSUZ6tEzn8w5E 3dvLAoSJSy/y6Mfbe3keyI2KAG7oc3ilw7hx7o2CjzzB16sMx8xCUgcoV1WN0qzELOA+woqHM3MxE Vnx/SP/6C44u3EQ3gGtQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOfVM-00CLiP-Qq; Mon, 28 Feb 2022 12:51:57 +0000 Received: from mga02.intel.com ([134.134.136.20]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOfH6-00CG60-0T for linux-arm-kernel@lists.infradead.org; Mon, 28 Feb 2022 12:37:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646051831; x=1677587831; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=7B5xXQQ6ggh1HFTcP+YadDpRzLVifOjGsC04RK4u89s=; b=Rv4B1xk/0mWRnP00txyeX7RWkosEO5ChqLDiVf/v9ZOaahuRGjHRYAiM F2Z6kMfIZdbxJ2BBunNxr+2UhD1fI8mQpm1ZmR3lPAe2u0AWntNO2XPDN uyoUD81ivY0y4TZsP8jSCdGkos6tp1ujaIlIrWKkvyVBRaC+m8bJq4mNx XpiWod4qKRpVquIPmHZFlzjqoAsgWI9dttpW/nJV64MRsWd14vgWWn0Jc IJa181IPvDZMqU6Mw28+Y/9Y94Ruu628xz7d1mnq2x8VBagEHfrR9O8Q+ 0jVTfm5w5OfXwI1I5ywQseUq8IKD0EJLGOaT1tOBZtELX7W0BDkBDb1nA g==; X-IronPort-AV: E=McAfee;i="6200,9189,10271"; a="240280463" X-IronPort-AV: E=Sophos;i="5.90,142,1643702400"; d="scan'208";a="240280463" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2022 04:37:10 -0800 X-IronPort-AV: E=Sophos;i="5.90,142,1643702400"; d="scan'208";a="550218755" Received: from gkapusti-mobl.ccr.corp.intel.com (HELO localhost) ([10.252.51.8]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2022 04:37:04 -0800 From: Jani Nikula To: Arnd Bergmann , linux-kbuild@vger.kernel.org Cc: Arnd Bergmann , Linus Torvalds , Masahiro Yamada , llvm@lists.linux.dev, Jonathan Corbet , Federico Vaga , Alex Shi , Hu Haowen , Michal Marek , Nick Desaulniers , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, 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 Subject: Re: [PATCH] [v2] Kbuild: move to -std=gnu11 In-Reply-To: <20220228103142.3301082-1-arnd@kernel.org> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20220228103142.3301082-1-arnd@kernel.org> Date: Mon, 28 Feb 2022 14:36:52 +0200 Message-ID: <87v8wz5frv.fsf@intel.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220228_043712_194207_8CA24A39 X-CRM114-Status: GOOD ( 36.00 ) 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 T24gTW9uLCAyOCBGZWIgMjAyMiwgQXJuZCBCZXJnbWFubiA8YXJuZEBrZXJuZWwub3JnPiB3cm90 ZToKPiBGcm9tOiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPgo+Cj4gRHVyaW5nIGEgcGF0 Y2ggZGlzY3Vzc2lvbiwgTGludXMgYnJvdWdodCB1cCB0aGUgb3B0aW9uIG9mIGNoYW5naW5nCj4g dGhlIEMgc3RhbmRhcmQgdmVyc2lvbiBmcm9tIGdudTg5IHRvIGdudTk5LCB3aGljaCBhbGxvd3Mg dXNpbmcgdmFyaWFibGUKPiBkZWNsYXJhdGlvbiBpbnNpZGUgb2YgYSBmb3IoKSBsb29wLiBXaGls ZSB0aGUgQzk5LCBDMTEgYW5kIGxhdGVyIHN0YW5kYXJkcwo+IGludHJvZHVjZSBtYW55IG90aGVy IGZlYXR1cmVzLCBtb3N0IG9mIHRoZXNlIGFyZSBhbHJlYWR5IGF2YWlsYWJsZSBpbgo+IGdudTg5 IGFzIEdOVSBleHRlbnNpb25zIGFzIHdlbGwuCj4KPiBBbiBlYXJsaWVyIGF0dGVtcHQgdG8gZG8g dGhpcyB3aGVuIGdjYy01IHN0YXJ0ZWQgZGVmYXVsdGluZyB0bwo+IC1zdGQ9Z251MTEgZmFpbGVk IGJlY2F1c2UgYXQgdGhlIHRpbWUgdGhhdCBjYXVzZWQgd2FybmluZ3MgYWJvdXQKPiBkZXNpZ25h dGVkIGluaXRpYWxpemVycyB3aXRoIG9sZGVyIGNvbXBpbGVycy4gTm93IHRoYXQgZ2NjLTUuMSBp cyB0aGUKPiBtaW5pbXVtIGNvbXBpbGVyIHZlcnNpb24gdXNlZCBmb3IgYnVpbGRpbmcga2VybmVs cywgdGhhdCBpcyBubyBsb25nZXIgYQo+IGNvbmNlcm4uIFNpbWlsYXJseSwgdGhlIGJlaGF2aW9y IG9mICdpbmxpbmUnIGZ1bmN0aW9ucyBjaGFuZ2VzIGJldHdlZW4KPiBnbnU4OSBhbmQgZ251MTEs IGJ1dCB0aGlzIHdhcyB0YWtlbiBjYXJlIG9mIGJ5IGRlZmluaW5nICdpbmxpbmUnIHRvCj4gaW5j bHVkZSBfX2F0dHJpYnV0ZV9fKChnbnVfaW5saW5lKSkgaW4gb3JkZXIgdG8gYWxsb3cgYnVpbGRp bmcgd2l0aAo+IGNsYW5nIGEgd2hpbGUgYWdvLgo+Cj4gT25lIG1pbm9yIGlzc3VlIHRoYXQgcmVt YWlucyBpcyBhbiBhZGRlZCBnY2Mgd2FybmluZyBmb3Igc2hpZnRzIG9mCj4gbmVnYXRpdmUgaW50 ZWdlcnMgd2hlbiBidWlsZGluZyB3aXRoIC1XZXJyb3IsIHdoaWNoIGhhcHBlbnMgd2l0aCB0aGUK PiAnbWFrZSBXPTEnIG9wdGlvbiwgYXMgd2VsbCBhcyBmb3IgdGhyZWUgZHJpdmVycyBpbiB0aGUg a2VybmVsIHRoYXQgYWx3YXlzCj4gZW5hYmxlIC1XZXJyb3IsIGJ1dCBpdCB3YXMgb25seSBvYnNl cnZlZCB3aXRoIHRoZSBpOTE1IGRyaXZlciBzbyBmYXIuCj4gVG8gYmUgb24gdGhlIHNhZmUgc2lk ZSwgYWRkIC1Xbm8tc2hpZnQtbmVnYXRpdmUtdmFsdWUgdG8gYW55IC1XZXh0cmEKPiBpbiBhIE1h a2VmaWxlLgoKRG8geW91IG1lYW4gYWx3YXlzIGVuYWJsZSAtV2FsbCBhbmQvb3IgLVdleHRyYSBp bnN0ZWFkIG9mIC1XZXJyb3I/CgpXZSBkbyB1c2UgLVdlcnJvciBmb3Igb3VyIENJIGFuZCBkZXZl bG9wbWVudCB0b28sIGJ1dCBpdCdzIGhpZGRlbiBiZWhpbmQKYSBjb25maWcgb3B0aW9uIHRoYXQg ZGVwZW5kcyBvbiBDT01QSUxFX1RFU1Q9biB0byBhdm9pZCBhbnkgcHJvYmxlbXMKd2l0aCBhbGxt b2Rjb25maWcvYWxseWVzY29uZmlnLgoKRm9yIHRoZSBmdXR1cmUsIG1ha2VzIG1lIHdvbmRlciBp ZiB3ZSBjb3VsZG4ndCBoYXZlIGEgd2F5IGZvciBkcml2ZXJzIHRvCmxvY2FsbHkgZW5hYmxlIC1X YWxsLy1XZXh0cmEgaW4gYSB3YXkgdGhhdCBpbmNvcnBvcmF0ZXMgdGhlIGV4Y2VwdGlvbnMKZnJv bSBrYnVpbGQgaW5zdGVhZCBvZiBoYXZpbmcgdG8gZHVwbGljYXRlIHRoZW0uCgpBbnl3YXksIGZv ciB0aGUgaTkxNSBjaGFuZ2VzLAoKQWNrZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBp bnRlbC5jb20+Cgo+Cj4gTmF0aGFuIENoYW5jZWxsb3IgcmVwb3J0ZWQgYW4gYWRkaXRpb25hbCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudAo+IHdhcm5pbmcgdGhhdCBhcHBlYXJzIGluIGEg c3lzdGVtIGhlYWRlciBvbiBhcm0sIHRoaXMgc3RpbGwgbmVlZHMgYQo+IHdvcmthcm91bmQuCj4K PiBUaGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBnbnU5OSwgZ251MTEsIGdudTF4IGFuZCBnbnUxNyBh cmUgZmFpcmx5Cj4gbWluaW1hbCBhbmQgbWFpbmx5IGltcGFjdCB3YXJuaW5ncyBhdCB0aGUgLVdw ZWRhbnRpYyBsZXZlbCB0aGF0IHRoZQo+IGtlcm5lbCBuZXZlciBlbmFibGVzLiBCZXR3ZWVuIHRo ZXNlLCBnbnUxMSBpcyB0aGUgbmV3ZXN0IHZlcnNpb24KPiB0aGF0IGlzIHN1cHBvcnRlZCBieSBh bGwgc3VwcG9ydGVkIGNvbXBpbGVyIHZlcnNpb25zLCB0aG91Z2ggaXQgaXMKPiBvbmx5IHRoZSBk ZWZhdWx0IG9uIGdjYy01LCB3aGlsZSBhbGwgb3RoZXIgc3VwcG9ydGVkIHZlcnNpb25zIG9mCj4g Z2NjIG9yIGNsYW5nIGRlZmF1bHQgdG8gZ251MXgvZ251MTcuCj4KPiBMaW5rOiBodHRwczovL2xv cmUua2VybmVsLm9yZy9sa21sL0NBSGstPXdpeUNIN3hlSGNtaUZKLVlnWFV5MkphajdwbmtkS3Bj b3Z0OGZZYlZGVzNUQUBtYWlsLmdtYWlsLmNvbS8KPiBMaW5rOiBodHRwczovL2dpdGh1Yi5jb20v Q2xhbmdCdWlsdExpbnV4L2xpbnV4L2lzc3Vlcy8xNjAzCj4gU3VnZ2VzdGVkLWJ5OiBMaW51cyBU b3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+Cj4gQ2M6IE1hc2FoaXJvIFlh bWFkYSA8bWFzYWhpcm95QGtlcm5lbC5vcmc+Cj4gQ2M6IGxpbnV4LWtidWlsZEB2Z2VyLmtlcm5l bC5vcmcKPiBDYzogbGx2bUBsaXN0cy5saW51eC5kZXYKPiBTaWduZWQtb2ZmLWJ5OiBBcm5kIEJl cmdtYW5uIDxhcm5kQGFybmRiLmRlPgo+IC0tLQo+IFt2Ml0KPiAgLSBhZGRlZCAtc3RkPWdudTEx IGJhY2ssIHJhdGhlciB0aGFuIGp1c3QgcmVseWluZyBvbiB0aGUgZGVmYXVsdAo+ICAtIG1pbm9y IGNoYW5nZXMgdG8gY2hhbmdlbG9nIHRleHQKPiAtLS0KPiAgRG9jdW1lbnRhdGlvbi9wcm9jZXNz L3Byb2dyYW1taW5nLWxhbmd1YWdlLnJzdCAgICAgICAgICAgICAgfCA0ICsrLS0KPiAgLi4uL3Ry YW5zbGF0aW9ucy9pdF9JVC9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1YWdlLnJzdCAgICAgfCA0 ICsrLS0KPiAgLi4uL3RyYW5zbGF0aW9ucy96aF9DTi9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1 YWdlLnJzdCAgICAgfCA0ICsrLS0KPiAgLi4uL3RyYW5zbGF0aW9ucy96aF9UVy9wcm9jZXNzL3By b2dyYW1taW5nLWxhbmd1YWdlLnJzdCAgICAgfCA0ICsrLS0KPiAgTWFrZWZpbGUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKy0tLQo+ICBh cmNoL2FybTY0L2tlcm5lbC92ZHNvMzIvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAxICsKPiAgZHJpdmVycy9zdGFnaW5nL2dyZXlidXMvdG9vbHMvTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICAgfCAzICsrLQo+ICBmcy9idHJmcy9NYWtlZmlsZSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEgKwo+ICBzY3JpcHRz L01ha2VmaWxlLmV4dHJhd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEg Kwo+ICAxMCBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3Byb2Nlc3MvcHJvZ3JhbW1pbmctbGFuZ3Vh Z2UucnN0IGIvRG9jdW1lbnRhdGlvbi9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1YWdlLnJzdAo+ IGluZGV4IGVjNDc0YTcwYTAyZi4uODk0ZjJhNmViOWRiIDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50 YXRpb24vcHJvY2Vzcy9wcm9ncmFtbWluZy1sYW5ndWFnZS5yc3QKPiArKysgYi9Eb2N1bWVudGF0 aW9uL3Byb2Nlc3MvcHJvZ3JhbW1pbmctbGFuZ3VhZ2UucnN0Cj4gQEAgLTUsOCArNSw4IEBAIFBy b2dyYW1taW5nIExhbmd1YWdlCj4gIAo+ICBUaGUga2VybmVsIGlzIHdyaXR0ZW4gaW4gdGhlIEMg cHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgW2MtbGFuZ3VhZ2VdXy4KPiAgTW9yZSBwcmVjaXNlbHksIHRo ZSBrZXJuZWwgaXMgdHlwaWNhbGx5IGNvbXBpbGVkIHdpdGggYGBnY2NgYCBbZ2NjXV8KPiAtdW5k ZXIgYGAtc3RkPWdudTg5YGAgW2djYy1jLWRpYWxlY3Qtb3B0aW9uc11fOiB0aGUgR05VIGRpYWxl Y3Qgb2YgSVNPIEM5MAo+IC0oaW5jbHVkaW5nIHNvbWUgQzk5IGZlYXR1cmVzKS4gYGBjbGFuZ2Bg IFtjbGFuZ11fIGlzIGFsc28gc3VwcG9ydGVkLCBzZWUKPiArdW5kZXIgYGAtc3RkPWdudTExYGAg W2djYy1jLWRpYWxlY3Qtb3B0aW9uc11fOiB0aGUgR05VIGRpYWxlY3Qgb2YgSVNPIEMxMQo+ICso aW5jbHVkaW5nIHNvbWUgQzE3IGZlYXR1cmVzKS4gYGBjbGFuZ2BgIFtjbGFuZ11fIGlzIGFsc28g c3VwcG9ydGVkLCBzZWUKPiAgZG9jcyBvbiA6cmVmOmBCdWlsZGluZyBMaW51eCB3aXRoIENsYW5n L0xMVk0gPGtidWlsZF9sbHZtPmAuCj4gIAo+ICBUaGlzIGRpYWxlY3QgY29udGFpbnMgbWFueSBl eHRlbnNpb25zIHRvIHRoZSBsYW5ndWFnZSBbZ251LWV4dGVuc2lvbnNdXywKPiBkaWZmIC0tZ2l0 IGEvRG9jdW1lbnRhdGlvbi90cmFuc2xhdGlvbnMvaXRfSVQvcHJvY2Vzcy9wcm9ncmFtbWluZy1s YW5ndWFnZS5yc3QgYi9Eb2N1bWVudGF0aW9uL3RyYW5zbGF0aW9ucy9pdF9JVC9wcm9jZXNzL3By b2dyYW1taW5nLWxhbmd1YWdlLnJzdAo+IGluZGV4IDQxZGIyNTk4Y2UxMS4uYWEyMTA5NzczN2Fl IDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vdHJhbnNsYXRpb25zL2l0X0lUL3Byb2Nlc3Mv cHJvZ3JhbW1pbmctbGFuZ3VhZ2UucnN0Cj4gKysrIGIvRG9jdW1lbnRhdGlvbi90cmFuc2xhdGlv bnMvaXRfSVQvcHJvY2Vzcy9wcm9ncmFtbWluZy1sYW5ndWFnZS5yc3QKPiBAQCAtMTAsOCArMTAs OCBAQCBMaW5ndWFnZ2lvIGRpIHByb2dyYW1tYXppb25lCj4gIAo+ICBJbCBrZXJuZWwgw6ggc2Ny aXR0byBuZWwgbGluZ3VhZ2dpbyBkaSBwcm9ncmFtbWF6aW9uZSBDIFtpdC1jLWxhbmd1YWdlXV8u Cj4gIFBpw7kgcHJlY2lzYW1lbnRlLCBpbCBrZXJuZWwgdmllbmUgY29tcGlsYXRvIGNvbiBgYGdj Y2BgIFtpdC1nY2NdXyB1c2FuZG8KPiAtbCdvcHppb25lIGBgLXN0ZD1nbnU4OWBgIFtpdC1nY2Mt Yy1kaWFsZWN0LW9wdGlvbnNdXzogaWwgZGlhbGV0dG8gR05VCj4gLWRlbGxvIHN0YW5kYXJkIElT TyBDOTAgKGNvbiBsJ2FnZ2l1bnRhIGRpIGFsY3VuZSBmdW56aW9uYWxpdMOgIGRhIEM5OSkuCj4g K2wnb3B6aW9uZSBgYC1zdGQ9Z251MTFgYCBbaXQtZ2NjLWMtZGlhbGVjdC1vcHRpb25zXV86IGls IGRpYWxldHRvIEdOVQo+ICtkZWxsbyBzdGFuZGFyZCBJU08gQzExIChjb24gbCdhZ2dpdW50YSBk aSBhbGN1bmUgZnVuemlvbmFsaXTDoCBkYSBDMTcpLgo+ICBMaW51eCBzdXBwb3J0YSBhbmNoZSBg YGNsYW5nYGAgW2l0LWNsYW5nXV8sIGxlZ2dldGUgbGEgZG9jdW1lbnRhemlvbmUKPiAgOnJlZjpg QnVpbGRpbmcgTGludXggd2l0aCBDbGFuZy9MTFZNIDxrYnVpbGRfbGx2bT5gLgo+ICAKPiBkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90cmFuc2xhdGlvbnMvemhfQ04vcHJvY2Vzcy9wcm9ncmFt bWluZy1sYW5ndWFnZS5yc3QgYi9Eb2N1bWVudGF0aW9uL3RyYW5zbGF0aW9ucy96aF9DTi9wcm9j ZXNzL3Byb2dyYW1taW5nLWxhbmd1YWdlLnJzdAo+IGluZGV4IDJhNDdhMWQyZWMyMC4uNThkMmIz YmQyZDg1IDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vdHJhbnNsYXRpb25zL3poX0NOL3By b2Nlc3MvcHJvZ3JhbW1pbmctbGFuZ3VhZ2UucnN0Cj4gKysrIGIvRG9jdW1lbnRhdGlvbi90cmFu c2xhdGlvbnMvemhfQ04vcHJvY2Vzcy9wcm9ncmFtbWluZy1sYW5ndWFnZS5yc3QKPiBAQCAtOSw4 ICs5LDggQEAKPiAgPT09PT09PT09PT09Cj4gIAo+ICDlhoXmoLjmmK/nlKhD6K+t6KiAIDpyZWY6 YGMtbGFuZ3VhZ2UgPGNuX2MtbGFuZ3VhZ2U+YCDnvJblhpnnmoTjgILmm7Tlh4bnoa7lnLDor7Tv vIzlhoXmoLjpgJrluLjmmK/nlKggOnJlZjpgZ2NjIDxjbl9nY2M+YAo+IC3lnKggYGAtc3RkPWdu dTg5YGAgOnJlZjpgZ2NjLWMtZGlhbGVjdC1vcHRpb25zIDxjbl9nY2MtYy1kaWFsZWN0LW9wdGlv bnM+YCDkuIvnvJbor5HnmoTvvJpJU08gQzkw55qEIEdOVSDmlrnoqIDvvIgKPiAt5YyF5ous5LiA 5LqbQzk554m55oCn77yJCj4gK+WcqCBgYC1zdGQ9Z251MTFgYCA6cmVmOmBnY2MtYy1kaWFsZWN0 LW9wdGlvbnMgPGNuX2djYy1jLWRpYWxlY3Qtb3B0aW9ucz5gIOS4i+e8luivkeeahO+8mklTTyBD MTHnmoQgR05VIOaWueiogO+8iAo+ICvljIXmi6zkuIDkuptDMTfnibnmgKfvvIkKPiAgCj4gIOi/ meenjeaWueiogOWMheWQq+WvueivreiogCA6cmVmOmBnbnUtZXh0ZW5zaW9ucyA8Y25fZ251LWV4 dGVuc2lvbnM+YCDnmoTorrjlpJrmianlsZXvvIzlvZPnhLbvvIzlroPku6zorrjlpJrpg73lnKjl hoXmoLjkuK3kvb/nlKjjgIIKPiAgCj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdHJhbnNs YXRpb25zL3poX1RXL3Byb2Nlc3MvcHJvZ3JhbW1pbmctbGFuZ3VhZ2UucnN0IGIvRG9jdW1lbnRh dGlvbi90cmFuc2xhdGlvbnMvemhfVFcvcHJvY2Vzcy9wcm9ncmFtbWluZy1sYW5ndWFnZS5yc3QK PiBpbmRleCA1NGUzNjk5ZWFkZjguLjIzNWRlMDVmN2UyYyAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVu dGF0aW9uL3RyYW5zbGF0aW9ucy96aF9UVy9wcm9jZXNzL3Byb2dyYW1taW5nLWxhbmd1YWdlLnJz dAo+ICsrKyBiL0RvY3VtZW50YXRpb24vdHJhbnNsYXRpb25zL3poX1RXL3Byb2Nlc3MvcHJvZ3Jh bW1pbmctbGFuZ3VhZ2UucnN0Cj4gQEAgLTEyLDggKzEyLDggQEAKPiAgPT09PT09PT09PT09Cj4g IAo+ICDlhafmoLjmmK/nlKhD6Kqe6KiAIDpyZWY6YGMtbGFuZ3VhZ2UgPHR3X2MtbGFuZ3VhZ2U+ YCDnt6jlr6vnmoTjgILmm7TmupbnorrlnLDoqqrvvIzlhafmoLjpgJrluLjmmK/nlKggOnJlZjpg Z2NjIDx0d19nY2M+YAo+IC3lnKggYGAtc3RkPWdudTg5YGAgOnJlZjpgZ2NjLWMtZGlhbGVjdC1v cHRpb25zIDx0d19nY2MtYy1kaWFsZWN0LW9wdGlvbnM+YCDkuIvnt6jora/nmoTvvJpJU08gQzkw 55qEIEdOVSDmlrnoqIDvvIgKPiAt5YyF5ous5LiA5LqbQzk554m55oCn77yJCj4gK+WcqCBgYC1z dGQ9Z251MTFgYCA6cmVmOmBnY2MtYy1kaWFsZWN0LW9wdGlvbnMgPHR3X2djYy1jLWRpYWxlY3Qt b3B0aW9ucz5gIOS4i+e3qOitr+eahO+8mklTTyBDMTHnmoQgR05VIOaWueiogO+8iAo+ICvljIXm i6zkuIDkuptDMTfnibnmgKfvvIkKPiAgCj4gIOmAmeeoruaWueiogOWMheWQq+WwjeiqnuiogCA6 cmVmOmBnbnUtZXh0ZW5zaW9ucyA8dHdfZ251LWV4dGVuc2lvbnM+YCDnmoToqLHlpJrmk7TlsZXv vIznlbbnhLbvvIzlroPlgJHoqLHlpJrpg73lnKjlhafmoLjkuK3kvb/nlKjjgIIKPiAgCj4gZGlm ZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKPiBpbmRleCAyODljZTJiZTgwMzIuLjY2NDk2 ZWFlYjllYyAxMDA2NDQKPiAtLS0gYS9NYWtlZmlsZQo+ICsrKyBiL01ha2VmaWxlCj4gQEAgLTQz Miw3ICs0MzIsNyBAQCBIT1NUQ1hYCT0gZysrCj4gIGVuZGlmCj4gIAo+ICBleHBvcnQgS0JVSUxE X1VTRVJDRkxBR1MgOj0gLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90 eXBlcyBcCj4gLQkJCSAgICAgIC1PMiAtZm9taXQtZnJhbWUtcG9pbnRlciAtc3RkPWdudTg5Cj4g KwkJCSAgICAgIC1PMiAtZm9taXQtZnJhbWUtcG9pbnRlciAtc3RkPWdudTExCj4gIGV4cG9ydCBL QlVJTERfVVNFUkxERkxBR1MgOj0KPiAgCj4gIEtCVUlMRF9IT1NUQ0ZMQUdTICAgOj0gJChLQlVJ TERfVVNFUkNGTEFHUykgJChIT1NUX0xGU19DRkxBR1MpICQoSE9TVENGTEFHUykKPiBAQCAtNTE1 LDcgKzUxNSw3IEBAIEtCVUlMRF9DRkxBR1MgICA6PSAtV2FsbCAtV3VuZGVmIC1XZXJyb3I9c3Ry aWN0LXByb3RvdHlwZXMgLVduby10cmlncmFwaHMgXAo+ICAJCSAgIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tY29tbW9uIC1mc2hvcnQtd2NoYXIgLWZuby1QSUUgXAo+ICAJCSAgIC1XZXJyb3I9 aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24gLVdlcnJvcj1pbXBsaWNpdC1pbnQgXAo+ICAJ CSAgIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVduby1mb3JtYXQtc2VjdXJpdHkgXAo+IC0JCSAgIC1z dGQ9Z251ODkKPiArCQkgICAtc3RkPWdudTExCj4gIEtCVUlMRF9DUFBGTEFHUyA6PSAtRF9fS0VS TkVMX18KPiAgS0JVSUxEX0FGTEFHU19LRVJORUwgOj0KPiAgS0JVSUxEX0NGTEFHU19LRVJORUwg Oj0KPiBAQCAtNzgyLDcgKzc4Miw3IEBAIEtCVUlMRF9DRkxBR1MgKz0gJChLQlVJTERfQ0ZMQUdT LXkpICQoQ09ORklHX0NDX0lNUExJQ0lUX0ZBTExUSFJPVUdIKQo+ICAKPiAgaWZkZWYgQ09ORklH X0NDX0lTX0NMQU5HCj4gIEtCVUlMRF9DUFBGTEFHUyArPSAtUXVudXNlZC1hcmd1bWVudHMKPiAt IyBUaGUga2VybmVsIGJ1aWxkcyB3aXRoICctc3RkPWdudTg5JyBzbyB1c2Ugb2YgR05VIGV4dGVu c2lvbnMgaXMgYWNjZXB0YWJsZS4KPiArIyBUaGUga2VybmVsIGJ1aWxkcyB3aXRoICctc3RkPWdu dTExJyBzbyB1c2Ugb2YgR05VIGV4dGVuc2lvbnMgaXMgYWNjZXB0YWJsZS4KPiAgS0JVSUxEX0NG TEFHUyArPSAtV25vLWdudQo+ICAjIENMQU5HIHVzZXMgYSBfTWVyZ2VkR2xvYmFscyBhcyBvcHRp bWl6YXRpb24sIGJ1dCB0aGlzIGJyZWFrcyBtb2Rwb3N0LCBhcyB0aGUKPiAgIyBzb3VyY2Ugb2Yg YSByZWZlcmVuY2Ugd2lsbCBiZSBfTWVyZ2VkR2xvYmFscyBhbmQgbm90IG9uIG9mIHRoZSB3aGl0 ZWxpc3RlZCBuYW1lcy4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rZXJuZWwvdmRzbzMyL01h a2VmaWxlIGIvYXJjaC9hcm02NC9rZXJuZWwvdmRzbzMyL01ha2VmaWxlCj4gaW5kZXggNmMwMWI2 M2ZmNTZkLi45Mzc4ZWEwNTViZjIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm02NC9rZXJuZWwvdmRz bzMyL01ha2VmaWxlCj4gKysrIGIvYXJjaC9hcm02NC9rZXJuZWwvdmRzbzMyL01ha2VmaWxlCj4g QEAgLTY4LDcgKzY4LDcgQEAgVkRTT19DRkxBR1MgKz0gLVdhbGwgLVd1bmRlZiAtV3N0cmljdC1w cm90b3R5cGVzIC1Xbm8tdHJpZ3JhcGhzIFwKPiAgICAgICAgICAgICAgICAgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1jb21tb24gXAo+ICAgICAgICAgICAgICAgICAtV2Vycm9yLWltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIFwKPiAgICAgICAgICAgICAgICAgLVduby1mb3JtYXQtc2Vj dXJpdHkgXAo+IC0gICAgICAgICAgICAgICAtc3RkPWdudTg5Cj4gKyAgICAgICAgICAgICAgIC1z dGQ9Z251MTEKPiAgVkRTT19DRkxBR1MgICs9IC1PMgo+ICAjIFNvbWUgdXNlZnVsIGNvbXBpbGVy LWRlcGVuZGVudCBmbGFncyBmcm9tIHRvcC1sZXZlbCBNYWtlZmlsZQo+ICBWRFNPX0NGTEFHUyAr PSAkKGNhbGwgY2MzMi1vcHRpb24sLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQsKQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L01ha2VmaWxlCj4gaW5kZXggMWI2MmI5ZjY1MTk2Li4xNjE4YTZlMGFmNGUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9NYWtlZmlsZQo+IEBAIC0xNyw2ICsxNyw3IEBAIHN1YmRpci1jY2ZsYWdzLXkg Kz0gLVduby11bnVzZWQtcGFyYW1ldGVyCj4gIHN1YmRpci1jY2ZsYWdzLXkgKz0gLVduby10eXBl LWxpbWl0cwo+ICBzdWJkaXItY2NmbGFncy15ICs9IC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFs aXplcnMKPiAgc3ViZGlyLWNjZmxhZ3MteSArPSAtV25vLXNpZ24tY29tcGFyZQo+ICtzdWJkaXIt Y2NmbGFncy15ICs9IC1Xbm8tc2hpZnQtbmVnYXRpdmUtdmFsdWUKPiAgc3ViZGlyLWNjZmxhZ3Mt eSArPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSkK PiAgc3ViZGlyLWNjZmxhZ3MteSArPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLCBmcmFtZS1h ZGRyZXNzKQo+ICBzdWJkaXItY2NmbGFncy0kKENPTkZJR19EUk1fSTkxNV9XRVJST1IpICs9IC1X ZXJyb3IKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2dyZXlidXMvdG9vbHMvTWFrZWZp bGUgYi9kcml2ZXJzL3N0YWdpbmcvZ3JleWJ1cy90b29scy9NYWtlZmlsZQo+IGluZGV4IGFkMGFl ODA1M2I3OS4uYTNiYmQ3MzE3MWYyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9ncmV5 YnVzL3Rvb2xzL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL2dyZXlidXMvdG9vbHMv TWFrZWZpbGUKPiBAQCAtMTIsNyArMTIsOCBAQCBDRkxBR1MJKz0gLXN0ZD1nbnU5OSAtV2FsbCAt V2V4dHJhIC1nIFwKPiAgCSAgICAtV3JlZHVuZGFudC1kZWNscyBcCj4gIAkgICAgLVdjYXN0LWFs aWduIFwKPiAgCSAgICAtV3NpZ24tY29tcGFyZSBcCj4gLQkgICAgLVduby1taXNzaW5nLWZpZWxk LWluaXRpYWxpemVycwo+ICsJICAgIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgXAo+ ICsJICAgIC1Xbm8tc2hpZnQtbmVnYXRpdmUtdmFsdWUKPiAgCj4gIENDCTo9ICQoQ1JPU1NfQ09N UElMRSlnY2MKPiAgCj4gZGlmZiAtLWdpdCBhL2ZzL2J0cmZzL01ha2VmaWxlIGIvZnMvYnRyZnMv TWFrZWZpbGUKPiBpbmRleCA0MTg4YmEzZmQ4YzMuLjk5Zjk5OTU2NzBlYSAxMDA2NDQKPiAtLS0g YS9mcy9idHJmcy9NYWtlZmlsZQo+ICsrKyBiL2ZzL2J0cmZzL01ha2VmaWxlCj4gQEAgLTE3LDYg KzE3LDcgQEAgc3ViZGlyLWNjZmxhZ3MteSArPSAkKGNvbmRmbGFncykKPiAgc3ViZGlyLWNjZmxh Z3MteSArPSAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzCj4gIHN1YmRpci1jY2ZsYWdz LXkgKz0gLVduby1zaWduLWNvbXBhcmUKPiAgc3ViZGlyLWNjZmxhZ3MteSArPSAtV25vLXR5cGUt bGltaXRzCj4gK3N1YmRpci1jY2ZsYWdzLXkgKz0gLVduby1zaGlmdC1uZWdhdGl2ZS12YWx1ZQo+ ICAKPiAgb2JqLSQoQ09ORklHX0JUUkZTX0ZTKSA6PSBidHJmcy5vCj4gIAo+IGRpZmYgLS1naXQg YS9zY3JpcHRzL01ha2VmaWxlLmV4dHJhd2FybiBiL3NjcmlwdHMvTWFrZWZpbGUuZXh0cmF3YXJu Cj4gaW5kZXggOGJlODkyODg3ZDcxLi42NTBkMGI4Y2VlYzMgMTAwNjQ0Cj4gLS0tIGEvc2NyaXB0 cy9NYWtlZmlsZS5leHRyYXdhcm4KPiArKysgYi9zY3JpcHRzL01ha2VmaWxlLmV4dHJhd2Fybgo+ IEBAIC0zNiw2ICszNiw3IEBAIEtCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNjLW9wdGlvbiwgLVdz dHJpbmdvcC10cnVuY2F0aW9uKQo+ICBLQlVJTERfQ0ZMQUdTICs9IC1Xbm8tbWlzc2luZy1maWVs ZC1pbml0aWFsaXplcnMKPiAgS0JVSUxEX0NGTEFHUyArPSAtV25vLXNpZ24tY29tcGFyZQo+ICBL QlVJTERfQ0ZMQUdTICs9IC1Xbm8tdHlwZS1saW1pdHMKPiArS0JVSUxEX0NGTEFHUyArPSAtV25v LXNoaWZ0LW5lZ2F0aXZlLXZhbHVlCj4gIAo+ICBLQlVJTERfQ1BQRkxBR1MgKz0gLURLQlVJTERf RVhUUkFfV0FSTjEKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgR3JhcGhpY3Mg Q2VudGVyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg==