aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2007-10-13 03:16:04 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-13 12:57:15 -0400
commit2b8232ce512105e28453f301d1510de8363bccd1 (patch)
tree13e15a4f629c72b8737e20221998cb1e55e98d58
parentc4ea43c552ecc9ccc564e11e70d397dbdf09484b (diff)
minimal build fixes for uml (fallout from x86 merge)
a) include/asm-um/arch can't just point to include/asm-$(SUBARCH) now b) arch/{i386,x86_64}/crypto are merged now c) subarch-obj needed changes d) cpufeature_64.h should pull "cpufeature_32.h", not <asm/cpufeature_32.h> since it can be included from asm-um/cpufeature.h e) in case of uml-i386 we need CONFIG_X86_32 for make and gcc, but not for Kconfig f) sysctl.c shouldn't do vdso_enabled for uml-i386 (actually, that one should be registered from corresponding arch/*/kernel/*, with ifdef going away; that's a separate patch, though). With that and with Stephen's patch ("[PATCH net-2.6] uml: hard_header fix") we have uml allmodconfig building both on i386 and amd64. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/um/Makefile6
-rw-r--r--arch/um/Makefile-i3868
-rw-r--r--arch/um/Makefile-x86_643
-rw-r--r--arch/um/scripts/Makefile.rules2
-rw-r--r--arch/um/sys-i386/Makefile6
-rw-r--r--arch/um/sys-x86_64/Makefile4
-rw-r--r--include/asm-x86/cpufeature_64.h2
-rw-r--r--kernel/sysctl.c2
8 files changed, 20 insertions, 13 deletions
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 989224f21346..0666729eb976 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -176,9 +176,9 @@ include/asm-um/arch:
176 @echo ' SYMLINK $@' 176 @echo ' SYMLINK $@'
177ifneq ($(KBUILD_SRC),) 177ifneq ($(KBUILD_SRC),)
178 $(Q)mkdir -p $(objtree)/include/asm-um 178 $(Q)mkdir -p $(objtree)/include/asm-um
179 $(Q)ln -fsn $(srctree)/include/asm-$(SUBARCH) include/asm-um/arch 179 $(Q)ln -fsn $(srctree)/include/asm-$(HEADER_ARCH) include/asm-um/arch
180else 180else
181 $(Q)cd $(TOPDIR)/include/asm-um && ln -sf ../asm-$(SUBARCH) arch 181 $(Q)cd $(TOPDIR)/include/asm-um && ln -sf ../asm-$(HEADER_ARCH) arch
182endif 182endif
183 183
184$(objtree)/$(ARCH_DIR)/include: 184$(objtree)/$(ARCH_DIR)/include:
@@ -232,4 +232,4 @@ $(ARCH_DIR)/include/kern_constants.h: $(objtree)/$(ARCH_DIR)/include
232 @echo ' SYMLINK $@' 232 @echo ' SYMLINK $@'
233 $(Q)ln -sf ../../../include/asm-um/asm-offsets.h $@ 233 $(Q)ln -sf ../../../include/asm-um/asm-offsets.h $@
234 234
235export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS 235export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH
diff --git a/arch/um/Makefile-i386 b/arch/um/Makefile-i386
index c9f1c5b24c9a..60107ed4905b 100644
--- a/arch/um/Makefile-i386
+++ b/arch/um/Makefile-i386
@@ -1,4 +1,4 @@
1core-y += arch/um/sys-i386/ arch/i386/crypto/ 1core-y += arch/um/sys-i386/ arch/x86/crypto/
2 2
3TOP_ADDR := $(CONFIG_TOP_ADDR) 3TOP_ADDR := $(CONFIG_TOP_ADDR)
4 4
@@ -12,6 +12,7 @@ LDFLAGS += -m elf_i386
12ELF_ARCH := $(SUBARCH) 12ELF_ARCH := $(SUBARCH)
13ELF_FORMAT := elf32-$(SUBARCH) 13ELF_FORMAT := elf32-$(SUBARCH)
14OBJCOPYFLAGS := -O binary -R .note -R .comment -S 14OBJCOPYFLAGS := -O binary -R .note -R .comment -S
15HEADER_ARCH := x86
15 16
16ifeq ("$(origin SUBARCH)", "command line") 17ifeq ("$(origin SUBARCH)", "command line")
17ifneq ("$(shell uname -m | sed -e s/i.86/i386/)", "$(SUBARCH)") 18ifneq ("$(shell uname -m | sed -e s/i.86/i386/)", "$(SUBARCH)")
@@ -24,6 +25,11 @@ export LDFLAGS HOSTCFLAGS HOSTLDFLAGS UML_OBJCOPYFLAGS
24endif 25endif
25endif 26endif
26 27
28CFLAGS += -DCONFIG_X86_32
29AFLAGS += -DCONFIG_X86_32
30CONFIG_X86_32 := y
31export CONFIG_X86_32
32
27ARCH_KERNEL_DEFINES += -U__$(SUBARCH)__ -U$(SUBARCH) 33ARCH_KERNEL_DEFINES += -U__$(SUBARCH)__ -U$(SUBARCH)
28 34
29# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y. 35# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
diff --git a/arch/um/Makefile-x86_64 b/arch/um/Makefile-x86_64
index 69ecea63fdae..8a00e5f6934c 100644
--- a/arch/um/Makefile-x86_64
+++ b/arch/um/Makefile-x86_64
@@ -1,7 +1,7 @@
1# Copyright 2003 - 2004 Pathscale, Inc 1# Copyright 2003 - 2004 Pathscale, Inc
2# Released under the GPL 2# Released under the GPL
3 3
4core-y += arch/um/sys-x86_64/ arch/x86_64/crypto/ 4core-y += arch/um/sys-x86_64/ arch/x86/crypto/
5START := 0x60000000 5START := 0x60000000
6 6
7_extra_flags_ = -fno-builtin -m64 7_extra_flags_ = -fno-builtin -m64
@@ -18,6 +18,7 @@ CPPFLAGS += -m64
18 18
19ELF_ARCH := i386:x86-64 19ELF_ARCH := i386:x86-64
20ELF_FORMAT := elf64-x86-64 20ELF_FORMAT := elf64-x86-64
21HEADER_ARCH := x86
21 22
22# Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example. 23# Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.
23 24
diff --git a/arch/um/scripts/Makefile.rules b/arch/um/scripts/Makefile.rules
index a9a4b85ca516..bf23dd3e24d0 100644
--- a/arch/um/scripts/Makefile.rules
+++ b/arch/um/scripts/Makefile.rules
@@ -28,5 +28,5 @@ endef
28 28
29ifdef subarch-obj-y 29ifdef subarch-obj-y
30obj-y += subarch.o 30obj-y += subarch.o
31subarch-y = $(addprefix ../../$(SUBARCH)/,$(subarch-obj-y)) 31subarch-y = $(addprefix ../../$(HEADER_ARCH)/,$(subarch-obj-y))
32endif 32endif
diff --git a/arch/um/sys-i386/Makefile b/arch/um/sys-i386/Makefile
index d6b3ecd4b77e..a4618b6b85b9 100644
--- a/arch/um/sys-i386/Makefile
+++ b/arch/um/sys-i386/Makefile
@@ -4,9 +4,9 @@ obj-y = bug.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \
4 4
5obj-$(CONFIG_MODE_SKAS) += stub.o stub_segv.o 5obj-$(CONFIG_MODE_SKAS) += stub.o stub_segv.o
6 6
7subarch-obj-y = lib/bitops.o lib/semaphore.o lib/string.o 7subarch-obj-y = lib/bitops_32.o lib/semaphore_32.o lib/string_32.o
8subarch-obj-$(CONFIG_HIGHMEM) += mm/highmem.o 8subarch-obj-$(CONFIG_HIGHMEM) += mm/highmem_32.o
9subarch-obj-$(CONFIG_MODULES) += kernel/module.o 9subarch-obj-$(CONFIG_MODULES) += kernel/module_32.o
10 10
11USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o 11USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o
12 12
diff --git a/arch/um/sys-x86_64/Makefile b/arch/um/sys-x86_64/Makefile
index 4d9e5efa6fb9..ea8185d85404 100644
--- a/arch/um/sys-x86_64/Makefile
+++ b/arch/um/sys-x86_64/Makefile
@@ -11,8 +11,8 @@ obj-y = bug.o bugs.o delay.o fault.o ldt.o mem.o ptrace.o ptrace_user.o \
11obj-$(CONFIG_MODE_SKAS) += stub.o stub_segv.o 11obj-$(CONFIG_MODE_SKAS) += stub.o stub_segv.o
12obj-$(CONFIG_MODULES) += um_module.o 12obj-$(CONFIG_MODULES) += um_module.o
13 13
14subarch-obj-y = lib/bitops.o lib/csum-partial.o lib/memcpy.o lib/thunk.o 14subarch-obj-y = lib/bitops_64.o lib/csum-partial_64.o lib/memcpy_64.o lib/thunk_64.o
15subarch-obj-$(CONFIG_MODULES) += kernel/module.o 15subarch-obj-$(CONFIG_MODULES) += kernel/module_64.o
16 16
17ldt-y = ../sys-i386/ldt.o 17ldt-y = ../sys-i386/ldt.o
18 18
diff --git a/include/asm-x86/cpufeature_64.h b/include/asm-x86/cpufeature_64.h
index 2983501e8b3e..e18496b7b850 100644
--- a/include/asm-x86/cpufeature_64.h
+++ b/include/asm-x86/cpufeature_64.h
@@ -7,7 +7,7 @@
7#ifndef __ASM_X8664_CPUFEATURE_H 7#ifndef __ASM_X8664_CPUFEATURE_H
8#define __ASM_X8664_CPUFEATURE_H 8#define __ASM_X8664_CPUFEATURE_H
9 9
10#include <asm/cpufeature_32.h> 10#include "cpufeature_32.h"
11 11
12#undef cpu_has_vme 12#undef cpu_has_vme
13#define cpu_has_vme 0 13#define cpu_has_vme 0
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index c7314f952647..6c97259e863e 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1053,7 +1053,7 @@ static ctl_table vm_table[] = {
1053 .strategy = &sysctl_string, 1053 .strategy = &sysctl_string,
1054 }, 1054 },
1055#endif 1055#endif
1056#if defined(CONFIG_X86_32) || \ 1056#if (defined(CONFIG_X86_32) && !defined(CONFIG_UML))|| \
1057 (defined(CONFIG_SUPERH) && defined(CONFIG_VSYSCALL)) 1057 (defined(CONFIG_SUPERH) && defined(CONFIG_VSYSCALL))
1058 { 1058 {
1059 .ctl_name = VM_VDSO_ENABLED, 1059 .ctl_name = VM_VDSO_ENABLED,