[Bugme-new] [Bug 12458] New: EXPORT_SYMBOL BUG - DEFINED AND EXPORTED IN A FILE1 ( IN DIR1) IS NOT ACCESSIBLE TO A FILE2 (IN DIR2) - DON'T WANT COMPILE TIME DEPENDENCY SOLUTIONS

bugme-daemon at bugzilla.kernel.org bugme-daemon at bugzilla.kernel.org
Fri Jan 16 03:49:23 PST 2009


http://bugzilla.kernel.org/show_bug.cgi?id=12458

           Summary: EXPORT_SYMBOL BUG - DEFINED AND EXPORTED IN A FILE1 ( IN
                    DIR1) IS NOT ACCESSIBLE TO A FILE2 (IN DIR2) - DON'T
                    WANT COMPILE TIME DEPENDENCY SOLUTIONS
           Product: Other
           Version: 2.5
     KernelVersion: 2.6.27
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: high
          Priority: P1
         Component: Modules
        AssignedTo: other_modules at kernel-bugs.osdl.org
        ReportedBy: sucheta at netxen.com


Latest working kernel version: 2.6.27
Earliest failing kernel version: 2.6.26
Distribution: SUSE 11
Hardware Environment: 
Software Environment: Linux
Problem Description:

I am facing EXPORT_SYMBOL problem for kernel "2.6.27" kernel.
If I have defined a symbol (say "a") in file "p/dir1/file1" and exported it and
try to use in "p/dir2/file2" file, symbol "a" isn't accessible to "file2".

Not acceptable solution :-
Don't want to copy Module.symvers file to "p/dir2" as it introduces a
dependency of "file2" on "file1". 

Note:
Run-time dependency is perfectly ok, but don't want compile time dependency.
(as in 2.6.18 kernel, check_version didn't reqd. the symbol to be present in
its version table, it will return 1 (success). find_symbol (in 2.6.18) function
will help find the symbol present in any other external module, and it will be
used. In 2.6.26 onwards, even if find_symbol returns success, but if the
external symbol isn't present in module's version table, the symbol will just
not be visible to the module. ).

Most probably a bug. If not, what is the solution? (Else insmod of external
modules is no longer possible - until and unless all dependent modules are
compiled together.) WEIRD???


Steps to reproduce:
(1) write a simple hello world program in file say p/dir1/file1 and export a
symbol "a" from it.
(2) write just another program in file say p/dir2/file2 and try using symbol
"a" of p/dir1/file1.

It fails and gives kernel panic.


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


More information about the Bugme-new mailing list