]> code.ossystems Code Review - openembedded-core.git/commitdiff
linux-yocto/4.15: crypto: aes-generic - fix aes-generic regression on powerpc
authorBruce Ashfield <bruce.ashfield@windriver.com>
Mon, 11 Jun 2018 16:11:23 +0000 (12:11 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 11 Jun 2018 22:38:17 +0000 (23:38 +0100)
Integrating the following upstream commit to fix gcc regression:

    crypto: aes-generic - fix aes-generic regression on powerpc

    commit 6e36719fbe90213fbba9f50093fa2d4d69b0e93c upstream

    My last bugfix added -Os on the command line, which unfortunately
    caused  a build regression on powerpc in some configurations.

    I've done some more analysis of the original problem and found
    slightly different workaround that avoids this regression and also
    results in better performance on gcc-7.0: -fcode-hoisting is an
    optimization step that got added in gcc-7 and that for all gcc-7 versions causes
    worse performance.

    This disables -fcode-hoisting on all compilers that understand the
    option. For gcc-7.1 and 7.2 I found the same performance as my previous
    patch (using -Os), in gcc-7.0 it was even better. On gcc-8 I could see
    no change in performance from this patch. In theory, code hoisting
    should not be able make things better for the AES cipher, so leaving it
    disabled for gcc-8 only serves to simplify the Makefile
    change.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Link: https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg30418.html
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83356
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83651
Fixes: 148b974deea9 ("crypto: aes-generic - build with -Os on gcc-7+")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-kernel/linux/linux-yocto-rt_4.15.bb
meta/recipes-kernel/linux/linux-yocto-tiny_4.15.bb
meta/recipes-kernel/linux/linux-yocto_4.15.bb

index aa8571fecf3368499e438fe037a29fe5879d6053..7cec80e02df5dd72857f9b77c7060df9938dc737 100644 (file)
@@ -11,7 +11,7 @@ python () {
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "51273ff79f4ad930f4a788257f58e1266cb236e3"
+SRCREV_machine ?= "683cfd2540fcb659774458352e8fb121ec764e0e"
 SRCREV_meta ?= "45c256a5ca6f9478bce212fec19e2bc273472631"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
index a809b7c0ab739261532352e9d5d924eebafc14fd..05b076af6cb7004ad0cc15b2acfe8dd2906f0787 100644 (file)
@@ -9,7 +9,7 @@ LINUX_VERSION ?= "4.15.18"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "51273ff79f4ad930f4a788257f58e1266cb236e3"
+SRCREV_machine ?= "683cfd2540fcb659774458352e8fb121ec764e0e"
 SRCREV_meta ?= "45c256a5ca6f9478bce212fec19e2bc273472631"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
index 77b9110cfb88f7654c905bcbee91569989ce629d..6e708550fa4e2b6dff632d1824af7720624c7a9f 100644 (file)
@@ -11,14 +11,14 @@ KBRANCH_qemux86  ?= "v4.15/standard/base"
 KBRANCH_qemux86-64 ?= "v4.15/standard/base"
 KBRANCH_qemumips64 ?= "v4.15/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "da407e5a3514aa6cfc579f52aca8afa279b10669"
-SRCREV_machine_qemuarm64 ?= "51273ff79f4ad930f4a788257f58e1266cb236e3"
-SRCREV_machine_qemumips ?= "8d8f48f09e07bc9ba4db489eab80ae653709fb91"
-SRCREV_machine_qemuppc ?= "51273ff79f4ad930f4a788257f58e1266cb236e3"
-SRCREV_machine_qemux86 ?= "51273ff79f4ad930f4a788257f58e1266cb236e3"
-SRCREV_machine_qemux86-64 ?= "51273ff79f4ad930f4a788257f58e1266cb236e3"
-SRCREV_machine_qemumips64 ?= "9435d73112c64ae058372322d8c7a41ae9e8c000"
-SRCREV_machine ?= "51273ff79f4ad930f4a788257f58e1266cb236e3"
+SRCREV_machine_qemuarm ?= "2e7f1aeb11d0aedec2ba2ce995933221a0bfddeb"
+SRCREV_machine_qemuarm64 ?= "683cfd2540fcb659774458352e8fb121ec764e0e"
+SRCREV_machine_qemumips ?= "43122d3a461b6216ca1a4a568378eea8143cf927"
+SRCREV_machine_qemuppc ?= "683cfd2540fcb659774458352e8fb121ec764e0e"
+SRCREV_machine_qemux86 ?= "683cfd2540fcb659774458352e8fb121ec764e0e"
+SRCREV_machine_qemux86-64 ?= "683cfd2540fcb659774458352e8fb121ec764e0e"
+SRCREV_machine_qemumips64 ?= "4cc6d70306ff8bd235008d18adee0bc676dc2798"
+SRCREV_machine ?= "683cfd2540fcb659774458352e8fb121ec764e0e"
 SRCREV_meta ?= "45c256a5ca6f9478bce212fec19e2bc273472631"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \