From: "Clément Léger" <cleger@rivosinc.com>
To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org
Cc: "Clément Léger" <cleger@rivosinc.com>,
"Andrew Jones" <ajones@ventanamicro.com>,
"Anup Patel" <apatel@ventanamicro.com>,
"Atish Patra" <atishp@rivosinc.com>,
"Andrew Jones" <andrew.jones@linux.dev>
Subject: [kvm-unit-tests PATCH v6 3/5] riscv: Add "-deps" handling for tests
Date: Fri, 10 Jan 2025 12:12:42 +0100 [thread overview]
Message-ID: <20250110111247.2963146-4-cleger@rivosinc.com> (raw)
In-Reply-To: <20250110111247.2963146-1-cleger@rivosinc.com>
Some tests uses additional files that needs to be linked in the final
binary. This is the case for asm-sbi.S which is only used by the sbi
test. Add a "-deps" per test variable that allows to designate
additional .o files.
Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Clément Léger <cleger@rivosinc.com>
---
riscv/Makefile | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/riscv/Makefile b/riscv/Makefile
index af5ee495..517cb0e5 100644
--- a/riscv/Makefile
+++ b/riscv/Makefile
@@ -17,6 +17,8 @@ tests += $(TEST_DIR)/sieve.$(exe)
all: $(tests)
+$(TEST_DIR)/sbi-deps = $(TEST_DIR)/sbi-asm.o
+
# When built for EFI sieve needs extra memory, run with e.g. '-m 256' on QEMU
$(TEST_DIR)/sieve.$(exe): AUXFLAGS = 0x1
@@ -44,7 +46,6 @@ cflatobjs += lib/riscv/timer.o
ifeq ($(ARCH),riscv32)
cflatobjs += lib/ldiv32.o
endif
-cflatobjs += riscv/sbi-asm.o
########################################
@@ -93,6 +94,7 @@ include $(SRCDIR)/scripts/asm-offsets.mak
$(CC) $(CFLAGS) -c -o $@ $< \
-DPROGNAME=\"$(notdir $(@:.aux.o=.$(exe)))\" -DAUXFLAGS=$(AUXFLAGS)
+.SECONDEXPANSION:
ifeq ($(CONFIG_EFI),y)
# avoid jump tables before all relocations have been processed
riscv/efi/reloc_riscv64.o: CFLAGS += -fno-jump-tables
@@ -103,7 +105,7 @@ cflatobjs += lib/efi.o
.PRECIOUS: %.so
%.so: EFI_LDFLAGS += -defsym=EFI_SUBSYSTEM=0xa --no-undefined
-%.so: %.o $(FLATLIBS) $(SRCDIR)/riscv/efi/elf_riscv64_efi.lds $(cstart.o) %.aux.o
+%.so: %.o $(FLATLIBS) $(SRCDIR)/riscv/efi/elf_riscv64_efi.lds $(cstart.o) %.aux.o $$($$*-deps)
$(LD) $(EFI_LDFLAGS) -o $@ -T $(SRCDIR)/riscv/efi/elf_riscv64_efi.lds \
$(filter %.o, $^) $(FLATLIBS) $(EFI_LIBS)
@@ -119,7 +121,7 @@ cflatobjs += lib/efi.o
-O binary $^ $@
else
%.elf: LDFLAGS += -pie -n -z notext
-%.elf: %.o $(FLATLIBS) $(SRCDIR)/riscv/flat.lds $(cstart.o) %.aux.o
+%.elf: %.o $(FLATLIBS) $(SRCDIR)/riscv/flat.lds $(cstart.o) %.aux.o $$($$*-deps)
$(LD) $(LDFLAGS) -o $@ -T $(SRCDIR)/riscv/flat.lds \
$(filter %.o, $^) $(FLATLIBS)
@chmod a-x $@
@@ -132,6 +134,7 @@ endif
generated-files = $(asm-offsets)
$(tests:.$(exe)=.o) $(cstart.o) $(cflatobjs): $(generated-files)
+$(foreach test,$(tests),$($(test:.$(exe)=-deps))): $(generated-files)
arch_clean: asm_offsets_clean
$(RM) $(TEST_DIR)/*.{o,flat,elf,so,efi,debug} \
--
2.47.1
next prev parent reply other threads:[~2025-01-10 11:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-10 11:12 [kvm-unit-tests PATCH v6 0/5] riscv: add SBI SSE extension tests Clément Léger
2025-01-10 11:12 ` [kvm-unit-tests PATCH v6 1/5] kbuild: allow multiple asm-offsets file to be generated Clément Léger
2025-01-10 11:12 ` [kvm-unit-tests PATCH v6 2/5] riscv: use asm-offsets to generate SBI_EXT_HSM values Clément Léger
2025-01-15 11:53 ` Andrew Jones
2025-01-10 11:12 ` Clément Léger [this message]
2025-01-10 11:12 ` [kvm-unit-tests PATCH v6 4/5] riscv: lib: Add SBI SSE extension definitions Clément Léger
2025-01-15 12:06 ` Andrew Jones
2025-01-10 11:12 ` [kvm-unit-tests PATCH v6 5/5] riscv: sbi: Add SSE extension tests Clément Léger
2025-01-15 13:12 ` Andrew Jones
2025-01-13 14:11 ` [kvm-unit-tests PATCH v6 0/5] riscv: add SBI " Andrew Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250110111247.2963146-4-cleger@rivosinc.com \
--to=cleger@rivosinc.com \
--cc=ajones@ventanamicro.com \
--cc=andrew.jones@linux.dev \
--cc=apatel@ventanamicro.com \
--cc=atishp@rivosinc.com \
--cc=kvm-riscv@lists.infradead.org \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox