Thread (12 messages) flat view 12 messages, 4 authors, 2016-11-08

Re: compiling master.

From: Naveen N. Rao <hidden>
Date: 2016-11-03 10:34:22

On 2016/11/03 06:09PM, Nicholas Piggin wrote:
On Thu,  3 Nov 2016 12:23:17 +0530
"Naveen N. Rao" [off-list ref] wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help