diff options
author | Elliott Hughes <enh@google.com> | 2013-02-11 15:36:59 -0800 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2013-02-11 15:36:59 -0800 |
commit | f94fd3ccc66e05f53965bc14237778c0d8437bb6 (patch) | |
tree | 7128c3e47bdc0575553f8fab83ef05a752dc3985 /libc/arch-arm/bionic/syscall.S | |
parent | 2d3e72336e76180fb00822386da4f14203d117ce (diff) | |
download | bionic-f94fd3ccc66e05f53965bc14237778c0d8437bb6.zip bionic-f94fd3ccc66e05f53965bc14237778c0d8437bb6.tar.gz bionic-f94fd3ccc66e05f53965bc14237778c0d8437bb6.tar.bz2 |
Clean up ARM assembler files to use ENTRY/END.
We also don't need legacy syscall support (non-"swi 0").
Change-Id: Id1012e8ca18bf13f3f4e42200f39ba0e2e632cbf
Diffstat (limited to 'libc/arch-arm/bionic/syscall.S')
-rw-r--r-- | libc/arch-arm/bionic/syscall.S | 38 |
1 files changed, 6 insertions, 32 deletions
diff --git a/libc/arch-arm/bionic/syscall.S b/libc/arch-arm/bionic/syscall.S index ada12a6..69f3bec 100644 --- a/libc/arch-arm/bionic/syscall.S +++ b/libc/arch-arm/bionic/syscall.S @@ -25,47 +25,21 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ -#include <sys/linux-syscalls.h> - - - .text - .align 4 - .type syscall,#function - .globl syscall - - .text - .align -#if __ARM_EABI__ +#include <machine/asm.h> +#include <sys/linux-syscalls.h> -syscall: +ENTRY(syscall) mov ip, sp - stmfd sp!, {r4, r5, r6, r7} + stmfd sp!, {r4, r5, r6, r7} mov r7, r0 mov r0, r1 mov r1, r2 mov r2, r3 - ldmfd ip, {r3, r4, r5, r6} + ldmfd ip, {r3, r4, r5, r6} swi #0 ldmfd sp!, {r4, r5, r6, r7} movs r0, r0 bxpl lr b __set_syscall_errno - -#else - -#ifndef __NR_syscall -#define __NR_syscall 113 -#endif - -syscall: - stmfd sp!, {r4, r5, lr} - ldr r4, [sp, #12] - ldr r5, [sp, #16] - swi __NR_syscall - ldmfd sp!, {r4, r5, lr} - movs r0, r0 - bxpl lr - b __set_syscall_errno - -#endif +END(syscall) |