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 <[email protected]>
---
 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



Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to