aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/Kconfig
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2019-05-14 21:40:53 +0200
committerHelge Deller <deller@gmx.de>2019-05-20 10:51:39 +0200
commit200036a8e802dee09103031eeeaea91dd212ec99 (patch)
treeeb31041482e465d1cf084d71123b0afa9aeab452 /arch/parisc/Kconfig
parentparisc: Kconfig: remove ARCH_DISCARD_MEMBLOCK (diff)
downloadlinux-dev-200036a8e802dee09103031eeeaea91dd212ec99.tar.xz
linux-dev-200036a8e802dee09103031eeeaea91dd212ec99.zip
parisc: Allow building 64-bit kernel without -mlong-calls compiler option
A 64-bit kernel built without CONFIG_MLONGCALLS (-mlong-calls compiler option) usually fails to link because of unreachable functions. Try to work around that linking issue by moving the *.init and *.exit text segments closer to the main text segment. With that change those segments now don't get freed at runtime any longer, but since we in most cases run with huge-page enabled, we ignore the lost memory in preference of better performance. This change will not guarantee that every kernel config will now sucessfully build with short calls and without linking issues. Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'arch/parisc/Kconfig')
-rw-r--r--arch/parisc/Kconfig3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index 13b9512527c7..4860efa91d7b 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -194,7 +194,8 @@ config PREFETCH
config MLONGCALLS
bool "Enable the -mlong-calls compiler option for big kernels"
- default y
+ default y if !MODULES || UBSAN || FTRACE
+ default n
depends on PA8X00
help
If you configure the kernel to include many drivers built-in instead