Problem Loading a Module Compiled with GCC 3.4.2
Ajitpal Singh
meetajitpal@gmail.com
Thu Jan 12 12:31:00 GMT 2006
Hi All,
I have a kernel module which uses a function from a library file( .lib).
This function takes as a paramater a character pointer of string
buffer and simply prints that string.
This library file has been created by me using ld.
a) When I compile the module and link it with the libary file using
GCC Version 3.4.2(Supplied with Fedora Core 3,Kernel Version is 2.6.9)
and insmod it
I get a Kernel OOPS.
b) But if I compile the module with GCC 3.2.2 (Supplied with RedHat 9)
everything works fine and the module loads successfully.
c) If I create an ARCHIVE( .a) file using AR and link it with the
module using GCC Version 3.4.2 the module is again successfully
loaded.
Summarising the scenarios in the following table.
GCCVERSION | LIB/ARCHIVE | LOADS
SUCCESSFULLY
1. 3.4.2(With FC 3) | Created a Library File | NO
(Get a Kernel
OOPs)
and linked with the module.
2. 3.4.2(With FC 3) | Created an Archive file | YES
and linked with the module
3. 3.2.2(With Redhat 9) | Created a Library File | YES
and linked with the module.
FC is Fedora Core
Kindly could you please tell what could be the problem.
Best Regards,
Ajitpal Singh
More information about the Gcc-help
mailing list