diff options
author | marius <marius@FreeBSD.org> | 2008-04-11 22:53:06 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2008-04-11 22:53:06 +0000 |
commit | 29fb737a373c6b536dea728ed0e7294c45476493 (patch) | |
tree | 2c6984efbe52d59c398a053bf8def110ec44806f /sys/cddl | |
parent | 044c91c383c7f84401a932af4bf99879943e7353 (diff) | |
download | FreeBSD-src-29fb737a373c6b536dea728ed0e7294c45476493.zip FreeBSD-src-29fb737a373c6b536dea728ed0e7294c45476493.tar.gz |
- Fix the path encoded in the multiple inclusion protection.
- GCC uses 32-byte function alignment for UltraSPARC CPUs.
- Remove code duplication.
Approved by: core, pjd
MFC after: 2 weeks
Diffstat (limited to 'sys/cddl')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/sys/asm_linkage.h | 49 |
1 files changed, 13 insertions, 36 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/sys/asm_linkage.h b/sys/cddl/contrib/opensolaris/uts/common/sys/asm_linkage.h index b2a3c16..d694ea4 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/sys/asm_linkage.h +++ b/sys/cddl/contrib/opensolaris/uts/common/sys/asm_linkage.h @@ -24,8 +24,8 @@ * Use is subject to license terms. */ -#ifndef _IA32_SYS_ASM_LINKAGE_H -#define _IA32_SYS_ASM_LINKAGE_H +#ifndef _SYS_ASM_LINKAGE_H +#define _SYS_ASM_LINKAGE_H #ifdef __cplusplus extern "C" { @@ -41,6 +41,17 @@ extern "C" { #define ASM_ENTRY_ALIGN 16 +#elif defined(__sparc64__) + +/* GCC uses 32-byte function alignment for UltraSPARC CPUs. */ +#define ASM_ENTRY_ALIGN 32 + +#else + +#error Unsupported architecture. + +#endif + /* * ENTRY provides the standard procedure entry code and an easy way to * insert the calls to mcount for profiling. ENTRY_NP is identical, but @@ -67,40 +78,6 @@ x: #define SET_SIZE(x) \ .size x, [.-x] -#elif defined(__sparc64__) - -/* - * ENTRY provides the standard procedure entry code and an easy way to - * insert the calls to mcount for profiling. ENTRY_NP is identical, but - * never calls mcount. - */ -#define ENTRY(x) \ - .section ".text"; \ - .align 4; \ - .global x; \ - .type x, @function; \ -x: - -/* - * ALTENTRY provides for additional entry points. - */ -#define ALTENTRY(x) \ - .global x; \ - .type x, @function; \ -x: - -/* - * SET_SIZE trails a function and set the size for the ELF symbol table. - */ -#define SET_SIZE(x) \ - .size x, (.-x) - -#else - -#error Unsupported architecture. - -#endif - #endif /* _ASM */ #ifdef __cplusplus |