arch/arm/Kconfig: default ARM_MODULE_PLTS to 'y'
PATCH v3 1/1 arch/arm/Kconfig: default ARM_MODULE_PLTS to 'y'
While testing multi_v7_defconfig with config fragments that makes the kernel size to grow. The kernel fails to load simple modules, as reported by kselftest:
[ 34.107620] test_printf: section 4 reloc 2 sym 'memset': relocation
28 out of range (0xbf046044 -> 0xc109f720)
selftests: printf.sh [FAIL]
The problem that is seen when enabling too much in the kernel without enabling ARM_MODULE_PLTS, is that the top of the kernel gets out of reach from the bottom of the module area.
--- arch/arm/Kconfig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
arch/arm/Kconfig +3 -1
@@ -1701,6 +1701,7 @@ config ARCH_WANT_GENERAL_HUGETLB config ARM_MODULE_PLTS bool "Use PLTs to allow module memory to spill over into vmalloc area" depends on MODULES + default y help Allocate PLTs when loading modules so that jumps and calls whose targets are too far away for their relative offsets to be encoded
@@ -1711,7 +1712,8 @@ config ARM_MODULE_PLTS rounding up to page size, the actual memory footprint is usually the same. - Say y if you are getting out of memory errors while loading modules + Disabling this is usually safe for small single-platform + configurations. If unsure, say y. source "mm/Kconfig"
Signature · 1 line
2.11.0
Quoted 8 lines · Anders Roxell
While testing
multi_v7_defconfigwith config fragments that makes the kernel size to grow. The kernel fails to load simple modules, as reported by kselftest:[ 34.107620] test_printf: section 4 reloc 2 sym 'memset': relocation28 out of range (
0xbf046044->0xc109f720)
selftests:printf.sh[FAIL]
Quoted 6 lines
The problem that is seen when enabling too much in the kernel without enabling
ARM_MODULE_PLTS, is that the top of the kernel gets out of reach from the bottom of the module area.Suggested-by Arnd Bergmann <[email protected]>Signed-off-by Anders Roxell <[email protected]>
Quoted 34 lines
--- arch/arm/Kconfig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)arch/arm/Kconfig +3
-2@@ -1701,6 +1701,7 @@ config ARCH_WANT_GENERAL_HUGETLB config ARM_MODULE_PLTS bool "Use PLTs to allow module memory to spill over into vmalloc area" depends on MODULES + default y help Allocate PLTs when loading modules so that jumps and calls whose targets are too far away for their relative offsets to be encoded@@ -1711,7 +1712,8 @@ config ARM_MODULE_PLTS rounding up to page size, the actual memory footprint is usually the same. - Say y if you are getting out of memory errors while loading modules + Disabling this is usually safe for small single-platform + configurations. If unsure, say y. source "mm/Kconfig" --2.11.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel