diff options
author | cee1 <fykcee1@gmail.com> | 2011-03-17 10:13:01 +0800 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-03-17 04:03:44 +0100 |
commit | d59d0a2b4b41a75eaf618b26b8f8bd1e17de7e2b (patch) | |
tree | d8fc37a441a031c949d12dcf3b903665a2258573 | |
parent | f6a6225e414858ff222d2b175369cc42459abf9a (diff) |
read-ahead: Fix broken systemd-readahead-collect on mips.
This actually adjust the __NR_fanotify* system call numbers to proper
ones on mips(according userspace ABI).
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | src/missing.h | 51 |
2 files changed, 42 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac index cae2dce367..8a28c8e807 100644 --- a/configure.ac +++ b/configure.ac @@ -28,6 +28,9 @@ AC_SUBST(PACKAGE_URL, [http://www.freedesktop.org/wiki/Software/systemd]) AC_CANONICAL_HOST AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.]) +AS_IF([test "x$host_cpu" = "xmips" || test "x$host_cpu" = "xmipsel" || + test "x$host_cpu" = "xmips64" || test "x$host_cpu" = "xmips64el"], + [AC_DEFINE(ARCH_MIPS, [], [Whether on mips arch])]) AM_SILENT_RULES([yes]) diff --git a/src/missing.h b/src/missing.h index c0cb3eaea7..35e209fba4 100644 --- a/src/missing.h +++ b/src/missing.h @@ -36,6 +36,10 @@ #include "macro.h" +#ifdef ARCH_MIPS +#include <asm/sgidefs.h> +#endif + #ifndef RLIMIT_RTTIME #define RLIMIT_RTTIME 15 #endif @@ -77,19 +81,42 @@ static inline int pivot_root(const char *new_root, const char *put_old) { } #ifdef __x86_64__ -#ifndef __NR_fanotify_init -#define __NR_fanotify_init 300 -#endif -#ifndef __NR_fanotify_mark -#define __NR_fanotify_mark 301 -#endif +# ifndef __NR_fanotify_init +# define __NR_fanotify_init 300 +# endif +# ifndef __NR_fanotify_mark +# define __NR_fanotify_mark 301 +# endif +#elif defined _MIPS_SIM +# if _MIPS_SIM == _MIPS_SIM_ABI32 +# ifndef __NR_fanotify_init +# define __NR_fanotify_init 4336 +# endif +# ifndef __NR_fanotify_mark +# define __NR_fanotify_mark 4337 +# endif +# elif _MIPS_SIM == _MIPS_SIM_NABI32 +# ifndef __NR_fanotify_init +# define __NR_fanotify_init 6300 +# endif +# ifndef __NR_fanotify_mark +# define __NR_fanotify_mark 6301 +# endif +# elif _MIPS_SIM == _MIPS_SIM_ABI64 +# ifndef __NR_fanotify_init +# define __NR_fanotify_init 5295 +# endif +# ifndef __NR_fanotify_mark +# define __NR_fanotify_mark 5296 +# endif +# endif #else -#ifndef __NR_fanotify_init -#define __NR_fanotify_init 338 -#endif -#ifndef __NR_fanotify_mark -#define __NR_fanotify_mark 339 -#endif +# ifndef __NR_fanotify_init +# define __NR_fanotify_init 338 +# endif +# ifndef __NR_fanotify_mark +# define __NR_fanotify_mark 339 +# endif #endif static inline int fanotify_init(unsigned int flags, unsigned int event_f_flags) { |