summaryrefslogtreecommitdiff
path: root/arch/parisc/Makefile
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2013-01-31 21:44:28 +0000
committerHelge Deller <deller@gmx.de>2013-02-20 22:46:57 +0100
commitec758f98328da3eb933a25dc7a2eed01ef44d849 (patch)
tree9c6e20e3926fc8eabdca18b7b6ce54908dff8c81 /arch/parisc/Makefile
parent1c4c6597b67f9986a09b34deb337a8b14f4adf3a (diff)
downloadlwn-ec758f98328da3eb933a25dc7a2eed01ef44d849.tar.gz
lwn-ec758f98328da3eb933a25dc7a2eed01ef44d849.zip
parisc: add CONFIG_MLONGCALLS option to enable linkage of huge vmlinux executables
When building a 64bit kernel which includes all necessary drivers and filesystems the vmlinux kernel often gets so huge, that the linker won't be able to resolve the branch stubs. This patch overcomes this limit by providing an option to compile the kernel with the -mlong-calls compiler option. Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'arch/parisc/Makefile')
-rw-r--r--arch/parisc/Makefile4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index 87f64d6b5dcb..ed9a14ccd066 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
@@ -64,6 +64,10 @@ ifndef CONFIG_FUNCTION_TRACER
cflags-y += -ffunction-sections
endif
+# Use long jumps instead of long branches (needed if your linker fails to
+# link a too big vmlinux executable)
+cflags-$(CONFIG_MLONGCALLS) += -mlong-calls
+
# select which processor to optimise for
cflags-$(CONFIG_PA7100) += -march=1.1 -mschedule=7100
cflags-$(CONFIG_PA7200) += -march=1.1 -mschedule=7200