diff options
-rw-r--r-- | target/linux/uml/Makefile | 2 | ||||
-rw-r--r-- | target/linux/uml/patches/002-syscall_define_fix_uml_compile_bug.patch | 54 |
2 files changed, 55 insertions, 1 deletions
diff --git a/target/linux/uml/Makefile b/target/linux/uml/Makefile index 41d20ff..7b8f4fc 100644 --- a/target/linux/uml/Makefile +++ b/target/linux/uml/Makefile @@ -23,7 +23,7 @@ BOARDNAME:=User Mode Linux FEATURES:=ext2 LINUX_CONFIG:=$(CURDIR)/config/$(ARCH) -LINUX_VERSION:=2.6.28 +LINUX_VERSION:=2.6.28.5 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/uml/patches/002-syscall_define_fix_uml_compile_bug.patch b/target/linux/uml/patches/002-syscall_define_fix_uml_compile_bug.patch new file mode 100644 index 0000000..563294a --- /dev/null +++ b/target/linux/uml/patches/002-syscall_define_fix_uml_compile_bug.patch @@ -0,0 +1,54 @@ +http://patchwork.kernel.org/patch/7166/ + +--- a/include/linux/syscalls.h ++++ b/include/linux/syscalls.h +@@ -95,13 +95,13 @@ struct old_linux_dirent; + #define __SC_TEST5(t5, a5, ...) __SC_TEST(t5); __SC_TEST4(__VA_ARGS__) + #define __SC_TEST6(t6, a6, ...) __SC_TEST(t6); __SC_TEST5(__VA_ARGS__) + +-#define SYSCALL_DEFINE0(name) asmlinkage long sys_##name(void) +-#define SYSCALL_DEFINE1(...) SYSCALL_DEFINEx(1, __VA_ARGS__) +-#define SYSCALL_DEFINE2(...) SYSCALL_DEFINEx(2, __VA_ARGS__) +-#define SYSCALL_DEFINE3(...) SYSCALL_DEFINEx(3, __VA_ARGS__) +-#define SYSCALL_DEFINE4(...) SYSCALL_DEFINEx(4, __VA_ARGS__) +-#define SYSCALL_DEFINE5(...) SYSCALL_DEFINEx(5, __VA_ARGS__) +-#define SYSCALL_DEFINE6(...) SYSCALL_DEFINEx(6, __VA_ARGS__) ++#define SYSCALL_DEFINE0(name) asmlinkage long sys_##name(void) ++#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__) ++#define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) ++#define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) ++#define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__) ++#define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) ++#define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) + + #ifdef CONFIG_PPC64 + #define SYSCALL_ALIAS(alias, name) \ +@@ -116,21 +116,21 @@ struct old_linux_dirent; + + #define SYSCALL_DEFINE(name) static inline long SYSC_##name + #define SYSCALL_DEFINEx(x, name, ...) \ +- asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__)); \ +- static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__)); \ +- asmlinkage long SyS_##name(__SC_LONG##x(__VA_ARGS__)) \ ++ asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__)); \ ++ static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__)); \ ++ asmlinkage long SyS##name(__SC_LONG##x(__VA_ARGS__)) \ + { \ + __SC_TEST##x(__VA_ARGS__); \ +- return (long) SYSC_##name(__SC_CAST##x(__VA_ARGS__)); \ ++ return (long) SYSC##name(__SC_CAST##x(__VA_ARGS__)); \ + } \ +- SYSCALL_ALIAS(sys_##name, SyS_##name); \ +- static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__)) ++ SYSCALL_ALIAS(sys##name, SyS##name); \ ++ static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__)) + + #else /* CONFIG_HAVE_SYSCALL_WRAPPERS */ + + #define SYSCALL_DEFINE(name) asmlinkage long sys_##name + #define SYSCALL_DEFINEx(x, name, ...) \ +- asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__)) ++ asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__)) + + #endif /* CONFIG_HAVE_SYSCALL_WRAPPERS */ + |