aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/linkage.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2006-03-24 06:16:17 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-24 10:33:25 -0500
commitab7efcc97ebc92e03c0474dfd38f9c7b84b84115 (patch)
treeb0eb6b9abce5c47af9c61b606f37ec1c4d247e65 /include/linux/linkage.h
parent09fe316a7b10219be592118626850e1dfdfcc1aa (diff)
[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 @@
28#define ALIGN __ALIGN 28#define ALIGN __ALIGN
29#define ALIGN_STR __ALIGN_STR 29#define ALIGN_STR __ALIGN_STR
30 30
31#ifndef ENTRY
31#define ENTRY(name) \ 32#define ENTRY(name) \
32 .globl name; \ 33 .globl name; \
33 ALIGN; \ 34 ALIGN; \
34 name: 35 name:
36#endif
35 37
36#define KPROBE_ENTRY(name) \ 38#define KPROBE_ENTRY(name) \
37 .section .kprobes.text, "ax"; \ 39 .section .kprobes.text, "ax"; \
38 .globl name; \ 40 ENTRY(name)
39 ALIGN; \
40 name:
41 41
42#ifndef END
43#define END(name) \
44 .size name, .-name
45#endif
46
47#ifndef ENDPROC
48#define ENDPROC(name) \
49 .type name, @function; \
50 END(name)
51#endif
42 52
43#endif 53#endif
44 54