diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-09-28 12:22:35 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-09-28 12:22:35 +0000 |
commit | 9619122a37468984c812d1409a86a423d5934e08 (patch) | |
tree | 4055e5602e256b6b62ad010a521b8f5f692a86af /target/linux/uml | |
parent | b082573f86b94399a36af367b66050ab8beebfb6 (diff) | |
download | master-187ad058-9619122a37468984c812d1409a86a423d5934e08.tar.gz master-187ad058-9619122a37468984c812d1409a86a423d5934e08.tar.bz2 master-187ad058-9619122a37468984c812d1409a86a423d5934e08.zip |
uml: backport another upstream patch to fix compile errors
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47067 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/uml')
-rw-r--r-- | target/linux/uml/patches-4.1/001-um-Stop-abusing-__KERNEL__.patch | 94 | ||||
-rw-r--r-- | target/linux/uml/patches-4.1/002-um-Remove-copy-paste-code-from-init.h.patch (renamed from target/linux/uml/patches-4.1/001-um-Remove-copy-paste-code-from-init.h.patch) | 2 |
2 files changed, 95 insertions, 1 deletions
diff --git a/target/linux/uml/patches-4.1/001-um-Stop-abusing-__KERNEL__.patch b/target/linux/uml/patches-4.1/001-um-Stop-abusing-__KERNEL__.patch new file mode 100644 index 0000000000..a46a5be406 --- /dev/null +++ b/target/linux/uml/patches-4.1/001-um-Stop-abusing-__KERNEL__.patch @@ -0,0 +1,94 @@ +From: Richard Weinberger <richard@nod.at> +Date: Sun, 31 May 2015 19:50:57 +0200 +Subject: [PATCH] um: Stop abusing __KERNEL__ + +Currently UML is abusing __KERNEL__ to distinguish between +kernel and host code (os-Linux). It is better to use a custom +define such that existing users of __KERNEL__ don't get confused. + +Signed-off-by: Richard Weinberger <richard@nod.at> +--- + +--- a/arch/um/drivers/mconsole.h ++++ b/arch/um/drivers/mconsole.h +@@ -7,7 +7,7 @@ + #ifndef __MCONSOLE_H__ + #define __MCONSOLE_H__ + +-#ifndef __KERNEL__ ++#ifdef __UM_HOST__ + #include <stdint.h> + #define u32 uint32_t + #endif +--- a/arch/um/include/shared/init.h ++++ b/arch/um/include/shared/init.h +@@ -40,7 +40,7 @@ + typedef int (*initcall_t)(void); + typedef void (*exitcall_t)(void); + +-#ifndef __KERNEL__ ++#ifdef __UM_HOST__ + #ifndef __section + # define __section(S) __attribute__ ((__section__(#S))) + #endif +@@ -131,7 +131,7 @@ extern struct uml_param __uml_setup_star + #define __uml_postsetup_call __used __section(.uml.postsetup.init) + #define __uml_exit_call __used __section(.uml.exitcall.exit) + +-#ifndef __KERNEL__ ++#ifdef __UM_HOST__ + + #define __define_initcall(level,fn) \ + static initcall_t __initcall_##fn __used \ +--- a/arch/um/include/shared/user.h ++++ b/arch/um/include/shared/user.h +@@ -17,7 +17,7 @@ + #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + + /* This is to get size_t */ +-#ifdef __KERNEL__ ++#ifndef __UM_HOST__ + #include <linux/types.h> + #else + #include <stddef.h> +--- a/arch/um/Makefile ++++ b/arch/um/Makefile +@@ -68,9 +68,10 @@ KBUILD_CFLAGS += $(CFLAGS) $(CFLAGS-y) - + + KBUILD_AFLAGS += $(ARCH_INCLUDE) + +-USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\ +- $(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \ +- $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64 -idirafter include ++USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -I%,,$(KBUILD_CFLAGS))) \ ++ $(ARCH_INCLUDE) $(MODE_INCLUDE) $(filter -I%,$(CFLAGS)) \ ++ -D_FILE_OFFSET_BITS=64 -idirafter include \ ++ -D__KERNEL__ -D__UM_HOST__ + + #This will adjust *FLAGS accordingly to the platform. + include $(ARCH_DIR)/Makefile-os-$(OS) +--- a/arch/x86/um/shared/sysdep/tls.h ++++ b/arch/x86/um/shared/sysdep/tls.h +@@ -1,7 +1,7 @@ + #ifndef _SYSDEP_TLS_H + #define _SYSDEP_TLS_H + +-# ifndef __KERNEL__ ++#ifdef __UM_HOST__ + + /* Change name to avoid conflicts with the original one from <asm/ldt.h>, which + * may be named user_desc (but in 2.4 and in header matching its API was named +@@ -22,11 +22,11 @@ typedef struct um_dup_user_desc { + #endif + } user_desc_t; + +-# else /* __KERNEL__ */ ++#else /* __UM_HOST__ */ + + typedef struct user_desc user_desc_t; + +-# endif /* __KERNEL__ */ ++#endif /* __UM_HOST__ */ + + extern int os_set_thread_area(user_desc_t *info, int pid); + extern int os_get_thread_area(user_desc_t *info, int pid); diff --git a/target/linux/uml/patches-4.1/001-um-Remove-copy-paste-code-from-init.h.patch b/target/linux/uml/patches-4.1/002-um-Remove-copy-paste-code-from-init.h.patch index a68c4b606c..6733384b91 100644 --- a/target/linux/uml/patches-4.1/001-um-Remove-copy-paste-code-from-init.h.patch +++ b/target/linux/uml/patches-4.1/002-um-Remove-copy-paste-code-from-init.h.patch @@ -16,7 +16,7 @@ Signed-off-by: Richard Weinberger <richard@nod.at> typedef int (*initcall_t)(void); typedef void (*exitcall_t)(void); --#ifndef __KERNEL__ +-#ifdef __UM_HOST__ -#ifndef __section -# define __section(S) __attribute__ ((__section__(#S))) -#endif |