Messages in this thread | | | From | "Adam J. Richter" <> | Date | Thu, 16 Aug 2001 11:21:45 -0700 | Subject | linux-2.4.9: atomic_dec_and_lock sometimes used while not defined |
| |
If I try to build a kernel that can do SMP and run on a 386, the linux-2.4.9 NFS client gets compiled with an undefined reference to atomic_dec_and_lock(). I imagine that the correct fix is to change the ifdefs that bracket the following line in include/linux/spinlock.h:
#define atomic_dec_and_lock(atomic,lock) atomic_dec_and_test(atomic)
However, I'm really not clear enough on the semantics of atomic_dec_and_lock vs. atomic_dec_and_test to know whether this is safe.
Also, it looks like arch/sparc64/sparc64_ksyms.c references atomic_dec_and_test without it every being defined on any architecture other than x86, so I am suspicious of a partially applied patch here.
If nobody has a better idea, I'm going to move the #define statement that I mentioned above out of its current ifdef logic and just bracket it like so:
#ifndef CONFIG_HAVE_DEC_LOCK #define atomic_dec_and_lock(atomic,lock) atomic_dec_and_test(atomic) #endif
Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104 adam@yggdrasil.com \ / San Jose, California 95129-1034 +1 408 261-6630 | g g d r a s i l United States of America fax +1 408 261-6631 "Free Software For The Rest Of Us." - 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/
| |