diff options
Diffstat (limited to 'sys/rt/i386')
-rw-r--r-- | sys/rt/i386/rt1.s | 14 | ||||
-rw-r--r-- | sys/rt/i386/rti.s | 9 | ||||
-rw-r--r-- | sys/rt/i386/rtn.s | 7 |
3 files changed, 30 insertions, 0 deletions
diff --git a/sys/rt/i386/rt1.s b/sys/rt/i386/rt1.s new file mode 100644 index 0000000..aef4f05 --- /dev/null +++ b/sys/rt/i386/rt1.s @@ -0,0 +1,14 @@ +.extern rt·thunk + +.text +.global _start +_start: + xor %ebp,%ebp + mov %esp,%eax + and $-16,%esp + push %eax + push %eax + push %eax + push %eax + call rt·thunk +"); diff --git a/sys/rt/i386/rti.s b/sys/rt/i386/rti.s new file mode 100644 index 0000000..d2682a2 --- /dev/null +++ b/sys/rt/i386/rti.s @@ -0,0 +1,9 @@ +.section .init +.global _init +_init: + sub $12,%esp + +.section .fini +.global _fini +_fini: + sub $12,%esp diff --git a/sys/rt/i386/rtn.s b/sys/rt/i386/rtn.s new file mode 100644 index 0000000..f3b61e0 --- /dev/null +++ b/sys/rt/i386/rtn.s @@ -0,0 +1,7 @@ +.section .init + add $12,%esp + ret + +.section .fini + add $12,%esp + ret |