ARM: relocation out of range (when loading a module)
Alexander Holler
holler at ahsoftware.de
Tue Jan 11 22:00:18 EST 2011
Hello,
Am 11.01.2011 16:59, schrieb Russell King - ARM Linux:
> On Tue, Jan 11, 2011 at 09:16:38PM +0530, Rabin Vincent wrote:
>> It's possible to hack around this by placing the initramfs at the end of
>> the kernel image rather than at the beginning with the rest of the init
>> data. Something like the below should work, although you should also
>> probably take care of alignment and also have this section freed when
>> the rest of the init data is freed.
>
> You're then running into problems as _sdata.._edata is copied to RAM on
> XIP kernels, and you really don't want to waste time copying the
> initramfs to RAM.
Thanks to all for the provided informations. I'm now seeing some light. ;)
However, looking at the vmlinux.lds.S I think I should better not try to
fix that, I would likely do something wrong because of missing knowledge
about all those sections.
I can offer a patch wich adds a TODO to vmlinux.lds.S, but if someone
else feels the need to fix that, feel free to do so. ;)
Regards,
Alexander
-------------------------------------------------------------------------
From 2ce2934b6a55ac34734781d1a49569d79d0fdcda Mon Sep 17 00:00:00 2001
From: Alexander Holler <holler at ahsoftware.de>
Date: Wed, 12 Jan 2011 02:49:52 +0100
Subject: [PATCH] ARM: Add TODO to move INIT_RAM_FS to another point.
Signed-off-by: Alexander Holler <holler at ahsoftware.de>
---
arch/arm/kernel/vmlinux.lds.S | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
index cead889..5da3479 100644
--- a/arch/arm/kernel/vmlinux.lds.S
+++ b/arch/arm/kernel/vmlinux.lds.S
@@ -62,6 +62,12 @@ SECTIONS
INIT_CALLS
CON_INITCALL
SECURITY_INITCALL
+ /*
+ * TODO: The size of INIT_RAM_FS could easily reach a
+ * point (~16MB) when loading modules will fail because
+ * relocations will be out of range. So this place here
+ * isn't the best one.
+ */
INIT_RAM_FS
#ifndef CONFIG_XIP_KERNEL
--
1.7.3.4
-------------------------------------------------------------------------
More information about the linux-arm-kernel
mailing list