aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc/0017-dlang-fix-fcntl-on-mips-add-libucontext-dep.patch
blob: 570c44c4b574e2bbbd396bc8d14ce8235e84b603 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
From 58c529af8a9673b90dc7137065ab788c25b358a8 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:58:22 +0000
Subject: [PATCH 17/39] dlang: fix fcntl on mips, add libucontext dep

---
 libphobos/configure.tgt                      |  1 +
 libphobos/libdruntime/core/sys/posix/fcntl.d | 15 +++++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/libphobos/configure.tgt b/libphobos/configure.tgt
index 94e42bf5509..73f2e4b7f01 100644
--- a/libphobos/configure.tgt
+++ b/libphobos/configure.tgt
@@ -35,6 +35,7 @@ case "${target}" in
 	;;
   mips*-*-linux*)
 	LIBPHOBOS_SUPPORTED=yes
+	LIBDRUNTIME_NEEDS_UCONTEXT=yes
 	;;
   power*-*-linux*)
 	LIBPHOBOS_SUPPORTED=yes
diff --git a/libphobos/libdruntime/core/sys/posix/fcntl.d b/libphobos/libdruntime/core/sys/posix/fcntl.d
index 9febcff849b..cb34e2108bd 100644
--- a/libphobos/libdruntime/core/sys/posix/fcntl.d
+++ b/libphobos/libdruntime/core/sys/posix/fcntl.d
@@ -870,6 +870,21 @@ else version (CRuntime_Musl)
             F_SETLKW       = 7,
         }
     }
+    else version (MIPS_Any)
+    {
+        enum 
+        {
+            O_DIRECTORY     = 0x010000, // octal   0200000
+            O_NOFOLLOW      = 0x020000, // octal   0400000
+            O_DIRECT        = 0x008000, // octal   0100000
+            O_LARGEFILE     = 0x002000, // octal   0020000
+            O_TMPFILE       = 0x410000, // octal 020200000
+
+            F_GETLK        = 33,
+            F_SETLK        = 34,
+            F_SETLKW       = 35,
+        }
+    }
     else
         static assert(0, "Platform not supported");
 
-- 
2.28.0