Messages in this thread | | | Date | Tue, 08 Aug 2000 11:17:13 -0700 | From | John Silva <> | Subject | Re: Undefined symbols in 2.4.0-test6pre[12] |
| |
This worked much better than my patches. Thanks!
Mikael Pettersson wrote:
> John Silva wrote: > > > I've been getting errors from depmod when booting 2.4.0-test6pre[12] > > with modules. > > ... > > depmod: __io_virt_debug > > depmod: __generic_copy_from_user > > depmod: schedule > > depmod: iounmap > > depmod: __ioremap > > depmod: __const_udelay > > depmod: __generic_copy_to_user > > ... > > CONFIG_MODVERSIONS=y > > Looks like you too have been hit by the modversions.h bug -- make can > fail to build a correct modversions.h during 'make dep', which causes > the symptoms you described. > > Try the patch below (against 2.4.0-test6-pre6, but it should apply to > any recent test kernel) and let us know if it solves your problem. > > /Mikael > > --- linux-2.4.0-test6-pre6/Makefile.~1~ Mon Aug 7 11:40:17 2000 > +++ linux-2.4.0-test6-pre6/Makefile Mon Aug 7 11:40:56 2000 > @@ -428,6 +428,9 @@ > scripts/mkdep init/*.c > .depend > scripts/mkdep `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend > $(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) _FASTDEP_ALL_SUB_DIRS="$(SUBDIRS)" > +ifdef CONFIG_MODVERSIONS > + $(MAKE) update-modverfile > +endif > > ifdef CONFIG_MODVERSIONS > MODVERFILE := $(TOPDIR)/include/linux/modversions.h > @@ -436,7 +439,7 @@ > endif > export MODVERFILE > > -depend dep: dep-files $(MODVERFILE) > +depend dep: dep-files > > # make checkconfig: Prune 'scripts' directory to avoid "false positives". > checkconfig: > --- linux-2.4.0-test6-pre6/Rules.make.~1~ Mon Aug 7 11:40:17 2000 > +++ linux-2.4.0-test6-pre6/Rules.make Mon Aug 7 11:40:56 2000 > @@ -208,8 +208,16 @@ > > $(addprefix $(MODINCL)/,$(SYMTAB_OBJS:.o=.ver)): $(TOPDIR)/include/linux/autoconf.h > > -$(TOPDIR)/include/linux/modversions.h: $(addprefix $(MODINCL)/,$(SYMTAB_OBJS:.o=.ver)) > - @echo updating $(TOPDIR)/include/linux/modversions.h > +# updates .ver files but not modversions.h > +fastdep: $(addprefix $(MODINCL)/,$(SYMTAB_OBJS:.o=.ver)) > + > +# updates .ver files and modversions.h like before (is this needed?) > +dep: fastdep update-modverfile > + > +endif # SYMTAB_OBJS > + > +# update modversions.h, but only if it would change > +update-modverfile: > @(echo "#ifndef _LINUX_MODVERSIONS_H";\ > echo "#define _LINUX_MODVERSIONS_H"; \ > echo "#include <linux/modsetver.h>"; \ > @@ -218,11 +226,14 @@ > if [ -f $$f ]; then echo "#include <linux/modules/$${f}>"; fi; \ > done; \ > echo "#endif"; \ > - ) > $@ > - > -dep fastdep: $(TOPDIR)/include/linux/modversions.h > - > -endif # SYMTAB_OBJS > + ) > $(TOPDIR)/include/linux/modversions.h.tmp > + @if [ -r $(TOPDIR)/include/linux/modversions.h ] && cmp -s $(TOPDIR)/include/linux/modversions.h $(TOPDIR)/include/linux/modversions.h.tmp; then \ > + echo $(TOPDIR)/include/linux/modversions.h was not updated; \ > + rm -f $(TOPDIR)/include/linux/modversions.h.tmp; \ > + else \ > + echo $(TOPDIR)/include/linux/modversions.h was updated; \ > + mv -f $(TOPDIR)/include/linux/modversions.h.tmp $(TOPDIR)/include/linux/modversions.h; \ > + fi > > $(M_OBJS): $(TOPDIR)/include/linux/modversions.h > ifdef MAKING_MODULES
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |