mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-19 17:14:40 +08:00
a730af6e31
Fix many build errors (at least 18 build error reports) for uml on i386 by adding 2 more library object files. All missing symbols are either cmpxchg8b_emu or atomic*386. Here are a few examples of the build errors that are eliminated: /usr/bin/ld: core.c:(.text+0xd83): undefined reference to `cmpxchg8b_emu' /usr/bin/ld: core.c:(.text+0x2bb2): undefined reference to `atomic64_add_386' /usr/bin/ld: core.c:(.text+0x2c5d): undefined reference to `atomic64_xchg_386' syscall.c:(.text+0x2f49): undefined reference to `atomic64_set_386' /usr/bin/ld: syscall.c:(.text+0x2f54): undefined reference to `atomic64_set_386' syscall.c:(.text+0x33a4): undefined reference to `atomic64_inc_386' /usr/bin/ld: syscall.c:(.text+0x33ac): undefined reference to `atomic64_inc_386' /usr/bin/ld: net/ipv4/inet_timewait_sock.o: in function `inet_twsk_alloc': inet_timewait_sock.c:(.text+0x3d1): undefined reference to `atomic64_read_386' /usr/bin/ld: inet_timewait_sock.c:(.text+0x3dd): undefined reference to `atomic64_set_386' /usr/bin/ld: net/ipv4/inet_connection_sock.o: in function `inet_csk_clone_lock': inet_connection_sock.c:(.text+0x1d74): undefined reference to `atomic64_read_386' /usr/bin/ld: inet_connection_sock.c:(.text+0x1d80): undefined reference to `atomic64_set_386' /usr/bin/ld: net/ipv4/tcp_input.o: in function `inet_reqsk_alloc': tcp_input.c:(.text+0xa345): undefined reference to `atomic64_set_386' /usr/bin/ld: net/mac80211/wpa.o: in function `ieee80211_crypto_tkip_encrypt': wpa.c:(.text+0x739): undefined reference to `atomic64_inc_return_386' Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Reported-by: kernel test robot <lkp@intel.com> Cc: Brendan Jackman <jackmanb@google.com> Cc: Alexei Starovoitov <ast@kernel.org> Cc: kbuild-all@lists.01.org Cc: Jeff Dike <jdike@addtoit.com> Cc: Richard Weinberger <richard@nod.at> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com> Cc: linux-um@lists.infradead.org Cc: Johannes Berg <johannes@sipsolutions.net> Cc: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Richard Weinberger <richard@nod.at>
50 lines
1.2 KiB
Makefile
50 lines
1.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
|
#
|
|
|
|
ifeq ($(CONFIG_X86_32),y)
|
|
BITS := 32
|
|
else
|
|
BITS := 64
|
|
endif
|
|
|
|
obj-y = bugs_$(BITS).o delay.o fault.o ldt.o \
|
|
ptrace_$(BITS).o ptrace_user.o setjmp_$(BITS).o signal.o \
|
|
stub_$(BITS).o stub_segv.o \
|
|
sys_call_table_$(BITS).o sysrq_$(BITS).o tls_$(BITS).o \
|
|
mem_$(BITS).o subarch.o os-$(OS)/
|
|
|
|
ifeq ($(CONFIG_X86_32),y)
|
|
|
|
obj-y += checksum_32.o syscalls_32.o
|
|
obj-$(CONFIG_ELF_CORE) += elfcore.o
|
|
|
|
subarch-y = ../lib/string_32.o ../lib/atomic64_32.o ../lib/atomic64_cx8_32.o
|
|
subarch-y += ../lib/cmpxchg8b_emu.o ../lib/atomic64_386_32.o
|
|
subarch-y += ../kernel/sys_ia32.o
|
|
|
|
else
|
|
|
|
obj-y += syscalls_64.o vdso/
|
|
|
|
subarch-y = ../lib/csum-partial_64.o ../lib/memcpy_64.o ../entry/thunk_64.o
|
|
|
|
endif
|
|
|
|
subarch-$(CONFIG_MODULES) += ../kernel/module.o
|
|
|
|
USER_OBJS := bugs_$(BITS).o ptrace_user.o fault.o
|
|
|
|
$(obj)/user-offsets.s: c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) \
|
|
-Iarch/x86/include/generated
|
|
targets += user-offsets.s
|
|
|
|
include/generated/user_constants.h: $(obj)/user-offsets.s
|
|
$(call filechk,offsets,__USER_CONSTANT_H__)
|
|
|
|
UNPROFILE_OBJS := stub_segv.o
|
|
CFLAGS_stub_segv.o := $(CFLAGS_NO_HARDENING)
|
|
|
|
include arch/um/scripts/Makefile.rules
|