chiark / gitweb /
Prep v234: Apply missing upstream fixes in src/basic (1/6)
[elogind.git] / src / basic / missing_syscall.h
index abfe62a5eeab70ce5e79a95b3c728d1e0d4d07ea..beadf369a4690363a66322c6b7db6201cb3a4c1b 100644 (file)
@@ -54,6 +54,8 @@ static inline int pivot_root(const char *new_root, const char *put_old) {
 #      endif
 #    elif defined __i386__
 #      define __NR_memfd_create 356
+#    elif defined __arc__
+#      define __NR_memfd_create 279
 #    else
 #      warning "__NR_memfd_create unknown for your architecture"
 #    endif
@@ -99,6 +101,8 @@ static inline int memfd_create(const char *name, unsigned int flags) {
 #      if _MIPS_SIM == _MIPS_SIM_ABI64
 #        define __NR_getrandom 5313
 #      endif
+#    elif defined(__arc__)
+#      define __NR_getrandom 278
 #    else
 #      warning "__NR_getrandom unknown for your architecture"
 #    endif
@@ -134,6 +138,8 @@ static inline pid_t gettid(void) {
 #      define __NR_name_to_handle_at 370
 #    elif defined(__powerpc__)
 #      define __NR_name_to_handle_at 345
+#    elif defined(__arc__)
+#      define __NR_name_to_handle_at 264
 #    else
 #      error "__NR_name_to_handle_at is not defined"
 #    endif
@@ -163,6 +169,8 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle
 #      define __NR_setns 308
 #    elif defined(__i386__)
 #      define __NR_setns 346
+#    elif defined(__arc__)
+#      define __NR_setns 268
 #    else
 #      error "__NR_setns is not defined"
 #    endif
@@ -181,18 +189,6 @@ static inline int setns(int fd, int nstype) {
 /* ======================================================================= */
 
 #if 0 /// UNNEEDED by elogind
-static inline int raw_clone(unsigned long flags, void *child_stack) {
-#if defined(__s390__) || defined(__CRIS__)
-        /* On s390 and cris the order of the first and second arguments
-         * of the raw clone() system call is reversed. */
-        return (int) syscall(__NR_clone, child_stack, flags);
-#else
-        return (int) syscall(__NR_clone, flags, child_stack);
-#endif
-}
-
-/* ======================================================================= */
-
 static inline pid_t raw_getpid(void) {
 #if defined(__alpha__)
         return (pid_t) syscall(__NR_getxpid);
@@ -200,6 +196,7 @@ static inline pid_t raw_getpid(void) {
         return (pid_t) syscall(__NR_getpid);
 #endif
 }
+#endif // 0
 
 /* ======================================================================= */
 
@@ -209,6 +206,8 @@ static inline pid_t raw_getpid(void) {
 #      define __NR_renameat2 316
 #    elif defined __arm__
 #      define __NR_renameat2 382
+#    elif defined __aarch64__
+#      define __NR_renameat2 276
 #    elif defined _MIPS_SIM
 #      if _MIPS_SIM == _MIPS_SIM_ABI32
 #        define __NR_renameat2 4351
@@ -221,6 +220,12 @@ static inline pid_t raw_getpid(void) {
 #      endif
 #    elif defined __i386__
 #      define __NR_renameat2 353
+#    elif defined __powerpc64__
+#      define __NR_renameat2 357
+#    elif defined __s390__ || defined __s390x__
+#      define __NR_renameat2 347
+#    elif defined __arc__
+#      define __NR_renameat2 276
 #    else
 #      warning "__NR_renameat2 unknown for your architecture"
 #    endif
@@ -279,7 +284,6 @@ static inline key_serial_t request_key(const char *type, const char *description
 #  endif
 }
 #endif
-#endif // 0
 
 /* ======================================================================= */
 
@@ -295,6 +299,10 @@ static inline key_serial_t request_key(const char *type, const char *description
 #      define __NR_copy_file_range 391
 #    elif defined __aarch64__
 #      define __NR_copy_file_range 285
+#    elif defined __powerpc__
+#      define __NR_copy_file_range 379
+#    elif defined __arc__
+#      define __NR_copy_file_range 285
 #    else
 #      warning "__NR_copy_file_range not defined for your architecture"
 #    endif