Define an END() macro for use in i386 and amd64 assembly code.
authorPeter Avalos <pavalos@theshell.com>
Sun, 21 Jun 2009 02:43:11 +0000 (16:43 -1000)
committerPeter Avalos <pavalos@dragonflybsd.org>
Sun, 21 Jun 2009 08:12:06 +0000 (08:12 +0000)
Obtained-from: FreeBSD

sys/cpu/amd64/include/asm.h
sys/cpu/amd64/include/asmacros.h
sys/cpu/i386/include/asm.h
sys/cpu/i386/include/asmacros.h

index 00f10a8..8975d16 100644 (file)
@@ -79,6 +79,8 @@
 #define        ENTRY(x)        _ENTRY(x)
 #endif
 
+#define        END(x)          .size x, . - x
+
 #define RCSID(x)       .text; .asciz x
 
 #endif /* !_CPU_ASM_H_ */
index d012719..7f81c0e 100644 (file)
@@ -59,6 +59,8 @@
 #define NON_GPROF_ENTRY(name)  GEN_ENTRY(name)
 #define NON_GPROF_RET          .byte 0xc3      /* opcode for `ret' */
 
+#define        END(name)               .size name, . - name
+
 #ifdef GPROF
 /*
  * __mcount is like [.]mcount except that doesn't require its caller to set
index 255b73b..e35799d 100644 (file)
@@ -74,6 +74,7 @@
 
 #define _ENTRY(x)      _START_ENTRY; \
                        .globl CNAME(x); .type CNAME(x),@function; CNAME(x):
+#define        END(x)          .size x, . - x
 
 #ifdef PROF
 #define        ALTENTRY(x)     _ENTRY(x); \
index f385c9c..9146cfe 100644 (file)
@@ -84,6 +84,8 @@
 #define NON_GPROF_ENTRY(name)  GEN_ENTRY(name)
 #define NON_GPROF_RET          .byte 0xc3      /* opcode for `ret' */
 
+#define        END(name)               .size name, . - name
+
 #ifdef GPROF
 /*
  * __mcount is like [.]mcount except that doesn't require its caller to set