libc/aarch64: Split out the MOPS functions
This allows static binaries to only include the functions they reference. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54775
This commit is contained in:
@@ -14,6 +14,11 @@ AARCH64_STRING_FUNCS= \
|
||||
strnlen \
|
||||
strrchr
|
||||
|
||||
AARCH64_STRING_IFUNC_FILES= \
|
||||
memcpy-mops.S \
|
||||
memmove-mops.S \
|
||||
memset-mops.S
|
||||
|
||||
# SIMD-enhanced routines not derived from Arm's code
|
||||
MDSRCS+= \
|
||||
memchr.S \
|
||||
@@ -58,6 +63,15 @@ MDSRCS+= ${FUNC}.S
|
||||
CFLAGS.${FUNC}.S+=-I${SRCTOP}/contrib/arm-optimized-routines/string
|
||||
.endfor
|
||||
|
||||
.for FILE in ${AARCH64_STRING_IFUNC_FILES}
|
||||
${FILE}: ${LIBC_SRCTOP}/aarch64/string/Makefile.inc
|
||||
printf '/* %sgenerated by libc/aarch64/string/Makefile.inc */\n' @ > ${.TARGET}
|
||||
printf '#include "aarch64/%s"\n' ${FILE} >> ${.TARGET}
|
||||
CLEANFILES+= ${FILE}
|
||||
MDSRCS+= ${FILE}
|
||||
CFLAGS.${FILE}+=-I${SRCTOP}/contrib/arm-optimized-routines/string
|
||||
.endfor
|
||||
|
||||
# Several files are wrappers in the src tree for the implementation from
|
||||
# arm-optimized-routines
|
||||
CFLAGS.memchr.S+=-I${SRCTOP}/contrib/arm-optimized-routines/string
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
#include "aarch64/memcpy-advsimd.S"
|
||||
#include "aarch64/memcpy-mops.S"
|
||||
#include "aarch64/memmove-mops.S"
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
#include "aarch64/memset.S"
|
||||
#include "aarch64/memset-mops.S"
|
||||
|
||||
Reference in New Issue
Block a user