diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-01-03 23:22:35 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-01-03 23:22:35 +0000 |
commit | e3aaaa2732fbde38c612442fe4f688f2f58801ff (patch) | |
tree | f16913c7c265e58265196e60e2bb8cb8546843fc /sysdeps/unix/sysv/linux/arm/mmap.S | |
parent | 1ecdfd325432b2d91d2bb3fdf289a88df8deee61 (diff) | |
download | glibc-e3aaaa2732fbde38c612442fe4f688f2f58801ff.tar.gz glibc-e3aaaa2732fbde38c612442fe4f688f2f58801ff.tar.xz glibc-e3aaaa2732fbde38c612442fe4f688f2f58801ff.zip |
Update.
2000-01-03 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_MMAP2_SYSCALL, __ASSUME_TRUNCATE64_SYSCALL, __ASSUME_STAT64_SYSCALL): Define on ARM for kernels >= 2.3.35. 2000-01-03 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/arm/mmap.S: Remove mmap64 alias. Optimise error handling a little. * sysdeps/unix/sysv/linux/arm/mmap64.S: New file.
Diffstat (limited to 'sysdeps/unix/sysv/linux/arm/mmap.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/mmap.S | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sysdeps/unix/sysv/linux/arm/mmap.S b/sysdeps/unix/sysv/linux/arm/mmap.S index fcff57c55d..31d57e4a4d 100644 --- a/sysdeps/unix/sysv/linux/arm/mmap.S +++ b/sysdeps/unix/sysv/linux/arm/mmap.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,12 +23,12 @@ ENTRY (__mmap) /* Because we can only get five args through the syscall interface, and - mmap() takes six, we need to build a parameter block and pass its + mmap() takes six, we need to build a parameter block and pass its address instead. The 386 port does a similar trick. */ /* This code previously moved sp into ip and stored the args using - stmdb ip!, {a1-a4}. It did not modify sp, so the stack never had - to be restored after the syscall completed. It saved an + stmdb ip!, {a1-a4}. It did not modify sp, so the stack never had + to be restored after the syscall completed. It saved an instruction and meant no stack cleanup work was required. This will not work in the case of a mmap call being interrupted @@ -47,10 +47,9 @@ ENTRY (__mmap) add sp, sp, #16 cmn r0, $4096 - bhs PLTJMP(syscall_error); - ret + RETINSTR(movcc, pc, lr) + b PLTJMP(syscall_error); PSEUDO_END (__mmap) weak_alias (__mmap, mmap) -weak_alias (__mmap, mmap64) |