summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2006-10-28 06:04:29 +0000
committerbde <bde@FreeBSD.org>2006-10-28 06:04:29 +0000
commit4e6ad1ffa202dce5e7a8cc1c66b48f4d678d639c (patch)
tree12834a3d76512711beec1b8e76397f183472976e /sys/i386
parent8ca206e26c2343bd1ddbcb0313abb6e7eadf1682 (diff)
downloadFreeBSD-src-4e6ad1ffa202dce5e7a8cc1c66b48f4d678d639c.zip
FreeBSD-src-4e6ad1ffa202dce5e7a8cc1c66b48f4d678d639c.tar.gz
Removed all traces of HIDENAME() in amd64 and i386 kernel code. Using
this used to be slightly cleaner than using ifdefs in a few places to support both a.out and elf, but using it now just causes messes and unportabilities. It seems to be impossible to implement the elf HIDENAME() portably in cpp (since token pasting of "." and <name> is invalid). */prof_machdep.c: - Removed all uses of CNAME(). CNAME() is easy enough to use in pure asm code, but using it in inline asm requires messy quoting. The core pure asm code has been hacked on more and all uses of CNAME() in it have already gone away. Just assume the elf convention here too. - Removed now-uneeded include of <machine/asmacros.h>. - Removed the workaround for a namespace conflict with this include.
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/include/asmacros.h8
-rw-r--r--sys/i386/isa/prof_machdep.c27
2 files changed, 12 insertions, 23 deletions
diff --git a/sys/i386/include/asmacros.h b/sys/i386/include/asmacros.h
index a95eff0..2ea368d 100644
--- a/sys/i386/include/asmacros.h
+++ b/sys/i386/include/asmacros.h
@@ -37,14 +37,12 @@
/* XXX too much duplication in various asm*.h's. */
/*
- * CNAME and HIDENAME manage the relationship between symbol names in C
+ * CNAME is used to manage the relationship between symbol names in C
* and the equivalent assembly language names. CNAME is given a name as
* it would be used in a C program. It expands to the equivalent assembly
- * language name. HIDENAME is given an assembly-language name, and expands
- * to a possibly-modified form that will be invisible to C programs.
+ * language name.
*/
#define CNAME(csym) csym
-#define HIDENAME(asmsym) .asmsym
#define ALIGN_DATA .p2align 2 /* 4 byte alignment, zero filled */
#ifdef GPROF
@@ -109,7 +107,7 @@
#define MCOUNT call __mcount
#define MCOUNT_LABEL(name) GEN_ENTRY(name) ; nop ; ALIGN_TEXT
#ifdef GUPROF
-#define MEXITCOUNT call HIDENAME(mexitcount)
+#define MEXITCOUNT call .mexitcount
#define ret MEXITCOUNT ; NON_GPROF_RET
#else
#define MEXITCOUNT
diff --git a/sys/i386/isa/prof_machdep.c b/sys/i386/isa/prof_machdep.c
index 0f399a3..393c5ca 100644
--- a/sys/i386/isa/prof_machdep.c
+++ b/sys/i386/isa/prof_machdep.c
@@ -30,17 +30,8 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
-#include <machine/asmacros.h>
#include <machine/timerreg.h>
-/*
- * There are 2 definitions of MCOUNT to have a C version and an asm version
- * with the same name and not have LOCORE #ifdefs to distinguish them.
- * <machine/profile.h> provides a C version, and <machine/asmacros.h>
- * provides an asm version. To avoid conflicts, #undef the asm version.
- */
-#undef MCOUNT
-
#ifdef GUPROF
#include "opt_i586_guprof.h"
#include "opt_perfmon.h"
@@ -82,7 +73,7 @@ __mcount: \n\
# \n\
# Check that we are profiling. Do it early for speed. \n\
# \n\
- cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\
+ cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\
je .mcount_exit \n\
# \n\
# __mcount is the same as [.]mcount except the caller \n\
@@ -93,11 +84,11 @@ __mcount: \n\
jmp .got_frompc \n\
\n\
.p2align 4,0x90 \n\
- .globl " __XSTRING(HIDENAME(mcount)) " \n\
-" __XSTRING(HIDENAME(mcount)) ": \n\
+ .globl .mcount \n\
+.mcount: \n\
.globl __cyg_profile_func_enter \n\
__cyg_profile_func_enter: \n\
- cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\
+ cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\
je .mcount_exit \n\
# \n\
# The caller's stack frame has already been built, so \n\
@@ -116,7 +107,7 @@ __cyg_profile_func_enter: \n\
pushl %eax \n\
pushl %edx \n\
cli \n\
- call " __XSTRING(CNAME(mcount)) " \n\
+ call mcount \n\
addl $8,%esp \n\
popfl \n\
.mcount_exit: \n\
@@ -148,11 +139,11 @@ __mexitcount: \n\
GMON_PROF_HIRES = 4 \n\
\n\
.p2align 4,0x90 \n\
- .globl " __XSTRING(HIDENAME(mexitcount)) " \n\
-" __XSTRING(HIDENAME(mexitcount)) ": \n\
+ .globl .mexitcount \n\
+.mexitcount: \n\
.globl __cyg_profile_func_exit \n\
__cyg_profile_func_exit: \n\
- cmpl $GMON_PROF_HIRES," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\
+ cmpl $GMON_PROF_HIRES,_gmonparam+GM_STATE \n\
jne .mexitcount_exit \n\
pushl %edx \n\
pushl %eax \n\
@@ -160,7 +151,7 @@ __cyg_profile_func_exit: \n\
pushfl \n\
pushl %eax \n\
cli \n\
- call " __XSTRING(CNAME(mexitcount)) " \n\
+ call mexitcount \n\
addl $4,%esp \n\
popfl \n\
popl %eax \n\
OpenPOWER on IntegriCloud