diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2018-06-11 12:11:23 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-07-02 11:41:26 +0100 |
commit | df07b9f7a427e2cd80589d02cff59299a0e75740 (patch) | |
tree | 3eda4fba2b35391778991a9b142ab66a9afd970f | |
parent | cdf84021656ef1e38abfe7c340889c799917c60b (diff) | |
download | poky-df07b9f7a427e2cd80589d02cff59299a0e75740.tar.gz |
linux-yocto/4.15: crypto: aes-generic - fix aes-generic regression on powerpc
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>
(From OE-Core rev: 69e2b2ce2f499058d48a3b35febc757247e9df69)
(From OE-Core rev: 6c6b822a57565564ba7a9bd464322b0ee6bd0764)
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>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-rt_4.15.bb | 2 | ||||
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-tiny_4.15.bb | 2 | ||||
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto_4.15.bb | 16 |
3 files changed, 10 insertions, 10 deletions
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.15.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.15.bb index aa8571fecf..7cec80e02d 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.15.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.15.bb | |||
@@ -11,7 +11,7 @@ python () { | |||
11 | raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") | 11 | raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") |
12 | } | 12 | } |
13 | 13 | ||
14 | SRCREV_machine ?= "51273ff79f4ad930f4a788257f58e1266cb236e3" | 14 | SRCREV_machine ?= "683cfd2540fcb659774458352e8fb121ec764e0e" |
15 | SRCREV_meta ?= "45c256a5ca6f9478bce212fec19e2bc273472631" | 15 | SRCREV_meta ?= "45c256a5ca6f9478bce212fec19e2bc273472631" |
16 | 16 | ||
17 | SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ | 17 | SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ |
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.15.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.15.bb index a809b7c0ab..05b076af6c 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.15.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.15.bb | |||
@@ -9,7 +9,7 @@ LINUX_VERSION ?= "4.15.18" | |||
9 | KMETA = "kernel-meta" | 9 | KMETA = "kernel-meta" |
10 | KCONF_BSP_AUDIT_LEVEL = "2" | 10 | KCONF_BSP_AUDIT_LEVEL = "2" |
11 | 11 | ||
12 | SRCREV_machine ?= "51273ff79f4ad930f4a788257f58e1266cb236e3" | 12 | SRCREV_machine ?= "683cfd2540fcb659774458352e8fb121ec764e0e" |
13 | SRCREV_meta ?= "45c256a5ca6f9478bce212fec19e2bc273472631" | 13 | SRCREV_meta ?= "45c256a5ca6f9478bce212fec19e2bc273472631" |
14 | 14 | ||
15 | PV = "${LINUX_VERSION}+git${SRCPV}" | 15 | PV = "${LINUX_VERSION}+git${SRCPV}" |
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.15.bb b/meta/recipes-kernel/linux/linux-yocto_4.15.bb index 77b9110cfb..6e708550fa 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.15.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.15.bb | |||
@@ -11,14 +11,14 @@ KBRANCH_qemux86 ?= "v4.15/standard/base" | |||
11 | KBRANCH_qemux86-64 ?= "v4.15/standard/base" | 11 | KBRANCH_qemux86-64 ?= "v4.15/standard/base" |
12 | KBRANCH_qemumips64 ?= "v4.15/standard/mti-malta64" | 12 | KBRANCH_qemumips64 ?= "v4.15/standard/mti-malta64" |
13 | 13 | ||
14 | SRCREV_machine_qemuarm ?= "da407e5a3514aa6cfc579f52aca8afa279b10669" | 14 | SRCREV_machine_qemuarm ?= "2e7f1aeb11d0aedec2ba2ce995933221a0bfddeb" |
15 | SRCREV_machine_qemuarm64 ?= "51273ff79f4ad930f4a788257f58e1266cb236e3" | 15 | SRCREV_machine_qemuarm64 ?= "683cfd2540fcb659774458352e8fb121ec764e0e" |
16 | SRCREV_machine_qemumips ?= "8d8f48f09e07bc9ba4db489eab80ae653709fb91" | 16 | SRCREV_machine_qemumips ?= "43122d3a461b6216ca1a4a568378eea8143cf927" |
17 | SRCREV_machine_qemuppc ?= "51273ff79f4ad930f4a788257f58e1266cb236e3" | 17 | SRCREV_machine_qemuppc ?= "683cfd2540fcb659774458352e8fb121ec764e0e" |
18 | SRCREV_machine_qemux86 ?= "51273ff79f4ad930f4a788257f58e1266cb236e3" | 18 | SRCREV_machine_qemux86 ?= "683cfd2540fcb659774458352e8fb121ec764e0e" |
19 | SRCREV_machine_qemux86-64 ?= "51273ff79f4ad930f4a788257f58e1266cb236e3" | 19 | SRCREV_machine_qemux86-64 ?= "683cfd2540fcb659774458352e8fb121ec764e0e" |
20 | SRCREV_machine_qemumips64 ?= "9435d73112c64ae058372322d8c7a41ae9e8c000" | 20 | SRCREV_machine_qemumips64 ?= "4cc6d70306ff8bd235008d18adee0bc676dc2798" |
21 | SRCREV_machine ?= "51273ff79f4ad930f4a788257f58e1266cb236e3" | 21 | SRCREV_machine ?= "683cfd2540fcb659774458352e8fb121ec764e0e" |
22 | SRCREV_meta ?= "45c256a5ca6f9478bce212fec19e2bc273472631" | 22 | SRCREV_meta ?= "45c256a5ca6f9478bce212fec19e2bc273472631" |
23 | 23 | ||
24 | SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ | 24 | SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ |