Skip to contentSkip to conversation

2.4.11-pre4 EXPORT_SYMBOLS

PATCH In review Keith Owens 2 participants 2 messages Oct 5, 2001

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 2.4.11-pre4 EXPORT_SYMBOLS

Some developers are forgetting to update export-objs in the Makefile, the bug is silent until somebody compiles with modversions. This patch catches missing Makefile changes.

Index: 11-pre4.1/include/linux/module.h

include/linux/module.h Fri, 05 Oct 2001 15:26:43 +1000 kaos (linux-2.4/c/b/46_module.h 1.1.1.1.2.5 644) renamed from include/linux/module.h Thu, 04 Oct 2001 16:23:36 +1000 kaos (linux-2.4/c/b/46_module.h 1.1.1.1.2.5 644) +7 -0
@@ -348,6 +348,13 @@ 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)

gcc -D__KERNEL__ -I/build/kaos/2.4.11-pre4/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -march=i686 -c -o gen_probe.o gen_probe.c
gen_probe.c:48: parse error before this_object_must_be_defined_as_export_objs_in_the_Makefile' gen_probe.c:48: warning: type defaults to int' in declaration of `this_object_must_be_defined_as_export_objs_in_the_Makefile' gen_probe.c:48: warning: data definition has no type or storage class
make[4]: *** [gen_probe.o] Error 1

#1 lore raw
Quoted 3 lines · [email protected] said:

Some developers are forgetting to update export-objs in the Makefile, the bug is silent until somebody compiles with modversions. This patch catches missing Makefile changes.

Thanks. Patch below, which fixes this and also hides a couple of ARM-specific modules so you can't attempt to build them for other targets.

Index: drivers/mtd/chips/Makefile
===================================================================
RCS file: /home/cvs/mtd/drivers/mtd/chips/Makefile,v retrieving revision 1.6
retrieving revision 1.7

mtd/chips/Makefile +2 -2
diff -u -r1.6 -r1.7
@@ -1,11 +1,11 @@
 #
 # linux/drivers/chips/Makefile
 #
-# $Id: Makefile,v 1.6 2001/09/02 18:57:01 dwmw2 Exp $
+# $Id: Makefile,v 1.7 2001/10/05 06:53:51 dwmw2 Exp $
 
 O_TARGET	:= chipslink.o
 
-export-objs	:= chipreg.o
+export-objs	:= chipreg.o gen_probe.o
 
 #                       *** BIG UGLY NOTE ***
 #

Index: drivers/mtd/Config.in
===================================================================
RCS file: /home/cvs/mtd/drivers/mtd/Config.in,v
retrieving revision 1.70
retrieving revision 1.71

mtd/Config.in +3 -1
diff -u -r1.70 -r1.71
@@ -1,5 +1,5 @@
 
-# $Id: Config.in,v 1.70 2001/08/11 16:13:38 dwmw2 Exp $
+# $Id: Config.in,v 1.71 2001/10/03 11:38:38 dwmw2 Exp $
 
 mainmenu_option next_comment
 comment 'Memory Technology Devices (MTD)'
@@ -13,8 +13,10 @@
    fi
    dep_tristate '  MTD partitioning support' CONFIG_MTD_PARTITIONS $CONFIG_MTD
    dep_tristate '  RedBoot partition table parsing' CONFIG_MTD_REDBOOT_PARTS $CONFIG_MTD_PARTITIONS
+if [ "$CONFIG_ARM" = "y" ]; then
    dep_tristate '  Compaq bootldr partition table parsing' CONFIG_MTD_BOOTLDR_PARTS $CONFIG_MTD_PARTITIONS
    dep_tristate '  ARM Firmware Suite partition parsing' CONFIG_MTD_AFS_PARTS $CONFIG_MTD_PARTITIONS
+fi
 
 comment 'User Modules And Translation Layers'
    dep_tristate '  Direct char device access to MTD devices' CONFIG_MTD_CHAR $CONFIG_MTD

--
dwmw2