From: Linus Walleij Date: Mon, 23 Mar 2015 10:06:10 +0000 (+0100) Subject: armv8: semihosting: do not inline trap call X-Git-Tag: v2015.04-rc5~24 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e769f68613ee4f84c8e2aea784335df74ceea397;p=oweals%2Fu-boot.git armv8: semihosting: do not inline trap call The semihosting trap call does not like being inlined, probably because that will mean register reordering screwing up the return value in r0, so tag this function "noinline". Signed-off-by: Linus Walleij --- diff --git a/arch/arm/lib/semihosting.c b/arch/arm/lib/semihosting.c index fd6d8573f5..d3f724b726 100644 --- a/arch/arm/lib/semihosting.c +++ b/arch/arm/lib/semihosting.c @@ -26,7 +26,7 @@ /* * Call the handler */ -static long smh_trap(unsigned int sysnum, void *addr) +static noinline long smh_trap(unsigned int sysnum, void *addr) { register long result asm("r0"); #if defined(CONFIG_ARM64)