public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: mingo@elte.hu, tglx@linutronix.de,
	"eric.dumazet@gmail.com" <eric.dumazet@gmail.com>,
	luca@luca-barbieri.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] ix86: adjust asm constraints in atomic64 wrappers
Date: Wed, 18 Jan 2012 08:45:38 -0800	[thread overview]
Message-ID: <4F16F732.2050907@zytor.com> (raw)
In-Reply-To: <4F16E3AC020000780006D796@nat28.tlf.novell.com>

On 01/18/2012 06:22 AM, Jan Beulich wrote:
>  
> +#ifndef __ATOMIC64_EXPORT
> +/*
> + * Don't declare these as functions, even though they are - due to their
> + * non-standard calling conventions they can't be called by C code anyway.
> + */
> +#define __ATOMIC64_EXPORT(sym) extern const atomic64_t atomic64_##sym[]
> +#endif
> +

This is obviously bogus.  They are still functions even if they are not
callable by C.  In particular, they are NOT in any shape, way, or form
arrays of type const atomic64_t; if you want to assign them to a
"generic memory type" they would be const char, but there is no reason
to declare them as anything other than executable code.  Yes, it would
be wrong to call them, but so would calling any other function that is
inappropriate.

For functions with nonstandard calling conventions it is normal to
declare them as void foo(void);

It may be a good idea to prefix these symbols with __ though.

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


  reply	other threads:[~2012-01-18 16:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-18 14:22 [PATCH 1/2] ix86: adjust asm constraints in atomic64 wrappers Jan Beulich
2012-01-18 16:45 ` H. Peter Anvin [this message]
2012-01-18 16:57   ` Jan Beulich
2012-01-18 17:25     ` H. Peter Anvin

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=4F16F732.2050907@zytor.com \
    --to=hpa@zytor.com \
    --cc=JBeulich@suse.com \
    --cc=eric.dumazet@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luca@luca-barbieri.com \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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