summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/arm64/gcs/Makefile
blob: d2f3497a9103fc12ebc90c7f4e33ab9b846c6c8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 ARM Limited
#
# In order to avoid interaction with the toolchain and dynamic linker the
# portions of these tests that interact with the GCS are implemented using
# nolibc.
#

TEST_GEN_PROGS := basic-gcs libc-gcs gcs-locking gcs-stress gcspushm gcsstr
TEST_GEN_PROGS_EXTENDED := gcs-stress-thread

LDLIBS+=-lpthread

include ../../lib.mk

$(OUTPUT)/basic-gcs: basic-gcs.c
	$(CC) -g -fno-asynchronous-unwind-tables -fno-ident -s -Os -nostdlib \
		-static -include ../../../../include/nolibc/nolibc.h \
		-I../../../../../usr/include \
		-std=gnu99 -I../.. -g \
		-ffreestanding -Wall $^ -o $@ -lgcc

$(OUTPUT)/gcs-stress-thread: gcs-stress-thread.S
	$(CC) -nostdlib $^ -o $@

$(OUTPUT)/gcspushm: gcspushm.S
	$(CC) -nostdlib $^ -o $@

$(OUTPUT)/gcsstr: gcsstr.S
	$(CC) -nostdlib $^ -o $@