[uClinux-dev] insmod fails with Unknown symbol

Robin Getz rgetz at blackfin.uclinux.org
Wed Oct 3 07:20:37 EDT 2007


On Tue 2 Oct 2007 19:48, Gavin Lambert pondered:
> Only GPL-licensed modules are allowed to call symbols exported as
> GPL-only.
> 
> > How can I fix it?
> 
> Either:
> 
> 1. modify your module to call unrestricted symbols instead.
> 2. make your module GPL-licensed instead of proprietary.
> 3. create a GPL-licensed module that uses the GPL-only symbols and make
>    your proprietary driver talk through that module.

You forgot #4, which is apply this patch. (which is sarcasm, not a 
suggestion).

===================================================================
--- include/linux/module.h      (revision 3692)
+++ include/linux/module.h      (working copy)
@@ -201,15 +201,15 @@
        __EXPORT_SYMBOL(sym, "")

 #define EXPORT_SYMBOL_GPL(sym)                                 \
-       __EXPORT_SYMBOL(sym, "_gpl")
+       __EXPORT_SYMBOL(sym, "")

 #define EXPORT_SYMBOL_GPL_FUTURE(sym)                          \
-       __EXPORT_SYMBOL(sym, "_gpl_future")
+       __EXPORT_SYMBOL(sym, "")

I think that nearly everyone would agree that the patch is 
bad/illegal/immoral/not acceptable - so why is a gasket that does the same 
thing OK?

-Robin


More information about the uClinux-dev mailing list