mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 15:14:18 +08:00
fbac266f09
s390 has instructions to support 128 bit arithmetics, e.g. a 64 bit multiply instruction with a 128 bit result. Also 128 bit integer artithmetics are already used in s390 specific architecture code (see e.g. read_persistent_clock64()). Therefore select ARCH_SUPPORTS_INT128. However limit this to clang for now, since gcc generates inefficient code, which may lead to stack overflows, when compiling lib/crypto/curve25519-hacl64.c which depends on ARCH_SUPPORTS_INT128. The gcc generated functions have 6kb stack frames, compared to only 1kb of the code generated with clang. If the kernel is compiled with -Os library calls for __ashlti3(), __ashrti3(), and __lshrti3() may be generated. Similar to arm64 and riscv provide assembler implementations for these functions. Acked-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
26 lines
831 B
Makefile
26 lines
831 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for s390-specific library files..
|
|
#
|
|
|
|
lib-y += delay.o string.o uaccess.o find.o spinlock.o tishift.o
|
|
obj-y += mem.o xor.o
|
|
lib-$(CONFIG_KPROBES) += probes.o
|
|
lib-$(CONFIG_UPROBES) += probes.o
|
|
obj-$(CONFIG_S390_KPROBES_SANITY_TEST) += test_kprobes_s390.o
|
|
test_kprobes_s390-objs += test_kprobes_asm.o test_kprobes.o
|
|
|
|
# Instrumenting memory accesses to __user data (in different address space)
|
|
# produce false positives
|
|
KASAN_SANITIZE_uaccess.o := n
|
|
|
|
obj-$(CONFIG_S390_UNWIND_SELFTEST) += test_unwind.o
|
|
CFLAGS_test_unwind.o += -fno-optimize-sibling-calls
|
|
|
|
obj-$(CONFIG_S390_MODULES_SANITY_TEST) += test_modules.o
|
|
obj-$(CONFIG_S390_MODULES_SANITY_TEST_HELPERS) += test_modules_helpers.o
|
|
|
|
lib-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
|
|
|
|
obj-$(CONFIG_EXPOLINE_EXTERN) += expoline/
|