summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/profiling/PORTING
diff options
context:
space:
mode:
authorGwenolé Beauchesne <gbeauchesne@mandriva.org>2003-06-04 18:44:09 +0000
committerGwenolé Beauchesne <gbeauchesne@mandriva.org>2003-06-04 18:44:09 +0000
commit4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b (patch)
treeacd4001a266a8713495af7f1b2102b61e67113b0 /mdk-stage1/dietlibc/profiling/PORTING
parent71b111ec6c4671667a19c6fbe0023d33422535d7 (diff)
downloaddrakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar
drakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar.gz
drakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar.bz2
drakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.tar.xz
drakx-backup-do-not-use-4cd6a4a5d7e49d54d53dcf4a6f3393d50bd88e8b.zip
Import dietlibc 0.22 + other fixes for 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.
+