yuezonghe | 824eb0c | 2024-06-27 02:32:26 -0700 | [diff] [blame^] | 1 | /* glibc's sysdeps/hppa/elf/initfini.c used for reference [EPILOG] */ |
| 2 | |
| 3 | .text |
| 4 | .align 4 |
| 5 | /* Here is the tail end of _init. We put __gmon_start before this so |
| 6 | that the assembler creates the .PARISC.unwind section for us, ie. |
| 7 | with the right attributes. */ |
| 8 | .section .init |
| 9 | ldw -84(%sp),%rp |
| 10 | copy %r4,%r19 |
| 11 | bv %r0(%rp) |
| 12 | _end_init: |
| 13 | ldwm -64(%sp),%r4 |
| 14 | |
| 15 | /* Our very own unwind info, because the assembler can't handle |
| 16 | functions split into two or more pieces. */ |
| 17 | .section .PARISC.unwind |
| 18 | .extern _init |
| 19 | .word _init, _end_init |
| 20 | .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 |
| 21 | |
| 22 | |
| 23 | |
| 24 | .section .fini |
| 25 | ldw -84(%sp),%rp |
| 26 | copy %r4,%r19 |
| 27 | bv %r0(%rp) |
| 28 | _end_fini: |
| 29 | ldwm -64(%sp),%r4 |
| 30 | |
| 31 | .section .PARISC.unwind |
| 32 | .extern _fini |
| 33 | .word _fini, _end_fini |
| 34 | .byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 |