summaryrefslogtreecommitdiffstats
path: root/include/linux/linkage.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-01-04 16:03:48 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-01-04 16:03:48 +0000
commit78c388aed2b7184182c08428db1de6c872d815f5 (patch)
tree4b2003b1b4ceb241a17faa995da8dd1004bb8e45 /include/linux/linkage.h
parenteb7a5bf93aaa4be1d7c6181100ab7639e74d67f7 (diff)
Merge with Linux 2.1.131 and more MIPS goodies.
(Did I mention that CVS is buggy ...)
Diffstat (limited to 'include/linux/linkage.h')
-rw-r--r--include/linux/linkage.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index cd5cdb349..190202f05 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -2,9 +2,15 @@
#define _LINUX_LINKAGE_H
#ifdef __cplusplus
-#define asmlinkage extern "C"
+#define CPP_ASMLINKAGE extern "C"
#else
-#define asmlinkage
+#define CPP_ASMLINKAGE
+#endif
+
+#if defined __i386__ && (__GNUC__ > 2 || __GNUC_MINOR__ > 7)
+#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
+#else
+#define asmlinkage CPP_ASMLINKAGE
#endif
#define SYMBOL_NAME_STR(X) #X
@@ -36,7 +42,7 @@
#ifdef __ASSEMBLY__
#define ALIGN __ALIGN
-#define ALIGN_STRING __ALIGN_STRING
+#define ALIGN_STR __ALIGN_STR
#define ENTRY(name) \
.globl SYMBOL_NAME(name); \