summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/mips/Makefile.arch4
-rw-r--r--libc/sysdeps/linux/mips/vfork.S7
2 files changed, 8 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/mips/Makefile.arch b/libc/sysdeps/linux/mips/Makefile.arch
index 73e64991c..e8925e438 100644
--- a/libc/sysdeps/linux/mips/Makefile.arch
+++ b/libc/sysdeps/linux/mips/Makefile.arch
@@ -10,15 +10,17 @@ CSRC := \
cacheflush.c pread_write.c sysmips.c _test_and_set.c \
readahead.c
+SSRC := bsd-_setjmp.S bsd-setjmp.S setjmp.S syscall.S pipe.S
+
ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
CSRC += posix_fadvise.c posix_fadvise64.c
endif
ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
CSRC += sigaction.c
+SSRC += vfork.S clone.S
endif
-SSRC := bsd-_setjmp.S bsd-setjmp.S setjmp.S clone.S syscall.S pipe.S
ARCH_HEADERS := sgidefs.h
# regdef.h
diff --git a/libc/sysdeps/linux/mips/vfork.S b/libc/sysdeps/linux/mips/vfork.S
index 8400df052..b30744759 100644
--- a/libc/sysdeps/linux/mips/vfork.S
+++ b/libc/sysdeps/linux/mips/vfork.S
@@ -29,6 +29,7 @@
#define RESTORE_PID
#endif
+#ifdef __NR_fork
/* int vfork() */
@@ -93,5 +94,7 @@ L(error):
#endif
END(__vfork)
-.weak vfork;
- vfork = __vfork
+weak_alias(__vfork,vfork)
+libc_hidden_weak(vfork)
+
+#endif