summaryrefslogtreecommitdiff
path: root/include/linux/linkage.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2006-03-24 03:16:17 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-24 07:33:25 -0800
commitab7efcc97ebc92e03c0474dfd38f9c7b84b84115 (patch)
treeb0eb6b9abce5c47af9c61b606f37ec1c4d247e65 /include/linux/linkage.h
parent09fe316a7b10219be592118626850e1dfdfcc1aa (diff)
downloadlwn-ab7efcc97ebc92e03c0474dfd38f9c7b84b84115.tar.gz
lwn-ab7efcc97ebc92e03c0474dfd38f9c7b84b84115.zip
[PATCH] abstract type/size specification for assembly
Provide abstraction for generating type and size information of assembly routines and data, while permitting architectures to override these defaults. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: "Russell King" <rmk@arm.linux.org.uk> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: "Andi Kleen" <ak@suse.de> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/linkage.h')
-rw-r--r--include/linux/linkage.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index 147eb01e0d4b..c08c9983e840 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -28,17 +28,27 @@
#define ALIGN __ALIGN
#define ALIGN_STR __ALIGN_STR
+#ifndef ENTRY
#define ENTRY(name) \
.globl name; \
ALIGN; \
name:
+#endif
#define KPROBE_ENTRY(name) \
.section .kprobes.text, "ax"; \
- .globl name; \
- ALIGN; \
- name:
+ ENTRY(name)
+#ifndef END
+#define END(name) \
+ .size name, .-name
+#endif
+
+#ifndef ENDPROC
+#define ENDPROC(name) \
+ .type name, @function; \
+ END(name)
+#endif
#endif