On Thu, Apr 03, 2003 at 11:25:28AM +0530, Madhavi wrote:
> I am working on a device driver software for linux kernel version 2.4.19.
> My driver is a loadable module and the size of the module executable is
> approximately 1.4MB.
>
> When I tried to load this module on x86, I didn't have any problems while
> installing it. On MIPS (R5432) CPU, this is giving the following problems:
>
> edge_mod.o: Relocation overflow of type 4 for printk
[...]
You must use the same flag to compile modules as the kernel's Makefile.
In particular you were missing -mlong-calls.
> Could anyone tell me what this problem could be? What is relocation
> overflow of type 4? Where can I find the list of all the possible
> relocation overflow types and their descriptions?
Read the source ...
> My module is not compiled using the options -fPIC. Would it make any
> difference if I enable this option?
>
> I have seen this following comment in modutils-2.4.12/obj/obj_mips.c
>
> /* _gp_disp is a magic symbol for PIC which is not supported for
> the kernel and loadable modules. */
>
> So, I was thinking that -fPIC wouldn't help much. Am I right?
-fPIC is the compiler default.
> Sasken Business Disclaimer
[legal bullshit disclaimer burried in /dev/zero]
Ralf
|