[OE-core] [oe-core][PATCH] binutils: fix the incorrect assembling for ppc wait instruction

Zhenhua Luo zhenhua.luo at nxp.com
Thu Jun 16 06:04:21 UTC 2016


I will send the patch to binutils upstream. 


Best Regards,

Zhenhua

> -----Original Message-----
> From: Khem Raj [mailto:raj.khem at gmail.com]
> Sent: Thursday, June 16, 2016 5:13 AM
> To: Zhenhua Luo <zhenhua.luo at nxp.com>
> Cc: Patches and discussions about the oe-core layer <openembedded-
> core at lists.openembedded.org>
> Subject: Re: [OE-core] [oe-core][PATCH] binutils: fix the incorrect assembling
> for ppc wait instruction
> 
> 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-assembl
> > ing-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-assem
> > bling-for-ppc-wait-mnemonic.patch
> > b/meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-assem
> > bling-for-ppc-wait-mnemonic.patch
> > new file mode 100644
> > index 0000000..5aa5e31
> > --- /dev/null
> > +++ b/meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-a
> > +++ ssembling-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