[OE-core] [oe-core][PATCH] binutils: fix the incorrect assembling for ppc wait instruction
Khem Raj
raj.khem at gmail.com
Wed Jun 15 21:13:18 UTC 2016
On Sun, Jun 12, 2016 at 2:02 AM, Zhenhua Luo <zhenhua.luo at nxp.com> wrote:
> The wait mnemonic for ppc targets is incorrectly assembled into 0x7c00003c due
> to duplicated address definition with waitasec instruction. The issue causes
> kernel boot calltrace for ppc targets when wait instruction is executed.
>
> Signed-off-by: Zhenhua Luo <zhenhua.luo at nxp.com>
> ---
> meta/recipes-devtools/binutils/binutils-2.26.inc | 1 +
> ...ncorrect-assembling-for-ppc-wait-mnemonic.patch | 36 ++++++++++++++++++++++
> 2 files changed, 37 insertions(+)
> create mode 100644 meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
>
> diff --git a/meta/recipes-devtools/binutils/binutils-2.26.inc b/meta/recipes-devtools/binutils/binutils-2.26.inc
> index 6d535fc..6d77452 100644
> --- a/meta/recipes-devtools/binutils/binutils-2.26.inc
> +++ b/meta/recipes-devtools/binutils/binutils-2.26.inc
> @@ -34,6 +34,7 @@ SRC_URI = "\
> file://0012-Add-support-for-Netlogic-XLP.patch \
> file://0013-Fix-GOT-address-computations-in-initial-PLT-entries-.patch \
> file://0014-Correct-nios2-_gp-address-computation.patch \
> + file://0015-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
> "
> S = "${WORKDIR}/git"
>
> diff --git a/meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch b/meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
> new file mode 100644
> index 0000000..5aa5e31
> --- /dev/null
> +++ b/meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
> @@ -0,0 +1,36 @@
> +From 78decbeb84fb60db4e549ad3e8eb34e030e96d39 Mon Sep 17 00:00:00 2001
> +From: Zhenhua Luo <zhenhua.luo at nxp.com>
> +Date: Sat, 11 Jun 2016 22:08:29 -0500
> +Subject: [PATCH] fix the incorrect assembling for ppc wait mnemonic
> +
> +Signed-off-by: Zhenhua Luo <zhenhua.luo at nxp.com>
> +
> +Upstream-Status: Pending
> +---
> + opcodes/ppc-opc.c | 3 +--
> + 1 file changed, 1 insertion(+), 2 deletions(-)
> +
> +diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
> +index e8c92f6..a9de474 100644
> +--- a/opcodes/ppc-opc.c
> ++++ b/opcodes/ppc-opc.c
> +@@ -4777,7 +4777,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
> + {"ldepx", X(31,29), X_MASK, E500MC|PPCA2|PPCVLE, PPCNONE, {RT, RA0, RB}},
> +
> + {"waitasec", X(31,30), XRTRARB_MASK,POWER8, POWER9, {0}},
> +-{"wait", X(31,30), XWC_MASK, POWER9, PPCNONE, {WC}},
> +
> + {"lwepx", X(31,31), X_MASK, E500MC|PPCA2|PPCVLE, PPCNONE, {RT, RA0, RB}},
> +
> +@@ -4831,7 +4830,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
> +
> + {"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, PPCNONE, {0}},
> + {"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, PPCNONE, {0}},
> +-{"wait", X(31,62), XWC_MASK, E500MC|PPCA2|PPCVLE, PPCNONE, {WC}},
> ++{"wait", X(31,62), XWC_MASK, E500MC|PPCA2|PPCVLE|POWER9, PPCNONE, {WC}},
please submit it to binutils upstream too.
> +
> + {"dcbstep", XRT(31,63,0), XRT_MASK, E500MC|PPCA2|PPCVLE, PPCNONE, {RA0, RB}},
> +
> +--
> +2.5.0
> +
> --
> 2.4.11
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list