| # 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 $@ |