commit 6a02087eceed772220d5966a8a56bc594efb0eaa
parent 857ad8ca08f93337c54c3ae18af494230a3e5b70
Author: Mykyta Holubakha <hilobakho@gmail.com>
Date: Fri, 12 Mar 2021 21:36:22 +0200
gen-stdlib: signals
Diffstat:
2 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/gen-stdlib b/gen-stdlib
@@ -24,6 +24,7 @@ gensrcs_rt() {
'$(PLATFORM)/$(ARCH).ha' \
'$(PLATFORM)/syscallno$(ARCH).ha' \
'$(PLATFORM)/syscalls.ha' \
+ '$(PLATFORM)/signal.ha' \
'$(PLATFORM)/stat.ha' \
'$(ARCH)/jmp.ha' \
ensure.ha \
@@ -62,6 +63,7 @@ rt() {
${stdlib}_asm=\$($cache)/rt/syscall.o \\
\$($cache)/rt/setjmp.o \\
\$($cache)/rt/longjmp.o \\
+ \$($cache)/rt/restore.o \\
\$($cache)/rt/start.o
\$($cache)/rt/syscall.o: \$(STDLIB)/rt/\$(PLATFORM)/syscall\$(ARCH).s
@@ -79,6 +81,11 @@ ${stdlib}_asm=\$($cache)/rt/syscall.o \\
@mkdir -p \$($cache)/rt
@\$(AS) -o \$@ \$<
+\$($cache)/rt/restore.o: \$(STDLIB)/rt/\$(ARCH)/restore.s
+ @printf 'AS \t\$@\n'
+ @mkdir -p \$($cache)/rt
+ @\$(AS) -o \$@ \$<
+
\$($cache)/rt/rt.a: \$($cache)/rt/rt.o \$(${stdlib}_asm)
@printf 'AR\t\$@\n'
@\$(AR) -csr \$@ \$($cache)/rt/rt.o \$(${stdlib}_asm)
diff --git a/mk/stdlib.mk b/mk/stdlib.mk
@@ -11,6 +11,7 @@ stdlib_rt_srcs= \
$(STDLIB)/rt/$(PLATFORM)/$(ARCH).ha \
$(STDLIB)/rt/$(PLATFORM)/syscallno$(ARCH).ha \
$(STDLIB)/rt/$(PLATFORM)/syscalls.ha \
+ $(STDLIB)/rt/$(PLATFORM)/signal.ha \
$(STDLIB)/rt/$(PLATFORM)/stat.ha \
$(STDLIB)/rt/$(ARCH)/jmp.ha \
$(STDLIB)/rt/ensure.ha \
@@ -36,6 +37,7 @@ $(HARECACHE)/rt/start.o: $(STDLIB)/rt/$(PLATFORM)/start$(ARCH).s
stdlib_asm=$(HARECACHE)/rt/syscall.o \
$(HARECACHE)/rt/setjmp.o \
$(HARECACHE)/rt/longjmp.o \
+ $(HARECACHE)/rt/restore.o \
$(HARECACHE)/rt/start.o
$(HARECACHE)/rt/syscall.o: $(STDLIB)/rt/$(PLATFORM)/syscall$(ARCH).s
@@ -53,6 +55,11 @@ $(HARECACHE)/rt/longjmp.o: $(STDLIB)/rt/$(ARCH)/longjmp.s
@mkdir -p $(HARECACHE)/rt
@$(AS) -o $@ $<
+$(HARECACHE)/rt/restore.o: $(STDLIB)/rt/$(ARCH)/restore.s
+ @printf 'AS \t$@\n'
+ @mkdir -p $(HARECACHE)/rt
+ @$(AS) -o $@ $<
+
$(HARECACHE)/rt/rt.a: $(HARECACHE)/rt/rt.o $(stdlib_asm)
@printf 'AR\t$@\n'
@$(AR) -csr $@ $(HARECACHE)/rt/rt.o $(stdlib_asm)
@@ -550,6 +557,7 @@ testlib_rt_srcs= \
$(STDLIB)/rt/$(PLATFORM)/$(ARCH).ha \
$(STDLIB)/rt/$(PLATFORM)/syscallno$(ARCH).ha \
$(STDLIB)/rt/$(PLATFORM)/syscalls.ha \
+ $(STDLIB)/rt/$(PLATFORM)/signal.ha \
$(STDLIB)/rt/$(PLATFORM)/stat.ha \
$(STDLIB)/rt/$(ARCH)/jmp.ha \
$(STDLIB)/rt/ensure.ha \
@@ -578,6 +586,7 @@ $(TESTCACHE)/rt/start.o: $(STDLIB)/rt/$(PLATFORM)/start$(ARCH).s
testlib_asm=$(TESTCACHE)/rt/syscall.o \
$(TESTCACHE)/rt/setjmp.o \
$(TESTCACHE)/rt/longjmp.o \
+ $(TESTCACHE)/rt/restore.o \
$(TESTCACHE)/rt/start.o
$(TESTCACHE)/rt/syscall.o: $(STDLIB)/rt/$(PLATFORM)/syscall$(ARCH).s
@@ -595,6 +604,11 @@ $(TESTCACHE)/rt/longjmp.o: $(STDLIB)/rt/$(ARCH)/longjmp.s
@mkdir -p $(TESTCACHE)/rt
@$(AS) -o $@ $<
+$(TESTCACHE)/rt/restore.o: $(STDLIB)/rt/$(ARCH)/restore.s
+ @printf 'AS \t$@\n'
+ @mkdir -p $(TESTCACHE)/rt
+ @$(AS) -o $@ $<
+
$(TESTCACHE)/rt/rt.a: $(TESTCACHE)/rt/rt.o $(testlib_asm)
@printf 'AR\t$@\n'
@$(AR) -csr $@ $(TESTCACHE)/rt/rt.o $(testlib_asm)