]> err.no Git - linux-2.6/blobdiff - include/asm-x86/linkage.h
fix hppfs Makefile breakage
[linux-2.6] / include / asm-x86 / linkage.h
index d605eeba0f700292f1373d36167c97e79a4ae006..64e444f8e85b2d9fccaf50cc78ceaa1da0654877 100644 (file)
@@ -1,6 +1,9 @@
 #ifndef __ASM_LINKAGE_H
 #define __ASM_LINKAGE_H
 
+#undef notrace
+#define notrace __attribute__((no_instrument_function))
+
 #ifdef CONFIG_X86_64
 #define __ALIGN .p2align 4,,15
 #define __ALIGN_STR ".p2align 4,,15"
  */
 #define asmregparm __attribute__((regparm(3)))
 
+/*
+ * Make sure the compiler doesn't do anything stupid with the
+ * arguments on the stack - they are owned by the *caller*, not
+ * the callee. This just fools gcc into not spilling into them,
+ * and keeps it from doing tailcall recursion and/or using the
+ * stack slots for temporaries, since they are live and "used"
+ * all the way to the end of the function.
+ *
+ * NOTE! On x86-64, all the arguments are in registers, so this
+ * only matters on a 32-bit kernel.
+ */
 #define asmlinkage_protect(n, ret, args...) \
        __asmlinkage_protect##n(ret, ##args)
 #define __asmlinkage_protect_n(ret, args...) \