summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/i386/mmap64.S
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/i386/mmap64.S')
-rw-r--r--mdk-stage1/dietlibc/i386/mmap64.S11
1 files changed, 11 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/i386/mmap64.S b/mdk-stage1/dietlibc/i386/mmap64.S
index 210fec6ce..421325260 100644
--- a/mdk-stage1/dietlibc/i386/mmap64.S
+++ b/mdk-stage1/dietlibc/i386/mmap64.S
@@ -1,6 +1,13 @@
+#include <dietfeatures.h>
#include <syscalls.h>
#include <errno.h>
+#ifdef __DYN_LIB
+#ifndef WANT_THREAD_SAFE
+#define WANT_THREAD_SAFE
+#endif
+#endif
+
.text
.global mmap64
.type mmap64,@function
@@ -32,7 +39,11 @@ mmap64:
.Lerror:
#ifdef WANT_THREAD_SAFE
movl %eax,%ebx
+#ifdef __DYN_LIB
+ call __errno_location@PLT
+#else
call __errno_location
+#endif
movl %ebx,(%eax)
orl $-1,%eax
#else