Messages in this thread | | | From | Keith Owens <> | Subject | Re: EXPORT_SYMTAB, or Is "this_object_must_be_defined_as_export_objs_in_the_Makefile" annoying to anyone? | Date | Wed, 26 Jun 2002 11:31:14 +1000 |
| |
On Tue, 25 Jun 2002 19:16:58 -0400 (EDT), "Calin A. Culianu" <calin@ajvar.org> wrote: >I am not sure for the reasoning behind it, but it seems that newer 2.4 >kernels require the additional -DEXPORT_SYMTAB be defined for any code one >wants to build as a module (if that module exports symbols). Needless to >say this breaks a lot of (non-kernel-tree) modules that would otherwise >have been compiling without problems. > >What is the rationale behind this?
Any code that exports symbols must be compiled with -DEXPORT_SYMTAB. That flag is used in module symbol version processing to generate the versioned symbols.
It used to be that omitting -DEXPORT_SYMTAB would only cause an error when CONFIG_MODVERSIONS=y. Since most developers did not use modversions, entries were being added to the kernel tree without correct makefile definitions. To ensure correct definitions in the makefile for all circumstances, the code was changed to always require -DEXPORT_SYMTAB for exporting objects, with or without CONFIG_MODVERSIONS.
Bottom line: if you export symbols you must always define -DEXPORT_SYMTAB.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |