Properly define the __NR_memfd_create macro for MIPS

This is an upstream patch which has been applied to the master branch
and I have adapted it to make it apply to the v217 version.

Upstream commit:
  http://cgit.freedesktop.org/systemd/systemd/commit/?id=e6c019026b8cfd27a997e6e6ed1349f8f289b7e2

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>

From a51496db6edc8168268c86ea55915405f95b0212 Mon Sep 17 00:00:00 2001
From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Date: Thu, 13 Nov 2014 17:32:52 +0000
Subject: [PATCH] Properly define the __NR_memfd_create macro for MIPS

This macro exists for MIPS since v3.17:
  https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=42944521af97a3b25516f15f3149aec3779656dc

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 src/shared/missing.h |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/shared/missing.h b/src/shared/missing.h
index bb4f8f2..66bedcf 100644
--- a/src/shared/missing.h
+++ b/src/shared/missing.h
@@ -125,8 +125,15 @@ static inline int pivot_root(const char *new_root, const char *put_old) {
 #  endif
 #elif defined _MIPS_SIM
 #  ifndef __NR_memfd_create
-#    warning "__NR_memfd_create not yet defined for MIPS"
-#    define __NR_memfd_create 0xffffffff
+#    if _MIPS_SIM == _MIPS_SIM_ABI32
+#      define __NR_memfd_create 4354
+#    endif
+#    if _MIPS_SIM == _MIPS_SIM_NABI32
+#      define __NR_memfd_create 6318
+#    endif
+#    if _MIPS_SIM == _MIPS_SIM_ABI64
+#      define __NR_memfd_create 5314
+#    endif
 #  endif
 #else
 #  ifndef __NR_memfd_create
-- 
1.7.1

