[arch-commits] Commit in linux-lts/trunk (3 files)

Levente Polyak anthraxx at gemini.archlinux.org
Thu Sep 2 19:59:47 UTC 2021


    Date: Thursday, September 2, 2021 @ 19:59:47
  Author: anthraxx
Revision: 423374

upgpkg: linux-lts 5.10.61-2: backport gcc11 plugin fixes

Added:
  linux-lts/trunk/0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch
Modified:
  linux-lts/trunk/PKGBUILD
  linux-lts/trunk/config

-----------------------------------------------------------------+
 0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch |   76 ++++++++++
 PKGBUILD                                                        |    8 -
 config                                                          |   26 +--
 3 files changed, 94 insertions(+), 16 deletions(-)

Added: 0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch
===================================================================
--- 0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch	                        (rev 0)
+++ 0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch	2021-09-02 19:59:47 UTC (rev 423374)
@@ -0,0 +1,76 @@
+From 50b29ce228d0622eae2b9854c5e4b9334c540a7a Mon Sep 17 00:00:00 2001
+From: Levente Polyak <levente at leventepolyak.net>
+Date: Thu, 1 Sep 2021 22:19:19 +0200
+Subject: [PATCH] gcc-plugins: modern gcc plugin infrastructure requres c++11
+ std
+
+Bump the used std to c++11 to avoid detection failure. This fixes the
+support check on modern gcc plugin infrastructure that requires a
+minimum standard of c++11 to compile.
+
+This effectively requires GCC 4.8.1.
+
+Signed-off-by: Levente Polyak <levente at leventepolyak.net>
+---
+ scripts/gcc-plugin.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/gcc-plugin.sh b/scripts/gcc-plugin.sh
+index b79fd0bea838..7abc00f60a8b 100755
+--- a/scripts/gcc-plugin.sh
++++ b/scripts/gcc-plugin.sh
+@@ -8,7 +8,7 @@ srctree=$(dirname "$0")
+ gccplugins_dir=$($* -print-file-name=plugin)
+ 
+ # we need a c++ compiler that supports the designated initializer GNU extension
+-$HOSTCC -c -x c++ -std=gnu++98 - -fsyntax-only -I $srctree/gcc-plugins -I $gccplugins_dir/include 2>/dev/null <<EOF
++$HOSTCC -c -x c++ -std=gnu++11 - -fsyntax-only -I $srctree/gcc-plugins -I $gccplugins_dir/include 2>/dev/null <<EOF
+ #include "gcc-common.h"
+ class test {
+ public:
+-- 
+2.33.0
+
+commit 67a5a68013056cbcf0a647e36cb6f4622fb6a470
+Author: Valdis Kletnieks <valdis.kletnieks at vt.edu>
+Date:   Sat Dec 26 13:21:58 2020 -0500
+
+    gcc-plugins: fix gcc 11 indigestion with plugins...
+    
+    Fedora Rawhide has started including gcc 11,and the g++ compiler
+    throws a wobbly when it hits scripts/gcc-plugins:
+    
+      HOSTCXX scripts/gcc-plugins/latent_entropy_plugin.so
+    In file included from /usr/include/c++/11/type_traits:35,
+                     from /usr/lib/gcc/x86_64-redhat-linux/11/plugin/include/system.h:244,
+                     from /usr/lib/gcc/x86_64-redhat-linux/11/plugin/include/gcc-plugin.h:28,
+                     from scripts/gcc-plugins/gcc-common.h:7,
+                     from scripts/gcc-plugins/latent_entropy_plugin.c:78:
+    /usr/include/c++/11/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO
+     C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
+       32 | #error This file requires compiler and library support \
+    
+    In fact, it works just fine with c++11, which has been in gcc since 4.8,
+    and we now require 4.9 as a minimum.
+    
+    Signed-off-by: Valdis Kletnieks <valdis.kletnieks at vt.edu>
+    Acked-by: Josh Poimboeuf <jpoimboe at redhat.com>
+    Signed-off-by: Kees Cook <keescook at chromium.org>
+    Link: https://lore.kernel.org/r/82487.1609006918@turing-police
+
+diff --git a/scripts/gcc-plugins/Makefile b/scripts/gcc-plugins/Makefile
+index d66949bfeba4..b5487cce69e8 100644
+--- a/scripts/gcc-plugins/Makefile
++++ b/scripts/gcc-plugins/Makefile
+@@ -22,9 +22,9 @@ always-y += $(GCC_PLUGIN)
+ GCC_PLUGINS_DIR = $(shell $(CC) -print-file-name=plugin)
+ 
+ plugin_cxxflags	= -Wp,-MMD,$(depfile) $(KBUILD_HOSTCXXFLAGS) -fPIC \
+-		   -I $(GCC_PLUGINS_DIR)/include -I $(obj) -std=gnu++98 \
++		   -I $(GCC_PLUGINS_DIR)/include -I $(obj) -std=gnu++11 \
+ 		   -fno-rtti -fno-exceptions -fasynchronous-unwind-tables \
+-		   -ggdb -Wno-narrowing -Wno-unused-variable -Wno-c++11-compat \
++		   -ggdb -Wno-narrowing -Wno-unused-variable \
+ 		   -Wno-format-diag
+ 
+ plugin_ldflags	= -shared

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-09-02 18:03:47 UTC (rev 423373)
+++ PKGBUILD	2021-09-02 19:59:47 UTC (rev 423374)
@@ -2,7 +2,7 @@
 
 pkgbase=linux-lts
 pkgver=5.10.61
-pkgrel=1
+pkgrel=2
 pkgdesc='LTS Linux'
 url="https://www.kernel.org/"
 arch=(x86_64)
@@ -17,6 +17,7 @@
   https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign}
   config         # the main kernel config file
   0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
