summaryrefslogtreecommitdiffstats
path: root/libc/arch-mips/bionic/vfork.S
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-02-19 16:53:20 -0800
committerElliott Hughes <enh@google.com>2014-02-20 13:51:26 -0800
commit851e68a2402fa414544e66650e09dfdaac813e51 (patch)
treebaec353c8e9b6f24e885459b20a8748fc5c39468 /libc/arch-mips/bionic/vfork.S
parent22c6b7ffd36fe8b34b677eea94d00aef2624e4e8 (diff)
downloadbionic-851e68a2402fa414544e66650e09dfdaac813e51.zip
bionic-851e68a2402fa414544e66650e09dfdaac813e51.tar.gz
bionic-851e68a2402fa414544e66650e09dfdaac813e51.tar.bz2
Unify our assembler macros.
Our <machine/asm.h> files were modified from upstream, to the extent that no architecture was actually using the upstream ENTRY or END macros, assuming that architecture even had such a macro upstream. This patch moves everyone to the same macros, with just a few tweaks remaining in the <machine/asm.h> files, which no one should now use directly. I've removed most of the unused cruft from the <machine/asm.h> files, though there's still rather a lot in the mips/mips64 ones. Bug: 12229603 Change-Id: I2fff287dc571ac1087abe9070362fb9420d85d6d
Diffstat (limited to 'libc/arch-mips/bionic/vfork.S')
-rw-r--r--libc/arch-mips/bionic/vfork.S40
1 files changed, 17 insertions, 23 deletions
diff --git a/libc/arch-mips/bionic/vfork.S b/libc/arch-mips/bionic/vfork.S
index 414caaf..96de69e 100644
--- a/libc/arch-mips/bionic/vfork.S
+++ b/libc/arch-mips/bionic/vfork.S
@@ -26,39 +26,33 @@
* SUCH DAMAGE.
*/
-#include <asm/unistd.h>
+#include <private/bionic_asm.h>
#include <linux/sched.h>
// TODO: mips' uapi signal.h is missing #ifndef __ASSEMBLY__.
// #include <asm/signal.h>
#define SIGCHLD 18
- .text
-
- .type vfork, @function
- .global vfork
- .align 4
- .ent vfork
-vfork:
+ENTRY(vfork)
.set noreorder
- .cpload $t9
+ .cpload t9
- li $a0, (CLONE_VM | CLONE_VFORK | SIGCHLD)
- li $a1, 0
- li $a2, 0
- li $a3, 0
- subu $sp, 8
- sw $0, 16($sp)
- li $v0, __NR_clone
+ li a0, (CLONE_VM | CLONE_VFORK | SIGCHLD)
+ li a1, 0
+ li a2, 0
+ li a3, 0
+ subu sp, 8
+ sw $0, 16(sp)
+ li v0, __NR_clone
syscall
- addu $sp, 8
- bnez $a3, 1f
- move $a0, $v0
+ addu sp, 8
+ bnez a3, 1f
+ move a0, v0
- j $ra
+ j ra
nop
1:
- la $t9, __set_errno
- j $t9
+ la t9, __set_errno
+ j t9
nop
- .end vfork
+END(vfork)