This repository has been archived on 2023-08-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
RescueBootCD/extra/syslinux-3.09/com32/lib/sys/exit.S

36 lines
607 B
ArmAsm

# $Id: exit.S,v 1.2 2004/12/17 19:40:41 hpa Exp $
#
# Implementation of _exit() for com32 based on c32entry.S
#
.text
.globl _exit
.type _exit, @function
_exit:
#ifdef REGPARM
pushl %eax
#endif
# Run any destructors
movl $__dtors_start, %esi
2:
cmpl $__dtors_end, %esi
jae 1f
call *(%esi)
addl $4,%esi
jmp 2b
1:
#ifdef REGPARM
popl %eax
#else
movl 4(%esp),%eax # Exit code in %eax = return value
#endif
movl (__entry_esp),%esp # Return stack pointer to entry value
ret # Return to termination address
.size _exit, .-_exit
.data
__exit_handler:
.globl __exit_handler
.long _exit