Re: Linux-2.4.11-pre5

Keith Owens (kaos@ocs.com.au)
Mon, 08 Oct 2001 11:11:15 +1000


On Sun, 7 Oct 2001 22:49:09 +0200 (CEST),
Adrian Bunk <bunk@fs.tum.de> wrote:
>I get the error below. Must likely there's a problem when you build a
>kernel without module support (my .config is attached).
>...
>gcc -D__KERNEL__ -I/home/bunk/linux/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=k6 -c -o exec_domain.o exec_domain.c
>exec_domain.c: At top level:
>exec_domain.c:234: parse error before `this_object_must_be_defined_as_export_objs_in_the_Makefile'

My fault, Rules.make does not set EXPORT_SYMTAB for export-objs unless
the kernel is configured for modules. The test for EXPORT_SYMTAB must
come after CONFIG_MODULES. Against 2.4.11-pre5.

Index: 11-pre5.1/include/linux/module.h
--- 11-pre5.1/include/linux/module.h Mon, 08 Oct 2001 10:58:25 +1000 kaos (linux-2.4/c/b/46_module.h 1.1.1.1.2.6 644)
+++ 11-pre5.1(w)/include/linux/module.h Mon, 08 Oct 2001 11:08:09 +1000 kaos (linux-2.4/c/b/46_module.h 1.1.1.1.2.6 644)
@@ -348,19 +348,19 @@ extern struct module *module_list;
#define EXPORT_SYMBOL_NOVERS(var) error config_must_be_included_before_module
#define EXPORT_SYMBOL_GPL(var) error config_must_be_included_before_module

-#elif !defined(EXPORT_SYMTAB)
-
-#define __EXPORT_SYMBOL(sym,str) error this_object_must_be_defined_as_export_objs_in_the_Makefile
-#define EXPORT_SYMBOL(var) error this_object_must_be_defined_as_export_objs_in_the_Makefile
-#define EXPORT_SYMBOL_NOVERS(var) error this_object_must_be_defined_as_export_objs_in_the_Makefile
-#define EXPORT_SYMBOL_GPL(var) error this_object_must_be_defined_as_export_objs_in_the_Makefile
-
#elif !defined(CONFIG_MODULES)

#define __EXPORT_SYMBOL(sym,str)
#define EXPORT_SYMBOL(var)
#define EXPORT_SYMBOL_NOVERS(var)
#define EXPORT_SYMBOL_GPL(var)
+
+#elif !defined(EXPORT_SYMTAB)
+
+#define __EXPORT_SYMBOL(sym,str) error this_object_must_be_defined_as_export_objs_in_the_Makefile
+#define EXPORT_SYMBOL(var) error this_object_must_be_defined_as_export_objs_in_the_Makefile
+#define EXPORT_SYMBOL_NOVERS(var) error this_object_must_be_defined_as_export_objs_in_the_Makefile
+#define EXPORT_SYMBOL_GPL(var) error this_object_must_be_defined_as_export_objs_in_the_Makefile

#else

-
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/