summaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/compiler.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2012-03-28 18:30:01 +0100
committerDavid Howells <dhowells@redhat.com>2012-03-28 18:30:01 +0100
commit9f97da78bf018206fb623cd351d454af2f105fe0 (patch)
tree509971bf0d93f56d7ad182bdad3c89886f7ce675 /arch/arm/include/asm/compiler.h
parent15d07dc9c59eae51219c40253bdf920f62bb10f2 (diff)
Disintegrate asm/system.h for ARM
Disintegrate asm/system.h for ARM. Signed-off-by: David Howells <dhowells@redhat.com> cc: Russell King <linux@arm.linux.org.uk> cc: linux-arm-kernel@lists.infradead.org
Diffstat (limited to 'arch/arm/include/asm/compiler.h')
-rw-r--r--arch/arm/include/asm/compiler.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/include/asm/compiler.h b/arch/arm/include/asm/compiler.h
new file mode 100644
index 00000000000..8155db2f7fa
--- /dev/null
+++ b/arch/arm/include/asm/compiler.h
@@ -0,0 +1,15 @@
+#ifndef __ASM_ARM_COMPILER_H
+#define __ASM_ARM_COMPILER_H
+
+/*
+ * This is used to ensure the compiler did actually allocate the register we
+ * asked it for some inline assembly sequences. Apparently we can't trust
+ * the compiler from one version to another so a bit of paranoia won't hurt.
+ * This string is meant to be concatenated with the inline asm string and
+ * will cause compilation to stop on mismatch.
+ * (for details, see gcc PR 15089)
+ */
+#define __asmeq(x, y) ".ifnc " x "," y " ; .err ; .endif\n\t"
+
+
+#endif /* __ASM_ARM_COMPILER_H */