From: "Benjamin Herrenschmidt" <benh@kernel.crashing.org>
To: "Ben Stanley" <bds02@uow.edu.au>, <linuxppc-dev@lists.linuxppc.org>
Subject: Re: [PATCH] remove #ifdef __KERNEL__ from atomic.h
Date: Wed, 25 Sep 2002 10:45:12 +0200 [thread overview]
Message-ID: <20020925084512.18469@192.168.4.1> (raw)
In-Reply-To: <3D914574.7030300@uow.edu.au>
>I was trying to compile sumji (formerly xtunes), which requires
>libCommonC++. I found that libCommonC++ would not compile, because it
>needs to use the atomic functions declared in include/asm-ppc/atomic.h .
>However, this file does not declare these functions unless __KERNEL__ is
>defined. I believe that this is incorrect.
>
>I have checked the i386 and s390 versions of atomic.h and they declare
>the atomic functions regardless of the status of the __KERNEL__ macro.
>Therefore I propose that it should be removed from asm-ppc/atomic.h, and
>have attached a patch to effect this.
>
>With this patch applied, I am able to compile libCommonC++.
This is wrong. The definitions in asm-ppc/atomic.h belong to the
kernel only and are not guaranteed to work outside of the kernel
environement. Typically, the 4xx version use some errata workaround
macros that rely on some of the kernel's CONFIG_xxx.
You should implement your own version of the atomic ops in userland
(and you should do that for i386 and s390 as well, it's just wrong
to use the kernel versions like this). Also your implementation
should probably add the sync that is needed for workaround of some
PPC 4xx bugs (see the version in the linuxppc_2_4_devel tree)
Ben.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
prev parent reply other threads:[~2002-09-25 8:45 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-25 5:11 [PATCH] remove #ifdef __KERNEL__ from atomic.h Ben Stanley
2002-09-25 7:12 ` Ethan Benson
2002-09-25 7:44 ` Paul Mackerras
2002-09-26 0:47 ` Ben Stanley
2002-09-25 8:45 ` Benjamin Herrenschmidt [this message]
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=20020925084512.18469@192.168.4.1 \
--to=benh@kernel.crashing.org \
--cc=bds02@uow.edu.au \
--cc=linuxppc-dev@lists.linuxppc.org \
/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;
as well as URLs for NNTP newsgroup(s).