diff options
author | marius <marius@FreeBSD.org> | 2010-09-15 21:11:29 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2010-09-15 21:11:29 +0000 |
commit | 3ae351af19f39b4cc1b4584e13e097685bcaa96b (patch) | |
tree | 7a1c1454df60ad216ec8fbbaa179ef6f1a03cb6a | |
parent | f431a31babb6f000b816e6b963b3812ac3866bcf (diff) | |
download | FreeBSD-src-3ae351af19f39b4cc1b4584e13e097685bcaa96b.zip FreeBSD-src-3ae351af19f39b4cc1b4584e13e097685bcaa96b.tar.gz |
Add macros for alternate entry points.
-rw-r--r-- | sys/sparc64/include/asm.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/sparc64/include/asm.h b/sys/sparc64/include/asm.h index 8182fe7..dea06c5 100644 --- a/sys/sparc64/include/asm.h +++ b/sys/sparc64/include/asm.h @@ -76,7 +76,7 @@ _ALIGN_TEXT /* - * Define a function entry point. + * Define function entry and alternate entry points. * * The compiler produces #function for the .type pseudo-op, but the '#' * character has special meaning in cpp macros, so we use @function like @@ -86,12 +86,19 @@ * value. Since this is difficult to predict and its expected that * assembler code is already optimized, we leave it out. */ + +#define _ALTENTRY(x) \ + .globl CNAME(x) ; \ + .type CNAME(x),@function ; \ +CNAME(x): + #define _ENTRY(x) \ _START_ENTRY ; \ .globl CNAME(x) ; \ .type CNAME(x),@function ; \ CNAME(x): +#define ALTENTRY(x) _ALTENTRY(x) #define ENTRY(x) _ENTRY(x) #define END(x) .size x, . - x |