tools/testing/selftests/arm64/gcs/Makefile

Source file repositories/reference/linux-study-clean/tools/testing/selftests/arm64/gcs/Makefile

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/arm64/gcs/Makefile
Extension
[no extension]
Size
878 bytes
Lines
31
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: build/configuration rule
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# 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) $(CFLAGS) -fno-asynchronous-unwind-tables -fno-ident -s -nostdlib -nostdinc \
		-static -I../../../../include/nolibc -include ../../../../include/nolibc/nolibc.h \
		-I../../../../../usr/include \
		-std=gnu99 -I../.. -g \
		-ffreestanding $^ -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 $@

Annotation

Implementation Notes