[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    Re: [PATCH] Undefined symbols in 2.4.0-test6pre[12]
From:       John Silva <jps () aerizen ! com>
Date:       2000-08-07 9:28:08
[Download RAW message or body]

This works much better.  There's a race between the genksyms rule and the
modversions rule where the modversions dependencies are processed before
genksyms finishes.

--- linux/Rules.make.orig       Mon Aug  7 01:32:11 2000
+++ linux/Rules.make    Mon Aug  7 02:22:05 2000
@@ -197,14 +197,14 @@
 endif

 $(MODINCL)/%.ver: %.c
-       @if [ ! -r $(MODINCL)/$*.stamp -o $(MODINCL)/$*.stamp -ot $< ]; then \
+       @(if [ ! -r $(MODINCL)/$*.stamp -o $(MODINCL)/$*.stamp -ot $< ]; then \

                echo '$(CC) $(CFLAGS) -E -D__GENKSYMS__ $<'; \
                echo '| $(GENKSYMS) $(genksyms_smp_prefix) -k
$(VERSION).$(PATCHLEVEL).$(SUBLEVEL) > $@.tmp'; \
                $(CC) $(CFLAGS) -E -D__GENKSYMS__ $< \
                | $(GENKSYMS) $(genksyms_smp_prefix) -k
$(VERSION).$(PATCHLEVEL).$(SUBLEVEL) > $@.tmp; \
                if [ -r $@ ] && cmp -s $@ $@.tmp; then echo $@ is unchanged; rm
-f $@.tmp; \
                else echo mv $@.tmp $@; mv -f $@.tmp $@; fi; \
-       fi; touch $(MODINCL)/$*.stamp
+       fi; touch $(MODINCL)/$*.stamp; )

 $(addprefix $(MODINCL)/,$(SYMTAB_OBJS:.o=.ver)):
$(TOPDIR)/include/linux/autoconf.h

--

John Silva wrote:

> This seems to be due to missing #includes in linux/modversions.h.  Problem
> occurs on test6 pre1-6.
>
> It seems that the make process does not always include the .ver files from
> the last directory which produced them.
>
> The following patch seems to correct the problem.  Can anyone explain why
> this works?
>
> --- linux/Rules.make.orig       Mon Aug  7 01:32:11 2000
> +++ linux/Rules.make    Mon Aug  7 01:28:18 2000
> @@ -220,7 +220,7 @@
>           echo "#endif"; \
>         ) > $@
>
> -dep fastdep: $(TOPDIR)/include/linux/modversions.h
> +dep fastdep: dummy $(TOPDIR)/include/linux/modversions.h
>
>  endif # SYMTAB_OBJS
>
> --
>
> John Silva wrote:
>
> > I've been getting errors from depmod when booting 2.4.0-test6pre[12]
> > with modules.
> > 2.4.0-test5 builds and runs fine with the same .config.
> >
> > Is there something specific I can look for to resolve this?  I can see
> > no apparent changes in
> > the test6pre patches to cause this.
> >
> > Errors and config follow.
> >
> > depmod: *** Unresolved symbols in
> > /lib/modules/2.4.0-test6_5/kernel/drivers/block/loop.o
> > depmod:         schedule
> > depmod: *** Unresolved symbols in
> > /lib/modules/2.4.0-test6_5/kernel/drivers/block/cpqarray.o
> > depmod:         __io_virt_debug
> > depmod:         __generic_copy_from_user
> > depmod:         schedule
> > depmod:         iounmap
> > depmod:         __ioremap
> > depmod:         __const_udelay
> > depmod:         __generic_copy_to_user
> > depmod: *** Unresolved symbols in
> > /lib/modules/2.4.0-test6_5/kernel/drivers/char/cpia.o
> > depmod:         schedule
> > depmod:         __const_udelay
> > depmod:         __generic_copy_to_user
> > depmod: *** Unresolved symbols in
> > /lib/modules/2.4.0-test6_5/kernel/drivers/char/i2c-old.o
> > depmod:         __udelay
> > depmod: *** Unresolved symbols in
> > /lib/modules/2.4.0-test6_5/kernel/drivers/char/bw-qcam.o
> > depmod:         schedule
> >
>
> <body removed>
>
> >
> > -
> > 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/
>
> -
> 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/


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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic