Commit 2b8232ce authored by Al Viro's avatar Al Viro Committed by Linus Torvalds
Browse files

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: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c4ea43c5
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -176,9 +176,9 @@ include/asm-um/arch:
	@echo '  SYMLINK $@'
ifneq ($(KBUILD_SRC),)
	$(Q)mkdir -p $(objtree)/include/asm-um
	$(Q)ln -fsn $(srctree)/include/asm-$(SUBARCH) include/asm-um/arch
	$(Q)ln -fsn $(srctree)/include/asm-$(HEADER_ARCH) include/asm-um/arch
else
	$(Q)cd $(TOPDIR)/include/asm-um && ln -sf ../asm-$(SUBARCH) arch
	$(Q)cd $(TOPDIR)/include/asm-um && ln -sf ../asm-$(HEADER_ARCH) arch
endif

$(objtree)/$(ARCH_DIR)/include:
@@ -232,4 +232,4 @@ $(ARCH_DIR)/include/kern_constants.h: $(objtree)/$(ARCH_DIR)/include
	@echo '  SYMLINK $@'
	$(Q)ln -sf ../../../include/asm-um/asm-offsets.h $@

export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS
export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH
+7 −1
Original line number Diff line number Diff line
core-y += arch/um/sys-i386/ arch/i386/crypto/
core-y += arch/um/sys-i386/ arch/x86/crypto/

TOP_ADDR := $(CONFIG_TOP_ADDR)

@@ -12,6 +12,7 @@ LDFLAGS += -m elf_i386
ELF_ARCH		:= $(SUBARCH)
ELF_FORMAT 		:= elf32-$(SUBARCH)
OBJCOPYFLAGS  		:= -O binary -R .note -R .comment -S
HEADER_ARCH		:= x86

ifeq ("$(origin SUBARCH)", "command line")
ifneq ("$(shell uname -m | sed -e s/i.86/i386/)", "$(SUBARCH)")
@@ -24,6 +25,11 @@ export LDFLAGS HOSTCFLAGS HOSTLDFLAGS UML_OBJCOPYFLAGS
endif
endif

CFLAGS			+= -DCONFIG_X86_32
AFLAGS			+= -DCONFIG_X86_32
CONFIG_X86_32		:= y
export CONFIG_X86_32

ARCH_KERNEL_DEFINES += -U__$(SUBARCH)__ -U$(SUBARCH)

# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
+2 −1
Original line number Diff line number Diff line
# Copyright 2003 - 2004 Pathscale, Inc
# Released under the GPL

core-y += arch/um/sys-x86_64/ arch/x86_64/crypto/
core-y += arch/um/sys-x86_64/ arch/x86/crypto/
START := 0x60000000

_extra_flags_ = -fno-builtin -m64
@@ -18,6 +18,7 @@ CPPFLAGS += -m64

ELF_ARCH := i386:x86-64
ELF_FORMAT := elf64-x86-64
HEADER_ARCH := x86

# Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.

+1 −1
Original line number Diff line number Diff line
@@ -28,5 +28,5 @@ endef

ifdef subarch-obj-y
obj-y += subarch.o
subarch-y = $(addprefix ../../$(SUBARCH)/,$(subarch-obj-y))
subarch-y = $(addprefix ../../$(HEADER_ARCH)/,$(subarch-obj-y))
endif
+3 −3
Original line number Diff line number Diff line
@@ -4,9 +4,9 @@ obj-y = bug.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \

obj-$(CONFIG_MODE_SKAS) += stub.o stub_segv.o

subarch-obj-y = lib/bitops.o lib/semaphore.o lib/string.o
subarch-obj-$(CONFIG_HIGHMEM) += mm/highmem.o
subarch-obj-$(CONFIG_MODULES) += kernel/module.o
subarch-obj-y = lib/bitops_32.o lib/semaphore_32.o lib/string_32.o
subarch-obj-$(CONFIG_HIGHMEM) += mm/highmem_32.o
subarch-obj-$(CONFIG_MODULES) += kernel/module_32.o

USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o

Loading