RE: EXPORT_SYMBOL is not working in 2.6.28 where as it is working in 2.6.9-1.667

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> I have written a small sample code for testing the EXPORT_SYMBOL macro
> which exports the symbols to the global kernel symbol table. The
sample
> code is working fine in 2.6.9-1.667 kernel version, however it does
not
> works fine in 2.6.28 kernel version. I am getting the following errors
> in 2.6.28 kernel version only.
> 
> insmod: error inserting 'import_func.ko': -1 Unknown symbol in module
> 
> When I see the /var/log/messages through dmesg command, I got the
> following.
> 
> import_func: no symbol version for myexportfun
> import_func: Unknown symbol myexportfun
> 
> The procedure I used for testing is as follows.
> 
> 1)	Insert the export_func module as
> 	insmod export_func.ko
> 2)	Check whether the symbols are exported or not
>  	cat /proc/kallsyms | grep myexp
> 3)	The function was exported fine and able to see the names in the
> global kernel symbol table.
> 4)	Now, insert the import_func module as
> 	insmod import_func.ko
> 
> Then I got the above errors. But the same code is working fine in
> 2.6.9-1.667 kernel version without any errors. Please some one correct
> me what am I doing wrong.

Dear All,

The problem resolved.

Actually, I have two different directories as export and import. The
export directory has export functions and import directory has import
files. When I build the export_func.ko file, I got the Module.symvers
file with my exported function names. However, I got the Module.symvers
file in the import directory also with ZERO bytes. So, I copied the
Module.symvers from export directory to import directory, then it works
fine without any issues.

I did not understand the Module.symvers issue. However, it contains all
the exported API names along with the paths. Currently, I am looking
into Module.symvers. What it is and Why is it required and how? 

FYI - When I do the same procedure in Linux kernel 2.6.9-1.667 version,
I did not get the Module.symvers file at all.

If any one has any ideas about Module.symvers file, please let me know.

Thanks and Regards,
Srinivas G

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux