summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/profiling/PORTING
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-05-06 13:11:49 +0000
committerMystery Man <unknown@mandriva.org>2003-05-06 13:11:49 +0000
commit3f5d21d90abbd16f16ab69aec1e1a1853a93fd18 (patch)
tree3d9f5a32303a8d97b4b457949e64bb42b4850ea9 /mdk-stage1/dietlibc/profiling/PORTING
parent327bd24f8e4291bd1882de1990dd7339f781a9cb (diff)
downloaddrakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.tar
drakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.tar.gz
drakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.tar.bz2
drakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.tar.xz
drakx-backup-do-not-use-3f5d21d90abbd16f16ab69aec1e1a1853a93fd18.zip
This commit was manufactured by cvs2svn to create tag 'R9_0-AMD64'.R9_0-AMD64
Diffstat (limited to 'mdk-stage1/dietlibc/profiling/PORTING')
-rw-r--r--mdk-stage1/dietlibc/profiling/PORTING25
1 files changed, 25 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/profiling/PORTING b/mdk-stage1/dietlibc/profiling/PORTING
new file mode 100644
index 000000000..c3fc5eba7
--- /dev/null
+++ b/mdk-stage1/dietlibc/profiling/PORTING
@@ -0,0 +1,25 @@
+ Porting to other platforms
+
+ ... is easy. Just create an mcount.S in the $ARCH
+ directory (eg. dietlibc/i386) which includes a
+ function (called "mcount") that:
+
+ 1.) saves ALL registers that are freely usable
+ and which might be used by __mcount().
+ 2.) loads the instruction pointer (PC) from the
+ function that called mcount, and the function
+ which called the function, that called mcount
+ into the first two argument registers (or push
+ them on the stack - depending on the processor-
+ architecture).
+ 3.) call __mcount.
+ 4.) restore the registers saved in 1)
+
+ Then You need a macro called PC in <asm/sigcontext.h>
+ which extracts the (instruction pointer / program
+ counter) from a sigcontext structure (eg. on i386 this
+ would be ctx.eip).
+
+ $ARCH/start.S must also be modified to call monitor
+ with the offset of .text and _etext as parameters.
+