30 lines
385 B
ArmAsm
30 lines
385 B
ArmAsm
#
|
|
! $Source$
|
|
! $State$
|
|
! $Revision$
|
|
|
|
! Declare segments (the order is important).
|
|
|
|
.sect .text
|
|
.sect .rom
|
|
.sect .data
|
|
.sect .bss
|
|
|
|
.sect .text
|
|
|
|
__NR_execve = 11
|
|
|
|
! Perform a execl by invoking Linux's execve system call.
|
|
|
|
.define _execl
|
|
|
|
_execl:
|
|
lea eax, 8(esp)
|
|
push (_environ) ! envp
|
|
push eax ! argv
|
|
push -4(eax) ! pathname
|
|
push __NR_execve
|
|
call __syscall
|
|
add esp, 16
|
|
ret
|