From 38545a368ca50c8c24e5adae349bcbcae2065132 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 12 Nov 2005 01:10:24 +0000 Subject: initial port to hppa --- libc/sysdeps/linux/hppa/crtn.S | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 libc/sysdeps/linux/hppa/crtn.S (limited to 'libc/sysdeps/linux/hppa/crtn.S') diff --git a/libc/sysdeps/linux/hppa/crtn.S b/libc/sysdeps/linux/hppa/crtn.S new file mode 100644 index 000000000..6602eced3 --- /dev/null +++ b/libc/sysdeps/linux/hppa/crtn.S @@ -0,0 +1,34 @@ +/* glibc's sysdeps/hppa/elf/initfini.c used for reference [EPILOG] */ + + .text + .align 4 +/* Here is the tail end of _init. We put __gmon_start before this so + that the assembler creates the .PARISC.unwind section for us, ie. + with the right attributes. */ + .section .init + ldw -84(%sp),%rp + copy %r4,%r19 + bv %r0(%rp) +_end_init: + ldwm -64(%sp),%r4 + +/* Our very own unwind info, because the assembler can't handle + functions split into two or more pieces. */ + .section .PARISC.unwind + .extern _init + .word _init, _end_init + .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 + + + + .section .fini + ldw -84(%sp),%rp + copy %r4,%r19 + bv %r0(%rp) +_end_fini: + ldwm -64(%sp),%r4 + + .section .PARISC.unwind + .extern _fini + .word _fini, _end_fini + .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 -- cgit v1.2.3