Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 103340cc authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Fix up unaligned current_text_addr().



As noted by Adrian:

	Commit 3ab83521 (kexec jump)
	causes the following build error on sh:

	<--  snip  -->

	...
	  CC      kernel/kexec.o
	{standard input}: Assembler messages:
	{standard input}:1518: Error: offset to unaligned destination
	make[2]: *** [kernel/kexec.o] Error 1

	<--  snip  -->

	If I understand the assembler correctly it fails at
	include/asm-sh/kexec.h:59

The issue here is that the mova reference lacks an explicit alignment,
and previous code paths would end up with this on a 16-bit boundary,
so we make the alignment explicit.

Reported-by: default avatarAdrian Bunk <bunk@kernel.org>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 11325f03
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
 * Default implementation of macro that returns current
 * instruction pointer ("program counter").
 */
#define current_text_addr() ({ void *pc; __asm__("mova	1f, %0\n1:":"=z" (pc)); pc; })
#define current_text_addr() ({ void *pc; __asm__("mova	1f, %0\n.align 2\n1:":"=z" (pc)); pc; })

/* Core Processor Version Register */
#define CCN_PVR		0xff000030