From: tip-bot for Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@redhat.com,
tglx@linutronix.de, hpa@linux.intel.com,
jeremy.fitzhardinge@citrix.com
Subject: [tip:x86/spinlocks] x86, cmpxchg: Use __compiletime_error() to make usage messages a bit nicer
Date: Tue, 30 Aug 2011 05:27:28 GMT [thread overview]
Message-ID: <tip-61e2cd0acc248c14793cefd7e23e209be9e0b70d@git.kernel.org> (raw)
In-Reply-To: <4E5BCC40.3030501@goop.org>
Commit-ID: 61e2cd0acc248c14793cefd7e23e209be9e0b70d
Gitweb: http://git.kernel.org/tip/61e2cd0acc248c14793cefd7e23e209be9e0b70d
Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
AuthorDate: Mon, 29 Aug 2011 14:47:58 -0700
Committer: H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Mon, 29 Aug 2011 17:20:40 -0700
x86, cmpxchg: Use __compiletime_error() to make usage messages a bit nicer
Use __compiletime_error() to produce a compile-time error rather than
link-time, where available.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Link: http://lkml.kernel.org/r/4E5BCC40.3030501@goop.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
arch/x86/include/asm/cmpxchg.h | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/arch/x86/include/asm/cmpxchg.h b/arch/x86/include/asm/cmpxchg.h
index 0d0d9cd..5d3acdf 100644
--- a/arch/x86/include/asm/cmpxchg.h
+++ b/arch/x86/include/asm/cmpxchg.h
@@ -1,12 +1,19 @@
#ifndef ASM_X86_CMPXCHG_H
#define ASM_X86_CMPXCHG_H
+#include <linux/compiler.h>
#include <asm/alternative.h> /* Provides LOCK_PREFIX */
-/* Non-existant functions to indicate usage errors at link time. */
-extern void __xchg_wrong_size(void);
-extern void __cmpxchg_wrong_size(void);
-extern void __xadd_wrong_size(void);
+/*
+ * Non-existant functions to indicate usage errors at link time
+ * (or compile-time if the compiler implements __compiletime_error().
+ */
+extern void __xchg_wrong_size(void)
+ __compiletime_error("Bad argument size for xchg");
+extern void __cmpxchg_wrong_size(void)
+ __compiletime_error("Bad argument size for cmpxchg");
+extern void __xadd_wrong_size(void)
+ __compiletime_error("Bad argument size for xadd");
/*
* Constants for operation sizes. On 32-bit, the 64-bit size it set to
prev parent reply other threads:[~2011-08-30 5:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-29 17:28 [GIT PULL] ticketlock + cmpxchg cleanups Jeremy Fitzhardinge
2011-08-30 5:22 ` [tip:x86/spinlocks] x86, cmpxchg: <linux/alternative.h> has LOCK_PREFIX tip-bot for Jeremy Fitzhardinge
2011-08-30 5:22 ` [tip:x86/spinlocks] x86, cmpxchg: Move 32-bit __cmpxchg_wrong_size to match 64 bit tip-bot for Jeremy Fitzhardinge
2011-08-30 5:23 ` [tip:x86/spinlocks] x86, cmpxchg: Move 64-bit set64_bit() to match 32-bit tip-bot for Jeremy Fitzhardinge
2011-08-30 5:23 ` [tip:x86/spinlocks] x86, cmpxchg: Unify cmpxchg into cmpxchg.h tip-bot for Jeremy Fitzhardinge
2011-08-30 5:24 ` [tip:x86/spinlocks] x86: Add xadd helper macro tip-bot for Jeremy Fitzhardinge
2011-08-30 5:24 ` [tip:x86/spinlocks] x86: Use xadd helper more widely tip-bot for Jeremy Fitzhardinge
2011-08-30 5:25 ` [tip:x86/spinlocks] x86, ticketlock: Clean up types and accessors tip-bot for Jeremy Fitzhardinge
2011-08-30 5:25 ` [tip:x86/spinlocks] x86, ticketlock: Convert spin loop to C tip-bot for Jeremy Fitzhardinge
2011-08-30 5:26 ` [tip:x86/spinlocks] x86, ticketlock: Convert __ticket_spin_lock to use xadd() tip-bot for Jeremy Fitzhardinge
2011-08-30 5:26 ` [tip:x86/spinlocks] x86, ticketlock: Make __ticket_spin_trylock common tip-bot for Jeremy Fitzhardinge
2011-08-30 5:27 ` tip-bot for Jeremy Fitzhardinge [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=tip-61e2cd0acc248c14793cefd7e23e209be9e0b70d@git.kernel.org \
--to=jeremy.fitzhardinge@citrix.com \
--cc=hpa@linux.intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@redhat.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.