This is the new replacement for the existing cortex-strings code which will be replaced in a follow-up commit. We should also be able to use some of the math functions to allow the tests to pass on AArch64 (and other architectures) instead of just x86. We might also be able to reuse some of the tests for the kyua testsuite. Imported using ``` curl -Le823e3abf5
| tar --strip-components=1 -xvzf - git add . ``` Differential Revision: https://reviews.freebsd.org/D29035 git-subtree-dir: contrib/arm-optimized-routines git-subtree-mainline:e34c713b0e
git-subtree-split:f9f37c002a
74 lines
1.8 KiB
Plaintext
74 lines
1.8 KiB
Plaintext
# Example config.mk
|
|
#
|
|
# Copyright (c) 2018-2020, Arm Limited.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
# Subprojects to build
|
|
SUBS = math string networking
|
|
|
|
# Target architecture: aarch64, arm or x86_64
|
|
ARCH = aarch64
|
|
|
|
# Use for cross compilation with gcc.
|
|
#CROSS_COMPILE = aarch64-none-linux-gnu-
|
|
|
|
# Compiler for the target
|
|
CC = $(CROSS_COMPILE)gcc
|
|
CFLAGS = -std=c99 -pipe -O3
|
|
CFLAGS += -Wall -Wno-missing-braces
|
|
CFLAGS += -Werror=implicit-function-declaration
|
|
|
|
# Used for test case generator that is executed on the host
|
|
HOST_CC = gcc
|
|
HOST_CFLAGS = -std=c99 -O2
|
|
HOST_CFLAGS += -Wall -Wno-unused-function
|
|
|
|
# Enable debug info.
|
|
HOST_CFLAGS += -g
|
|
CFLAGS += -g
|
|
|
|
# Optimize the shared libraries on aarch64 assuming they fit in 1M.
|
|
#CFLAGS_SHARED = -fPIC -mcmodel=tiny
|
|
|
|
# Enable MTE support.
|
|
#CFLAGS += -march=armv8.5-a+memtag -DWANT_MTE_TEST=1
|
|
|
|
# Use with cross testing.
|
|
#EMULATOR = qemu-aarch64-static
|
|
#EMULATOR = sh -c 'scp $$1 user@host:/dir && ssh user@host /dir/"$$@"' --
|
|
|
|
# Additional flags for subprojects.
|
|
math-cflags =
|
|
math-ldlibs =
|
|
math-ulpflags =
|
|
math-testflags =
|
|
string-cflags =
|
|
networking-cflags =
|
|
|
|
# Use if mpfr is available on the target for ulp error checking.
|
|
#math-ldlibs += -lmpfr -lgmp
|
|
#math-cflags += -DUSE_MPFR
|
|
|
|
# Use with gcc.
|
|
math-cflags += -frounding-math -fexcess-precision=standard -fno-stack-protector
|
|
math-cflags += -ffp-contract=fast -fno-math-errno
|
|
|
|
# Use with clang.
|
|
#math-cflags += -ffp-contract=fast
|
|
|
|
# Disable vector math code
|
|
#math-cflags += -DWANT_VMATH=0
|
|
|
|
# Disable fenv checks
|
|
#math-ulpflags = -q -f
|
|
#math-testflags = -nostatus
|
|
|
|
# Remove GNU Property Notes from asm files.
|
|
#string-cflags += -DWANT_GNU_PROPERTY=0
|
|
|
|
# Enable assertion checks.
|
|
#networking-cflags += -DWANT_ASSERT
|
|
|
|
# Avoid auto-vectorization of scalar code and unroll loops
|
|
networking-cflags += -O2 -fno-tree-vectorize -funroll-loops
|