compiling master.
Naveen N. Rao
naveen.n.rao at linux.vnet.ibm.com
Thu Nov 3 21:34:13 AEDT 2016
On 2016/11/03 06:09PM, Nicholas Piggin wrote:
> On Thu, 3 Nov 2016 12:23:17 +0530
> "Naveen N. Rao" <naveen.n.rao at linux.vnet.ibm.com> wrote:
> > diff --git a/arch/powerpc/include/asm/exception-64s.h
> > b/arch/powerpc/include/asm/exception-64s.h
> > index 2e4e7d8..9b7b302 100644
> > --- a/arch/powerpc/include/asm/exception-64s.h
> > +++ b/arch/powerpc/include/asm/exception-64s.h
> > @@ -91,7 +91,7 @@
> > */
> > #define LOAD_HANDLER(reg, label) \
> > ld reg,PACAKBASE(r13); /* get high part of &label */ \
> > - ori reg,reg,(FIXED_SYMBOL_ABS_ADDR(label))@l;
> > + ori reg,reg,((FIXED_SYMBOL_ABS_ADDR(label)) & 0xffff);
> >
> > /* Exception register prefixes */
> > #define EXC_HV H
>
> Thanks for taking a look. Does this patch fix it, or just hide the build
> error? This would presumably hide real bugs too, so it will be good if we
> can make it conditional on older assemblers, or otherwise do a test for
> out of bounds value (you could try asm directives like .if/.error)
It does seem to fix it for me - the built kernel booted fine ;)
My assembly skills are a bit lacking, but is there a specific reason you
think that AND'ing with 0xffff is different from using @l?
Thanks,
Naveen
More information about the Linuxppc-dev
mailing list