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

Commit 1d5a436d authored by Stephen Rothwell's avatar Stephen Rothwell Committed by Benjamin Herrenschmidt
Browse files

powerpc: Put the gpr save/restore functions in their own section



This allows the linker to know that calls to them do not need to switch
TOC and stop errors like the following when linking large configurations:

powerpc64-linux-ld: drivers/built-in.o: In function `.gpiochip_is_requested':
(.text+0x4): sibling call optimization to `_savegpr0_29' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `_savegpr0_29' extern

Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 18ad51dd
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -41,12 +41,13 @@
#include <asm/ppc_asm.h>

	.file	"crtsavres.S"
	.section ".text"

#ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE

#ifndef CONFIG_PPC64

	.section ".text"

/* Routines for saving integer registers, called by the compiler.  */
/* Called with r11 pointing to the stack header word of the caller of the */
/* function, just beyond the end of the integer save area.  */
@@ -232,6 +233,8 @@ _GLOBAL(_rest32gpr_31_x)

#else /* CONFIG_PPC64 */

	.section ".text.save.restore","ax",@progbits

.globl	_savegpr0_14
_savegpr0_14:
	std	r14,-144(r1)