Gentoo Archives: gentoo-dev

From: Mike <mpagano@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] [PATCH 1/1] kernel-2.eclass: Update cpu optimization support
Date: Sat, 16 Feb 2019 19:40:44
Message-Id: f01b0b78-b7e2-d97e-7cf2-6de2c92415d2@gentoo.org
This patch clean's up the logic for applying or dropping
the cpu optimization patch.  This patch will also support
the applying of the cpu optimization patch that supports 
gcc v8. That patch will eventually be in genpatches and 
also applied via the 'experimental' use flag sometime after 
this patch is comitted.

Signed-off-by: Mike Pagano <mpagano@g.o>
---
 eclass/kernel-2.eclass | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index edbb4a858..423397caf 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -1227,16 +1227,21 @@ unipatch() {
 			UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}"
 			debug-print "genpatches tarball: $tarball"
 
-			# check gcc version < 4.9.X uses patch 5000 and = 4.9.X uses patch 5010
-			if [[ $(gcc-major-version) -eq 4 ]] && [[ $(gcc-minor-version) -ne 9 ]]; then
-				# drop 5000_enable-additional-cpu-optimizations-for-gcc-4.9.patch
-				if [[ $UNIPATCH_DROP != *"5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"* ]]; then
-					UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
+	        local GCC_MAJOR_VER=$(gcc-major-version)
+        	local GCC_MINOR_VER=$(gcc-minor-version)
+
+			# support old kernels for a period. For now, remove as all gcc versions required are masked
+			UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch"
+
+			# optimization patch for gcc < 8.X and kernel > 4.13 
+			if [[ ${GCC_MAJOR_VER} -lt 8 ]] && [[ ${GCC_MAJOR_VER} -gt 4 ]]; then
+				if kernel_is ge 4 13 ; then
+					UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch"
 				fi
-			else
-				if [[ $UNIPATCH_DROP != *"5000_enable-additional-cpu-optimizations-for-gcc.patch"* ]]; then
-					#drop 5000_enable-additional-cpu-optimizations-for-gcc.patch
-					UNIPATCH_DROP+=" 5000_enable-additional-cpu-optimizations-for-gcc.patch"
+			# optimization patch for gcc >= 8 and kernel >= 3.15
+			elif [[ "${GCC_MAJOR_VER}" -ge 8 ]]; then
+				if kernel_is ge 3 15; then
+					UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
 				fi
 			fi
 		fi
-- 
2.20.1

Attachments

File name MIME type
signature.asc application/pgp-signature