Re: 2.6.9-rc1-mm4 sparc reiser4 build broken - undefined atomic_sub_and_test

From: Alex Zarochentsev
Date: Sun Sep 12 2004 - 11:43:02 EST


On Sun, Sep 12, 2004 at 03:12:35AM -0700, Paul Jackson wrote:
> The default config for sparc on 2.6.9-rc1-mm4 doesn't build, using the
> crosstools from http://developer.osdl.org/dev/plm/cross_compile.
>
> Hans,
>
> Andrew counts on us to build for various arch's, especially when
> submitting something non-trivial. The above crosstools work
> pretty good - give them a try.
>
> The final 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
>
> The macro 'atomic_sub_and_test' is defined for more or less every other
> arch, in various include/asm-*/atomic.h files, but not defined for
> sparc.

It is defined in both asm-sparc/atomic.h and asm-sparc64/atomic.h,
but <asm/atomic.h> was not included into fs/reiser4/flush_queue.c

please try this patch:
=============================
--- reiser4-linux-2.6/fs/reiser4/flush_queue.c.orig 2004-09-12 20:28:10.000000000 +0400
+++ reiser4-linux-2.6/fs/reiser4/flush_queue.c 2004-09-12 20:28:26.000000000 +0400
@@ -11,6 +11,7 @@
#include "vfs_ops.h"
#include "writeout.h"

+#include <asm/atomic.h>
#include <linux/bio.h>
#include <linux/mm.h>
#include <linux/pagemap.h>
===============================


> This macro is used in:
>
> fs/reiser4/flush_queue.c:
> if (atomic_sub_and_test(bio->bi_vcnt, &fq->nr_submitted))
>
> If I disable the config items:
>
> CONFIG_REISER4_FS=y
> CONFIG_REISER4_LARGE_KEY=y
>
> then it builds ok (with the bogus #else removed from cachefs.h, as
> already reported on lkml).
>
> --
> 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/

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