+  0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch
 )
 validpgpkeys=(
   'ABAF11C65A2970B130ABE3C479BE3E4300411886'  # Linus Torvalds
@@ -25,8 +26,9 @@
 # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
 sha256sums=('82eae38cc5cd11dd6aaac91c02ff0d006c7bafd6d4cf5c6a791930820a3a91d1'
             'SKIP'
-            'f4c02a78ed4e2150349be53c35b7b6c3cede7a99fbb976d23e801a94ee8abe0e'
-            '96a72e1652314215da7140956c3abcf495cafd00811eda3cf4ce03ec5f791f1e')
+            '024c0987d29ed6fd6f7a0286404a49365d23ae622fc29c52b144e3e17a0bdfd4'
+            '96a72e1652314215da7140956c3abcf495cafd00811eda3cf4ce03ec5f791f1e'
+            'bb935ad2467637966185b88d18a3f9be2f37d3acdc71ed361eae326ca898d6fc')
 
 export KBUILD_BUILD_HOST=archlinux
 export KBUILD_BUILD_USER=$pkgbase

Modified: config
===================================================================
--- config	2021-09-02 18:03:47 UTC (rev 423373)
+++ config	2021-09-02 19:59:47 UTC (rev 423374)
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.10.45 Kernel Configuration
+# Linux/x86 5.10.61 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.1.0"
 CONFIG_CC_IS_GCC=y
@@ -864,6 +864,9 @@
 # end of GCOV-based kernel profiling
 
 CONFIG_HAVE_GCC_PLUGINS=y
+CONFIG_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
+# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
 # end of General architecture-dependent options
 
 CONFIG_RT_MUTEXES=y
@@ -2249,7 +2252,6 @@
 # CONFIG_SSFDC is not set
 # CONFIG_SM_FTL is not set
 # CONFIG_MTD_OOPS is not set
-CONFIG_MTD_PSTORE=m
 # CONFIG_MTD_SWAP is not set
 # CONFIG_MTD_PARTITIONED_MASTER is not set
 
@@ -2338,9 +2340,6 @@
 
 CONFIG_MTD_SPI_NOR=m
 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
-# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set
-CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
-# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set
 CONFIG_SPI_INTEL_SPI=m
 CONFIG_SPI_INTEL_SPI_PCI=m
 CONFIG_SPI_INTEL_SPI_PLATFORM=m
@@ -7833,7 +7832,6 @@
 CONFIG_INTEL_IDXD=m
 CONFIG_INTEL_IOATDMA=m
 CONFIG_PLX_DMA=m
-CONFIG_XILINX_ZYNQMP_DPDMA=m
 CONFIG_QCOM_HIDMA_MGMT=m
 CONFIG_QCOM_HIDMA=m
 CONFIG_DW_DMAC_CORE=y
@@ -8972,7 +8970,6 @@
 CONFIG_BOARD_TPCI200=m
 CONFIG_SERIAL_IPOCTAL=m
 CONFIG_RESET_CONTROLLER=y
-CONFIG_RESET_BRCMSTB_RESCAL=y
 CONFIG_RESET_TI_SYSCON=m
 
 #
@@ -9351,11 +9348,6 @@
 # CONFIG_PSTORE_PMSG is not set
 # CONFIG_PSTORE_FTRACE is not set
 CONFIG_PSTORE_RAM=m
-CONFIG_PSTORE_ZONE=m
-CONFIG_PSTORE_BLK=m
-CONFIG_PSTORE_BLK_BLKDEV=""
-CONFIG_PSTORE_BLK_KMSG_SIZE=64
-CONFIG_PSTORE_BLK_MAX_REASON=2
 # CONFIG_SYSV_FS is not set
 CONFIG_UFS_FS=m
 # CONFIG_UFS_FS_WRITE is not set
@@ -9566,11 +9558,17 @@
 #
 # Kernel hardening options
 #
+CONFIG_GCC_PLUGIN_STRUCTLEAK=y
 
 #
 # Memory initialization
 #
-CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_STACK_NONE is not set
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
+CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
+# CONFIG_GCC_PLUGIN_STACKLEAK is not set
 CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
 # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
 # end of Memory initialization
@@ -9838,6 +9836,8 @@
 CONFIG_SECONDARY_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_BLACKLIST_KEYRING=y
 CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
+CONFIG_SYSTEM_REVOCATION_LIST=y
+CONFIG_SYSTEM_REVOCATION_KEYS=""
 # end of Certificates for signature checking
 
 CONFIG_BINARY_PRINTF=y



More information about the arch-commits mailing list