From: Alex Zarochentsev <zam@namesys.com>
To: Paul Jackson <pj@sgi.com>
Cc: reiser@namesys.com, linux-kernel@vger.kernel.org, akpm@osdl.org
Subject: Re: 2.6.9-rc1-mm4 sparc reiser4 build broken - undefined atomic_sub_and_test
Date: Sun, 12 Sep 2004 23:48:39 +0400 [thread overview]
Message-ID: <20040912194839.GV6294@backtop.namesys.com> (raw)
In-Reply-To: <20040912114948.49095cd2.pj@sgi.com>
On Sun, Sep 12, 2004 at 11:49:48AM -0700, Paul Jackson wrote:
> 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@osdl.org[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.
ah, that was atomic24_sub_and_test(), marked as
/* This is the old 24-bit implementation. ... */
I think adding the wrappers for atomic_sub_and_test() wouldn't be wrong:
===== include/asm-sparc/atomic.h 1.10 vs edited =====
--- 1.10/include/asm-sparc/atomic.h Sat May 15 06:00:05 2004
+++ edited/include/asm-sparc/atomic.h Sun Sep 12 23:37:05 2004
@@ -44,8 +44,9 @@
* other cases.
*/
#define atomic_inc_and_test(v) (atomic_inc_return(v) == 0)
-
#define atomic_dec_and_test(v) (atomic_dec_return(v) == 0)
+#define atomic_add_and_test(i, v) (atomic_add_return(i, v) == 0)
+#define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0)
/* This is the old 24-bit implementation. It's still used internally
* by some sparc-specific code, notably the semaphore implementation.
=============================
Interesting that asm-sparc64/atomic.h defines atomic_add/sub_and_test().
> I won't rest till it's the best ...
> Programmer, Linux Scalability
> Paul Jackson <pj@sgi.com> 1.650.933.1373
--
Alex.
next prev parent reply other threads:[~2004-09-12 19:57 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-12 10:12 2.6.9-rc1-mm4 sparc reiser4 build broken - undefined atomic_sub_and_test Paul Jackson
2004-09-12 10:54 ` William Lee Irwin III
2004-09-12 16:33 ` Alex Zarochentsev
2004-09-12 18:49 ` Paul Jackson
2004-09-12 19:48 ` Alex Zarochentsev [this message]
2004-09-13 12:42 ` Hugh Dickins
2004-09-13 13:25 ` Roman Zippel
2004-09-13 13:51 ` Hugh Dickins
2004-09-13 14:10 ` Roman Zippel
2004-09-13 14:58 ` Hugh Dickins
2004-09-13 16:03 ` Roman Zippel
2004-09-13 16:20 ` Hugh Dickins
2004-09-13 20:03 ` Tonnerre
2004-09-13 20:18 ` Roman Zippel
2004-09-13 20:18 ` 2.6.9-rc1-mm4 sparc reiser4 build broken - undefined atomic_s ub_and_test Hugh Dickins
2004-09-13 17:19 ` 2.6.9-rc1-mm4 sparc reiser4 build broken - undefined atomic_sub_and_test Alex Zarochentsev
2004-09-14 2:06 ` William Lee Irwin III
2004-09-14 9:00 ` Roman Zippel
2004-09-14 9:10 ` William Lee Irwin III
2004-09-14 9:15 ` [sparc32] add atomic_sub_and_test() to make reiser4 code microoptimized for x86 compile on sparc32 William Lee Irwin III
2004-09-14 15:38 ` William Lee Irwin III
-- strict thread matches above, loose matches on Subject: below --
2004-09-13 17:14 2.6.9-rc1-mm4 sparc reiser4 build broken - undefined atomic_sub_and_test Martin Schwidefsky
2004-09-13 17:26 ` Roman Zippel
[not found] <OF6D4E73AE.1DB1AD2F-ON42256F0F.003132FF-42256F0F.00321365@de.ibm.com>
2004-09-14 9:40 ` Roman Zippel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040912194839.GV6294@backtop.namesys.com \
--to=zam@namesys.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pj@sgi.com \
--cc=reiser@namesys.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox