13d37d430SMark Brown# SPDX-License-Identifier: GPL-2.0 23d37d430SMark Brown# Copyright (C) 2023 ARM Limited 33d37d430SMark Brown# 43d37d430SMark Brown# In order to avoid interaction with the toolchain and dynamic linker the 53d37d430SMark Brown# portions of these tests that interact with the GCS are implemented using 63d37d430SMark Brown# nolibc. 73d37d430SMark Brown# 83d37d430SMark Brown 9*48f8d9ceSMark BrownTEST_GEN_PROGS := basic-gcs libc-gcs gcs-locking gcs-stress gcspushm gcsstr 1005e6cfffSMark BrownTEST_GEN_PROGS_EXTENDED := gcs-stress-thread 11a505a52bSMark Brown 12a505a52bSMark BrownLDLIBS+=-lpthread 133d37d430SMark Brown 143d37d430SMark Browninclude ../../lib.mk 153d37d430SMark Brown 163d37d430SMark Brown$(OUTPUT)/basic-gcs: basic-gcs.c 173d37d430SMark Brown $(CC) -g -fno-asynchronous-unwind-tables -fno-ident -s -Os -nostdlib \ 183d37d430SMark Brown -static -include ../../../../include/nolibc/nolibc.h \ 193d37d430SMark Brown -I../../../../../usr/include \ 203d37d430SMark Brown -std=gnu99 -I../.. -g \ 213d37d430SMark Brown -ffreestanding -Wall $^ -o $@ -lgcc 2205e6cfffSMark Brown 2305e6cfffSMark Brown$(OUTPUT)/gcs-stress-thread: gcs-stress-thread.S 2405e6cfffSMark Brown $(CC) -nostdlib $^ -o $@ 25*48f8d9ceSMark Brown 26*48f8d9ceSMark Brown$(OUTPUT)/gcspushm: gcspushm.S 27*48f8d9ceSMark Brown $(CC) -nostdlib $^ -o $@ 28*48f8d9ceSMark Brown 29*48f8d9ceSMark Brown$(OUTPUT)/gcsstr: gcsstr.S 30*48f8d9ceSMark Brown $(CC) -nostdlib $^ -o $@ 31