1# SPDX-License-Identifier: GPL-2.0
2#
3# linux/arch/arm/lib/Makefile
4#
5# Copyright (C) 1995-2000 Russell King
6#
7
8lib-y		:= changebit.o csumipv6.o csumpartial.o               \
9		   csumpartialcopy.o csumpartialcopyuser.o clearbit.o \
10		   delay.o delay-loop.o findbit.o memchr.o memcpy.o   \
11		   memmove.o memset.o setbit.o                        \
12		   strchr.o strrchr.o                                 \
13		   testchangebit.o testclearbit.o testsetbit.o        \
14		   ashldi3.o ashrdi3.o lshrdi3.o muldi3.o             \
15		   ucmpdi2.o lib1funcs.o div64.o                      \
16		   io-readsb.o io-writesb.o io-readsl.o io-writesl.o  \
17		   call_with_stack.o bswapsdi2.o
18
19mmu-y		:= clear_user.o copy_page.o getuser.o putuser.o       \
20		   copy_from_user.o copy_to_user.o
21
22ifdef CONFIG_CC_IS_CLANG
23  lib-y	+= backtrace-clang.o
24else
25  lib-y	+= backtrace.o
26endif
27
28# using lib_ here won't override already available weak symbols
29obj-$(CONFIG_UACCESS_WITH_MEMCPY) += uaccess_with_memcpy.o
30
31lib-$(CONFIG_MMU) += $(mmu-y)
32
33ifeq ($(CONFIG_CPU_32v3),y)
34  lib-y	+= io-readsw-armv3.o io-writesw-armv3.o
35else
36  lib-y	+= io-readsw-armv4.o io-writesw-armv4.o
37endif
38
39$(obj)/csumpartialcopy.o:	$(obj)/csumpartialcopygeneric.S
40$(obj)/csumpartialcopyuser.o:	$(obj)/csumpartialcopygeneric.S
41
42ifeq ($(CONFIG_KERNEL_MODE_NEON),y)
43  NEON_FLAGS			:= -march=armv7-a -mfloat-abi=softfp -mfpu=neon
44  CFLAGS_xor-neon.o		+= $(NEON_FLAGS)
45  obj-$(CONFIG_XOR_BLOCKS)	+= xor-neon.o
46endif
47
48obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
49