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
signature.asc
Description: OpenPGP digital signature
