eclass: Update cpu optimization support in kernel-2.eclass
authorMike Pagano <mpagano@gentoo.org>
Mon, 18 Feb 2019 23:15:37 +0000 (18:15 -0500)
committerMike Pagano <mpagano@gentoo.org>
Mon, 18 Feb 2019 23:16:32 +0000 (18:16 -0500)
This patch clean's up the logic when applying or dropping
the cpu optimization patch.  This patch will also support
the applying of the gcc v8 patch which will eventually be
in genpatches and applied also via the 'experiemental' use
flag after this support is enabled.

Signed-off-by: Mike Pagano <mpagano@gentoo.org>
eclass/kernel-2.eclass

index edbb4a8584d42a44ba86d211929a35b32fc2000f..dd6ad88746ccc2e09a41c939f12a25b69f67c88d 100644 (file)
@@ -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 ge 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