fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / linux / linkage.h
index 147eb01..6c9873f 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef _LINUX_LINKAGE_H
 #define _LINUX_LINKAGE_H
 
-#include <linux/config.h>
 #include <asm/linkage.h>
 
 #ifdef __cplusplus
 #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:
+  .pushsection .kprobes.text, "ax"; \
+  ENTRY(name)
 
+#define KPROBE_END(name) \
+  END(name);            \
+  .popsection
+
+#ifndef END
+#define END(name) \
+  .size name, .-name
+#endif
+
+#ifndef ENDPROC
+#define ENDPROC(name) \
+  .type name, @function; \
+  END(name)
+#endif
 
 #endif