mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
121b32a58a
For the 32-bit syscall interface, 64-bit arguments (loff_t) are passed via a pair of 32-bit registers. These register pairs end up in consecutive stack slots, which matches the C ABI for 64-bit arguments. But when accessing the registers directly from pt_regs, the wrapper needs to manually reassemble the 64-bit value. These wrappers already exist for 32-bit compat, so make them available to 32-bit native in preparation for enabling pt_regs-based syscalls. Signed-off-by: Brian Gerst <brgerst@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net> Link: https://lkml.kernel.org/r/20200313195144.164260-16-brgerst@gmail.com
49 lines
1.2 KiB
Makefile
49 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 += ../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
|