From mboxrd@z Thu Jan 1 00:00:00 1970 From: dave.martin@linaro.org (Dave Martin) Date: Wed, 12 Jan 2011 10:05:19 -0600 Subject: ARM: relocation out of range (when loading a module) In-Reply-To: <4D2D1942.4050905@ahsoftware.de> References: <4D2B4CE4.9080309@ahsoftware.de> <4D2BFA08.5030104@ahsoftware.de> <20110111155930.GH11039@n2100.arm.linux.org.uk> <4D2D1942.4050905@ahsoftware.de> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, Jan 11, 2011 at 9:00 PM, Alexander Holler wrote: > Hello, [...] > ? ? ? ? ? ? ? ?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 In general, do we expect always to be able to avoid the situation where branches in the kernel may need to cover too large a range ... and is there any strategy for working aroung it? If we have problems branching from the modules area into vmlinux, we could possibly build modules with -fPIC : this would remove the restriction on branch range, though there would also be some performance impact for the modules... Cheers ---Dave