Re: 2.6.9-rc1-mm4 sparc reiser4 build broken - undefinedatomic_sub_and_test

From: Paul Jackson
Date: Sun Sep 12 2004 - 13:52:28 EST


Alex writes:
> please try this patch:
> ...
> +++ reiser4-linux-2.6/fs/reiser4/flush_queue.c
> ...
> +#include <asm/atomic.h>

This patch doesn't help.

Both with and without this patch, I observe the following:

1) include/asm/atomic.h is listed in fs/reiser4/.flush_queue.o.cmd
(apparently it is included indirectly, even if not explicitly so)
2) The command:
make fs/reiser4/flush_queue.o
produces the output:
fs/reiser4/flush_queue.c: In function `end_io_handler':
fs/reiser4/flush_queue.c:451: warning: implicit declaration of function `atomic_sub_and_test'
3) include/asm/atomic.h (which is include/asm-sparc/atomic.h via the asm symlink)
does _not_ mention atomic_sub_and_test
4) include/asm-sparc64/atomic.h _does_ mention atomic_sub_and_test (and build ok)
5) the final kernel link fails with:
fs/built-in.o(.text+0x58618): In function `end_io_handler':
: undefined reference to `atomic_sub_and_test'
make[1]: *** [arch/sparc/boot/image] Error 1

I also saw an email from Bill Irwin go by, explaining that he did not
choose to add atomic_sub_and_test to include/asm-sparc/atomic.h, which
email is consistent with my observation that sparc atomic.h does not
define atomic_sub_and_test.

It would seem that your asm-sparc/atomic.h is not the same as mine.

I believe that mine is the one in 2.6.9-rc1-mm4, which is the same as
the latest one in Linus' bk tree, since its most recent change of:

1.10 04/05/14 19:00:05 akpm@xxxxxxxx[torvalds] +10 -0
Implement atomic_inc_and_test() on various architectures

and continuing through now. This atomic.h is 4550 bytes long, with an
md5sum of:

90eb38997e21e579fc1cd1617180d630 include/asm-sparc/atomic.h

And, to repeat myself, it has no mention of atomic_sub_and_test.

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@xxxxxxx> 1.650.933.1373
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/