modversions.h race condition

From: Adam J. Richter (adam@yggdrasil.com)
Date: Wed May 10 2000 - 06:28:41 EDT

  • Next message: Boszormenyi Zoltan: "[PATCH] i686 cpu names correction"

            There is a race condition in the generation of
    include/linux/modversions.h which manifests itself about 50% of
    time I rebuild the kernel on an 866MHz Pentium III. The symptom of
    this problem is that a bunch of external symbols in sections of
    the kernel near the end of the build process are unversioned in
    the modules and versioned in the kernel, so many modules fail to load.

            The cause of the problem appears to be the one second granularity
    in timestamps of the stat system call (and most filesystems, including
    ext2), interacting with the make depenency that causes
    include/linux/modversions.h to be regenerated if it is older than
    include/linux/modules/your-module-name.ver. The problem is that
    if multiple directories are processed in the last one second of
    the "make depend", everything after the first directory in that
    one second quantum is left off of modversions.h (because there is
    difference in timestamp values to trigger regeneration of modversions.h).

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



    This archive was generated by hypermail 2b29 : Wed May 10 2000 - 06:43:59 EDT