|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH] lib/syscall_shim: Generate syscall_nrs2.h
Hi Simon, looks good, thanks.
-- Felipe
Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx>
On 07.02.20, 10:04, "Simon Kuenzer" <simon.kuenzer@xxxxxxxxx> wrote:
Generates a second header containing the syscall numbers. Instead of
using the format SYS_<name>, it introduces the syscall number
definitions with __NR_<name>. This can be handy for some libc and
language environment ports.
Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
---
lib/syscall_shim/Makefile.uk | 7 ++++++-
lib/syscall_shim/gen_syscall_nrs2.awk | 13 +++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)
create mode 100644 lib/syscall_shim/gen_syscall_nrs2.awk
diff --git a/lib/syscall_shim/Makefile.uk b/lib/syscall_shim/Makefile.uk
index 17de49cd..c01ee494 100644
--- a/lib/syscall_shim/Makefile.uk
+++ b/lib/syscall_shim/Makefile.uk
@@ -2,7 +2,7 @@ $(eval $(call
addlib_s,libsyscall_shim,$(CONFIG_LIBSYSCALL_SHIM)))
LIBSYSCALL_SHIM_INCLUDES_PATH := $(LIBSYSCALL_SHIM_BUILD)/include/uk/bits
-LIBSYSCALL_SHIM_PHONY_SRC := syscall_map.h syscall_stubs.h syscall_nrs.h
+LIBSYSCALL_SHIM_PHONY_SRC := syscall_map.h syscall_stubs.h syscall_nrs.h
syscall_nrs2.h
LIBSYSCALL_SHIM_PHONY_SRC := $(addprefix
$(LIBSYSCALL_SHIM_INCLUDES_PATH)/, $(LIBSYSCALL_SHIM_PHONY_SRC))
LIBSYSCALL_SHIM_PHONY_SRC +=
$(LIBSYSCALL_SHIM_BUILD)/provided_syscalls.h.in
LIBSYSCALL_SHIM_PHONY_SRC_NEW := $(addsuffix .new,
$(LIBSYSCALL_SHIM_PHONY_SRC))
@@ -31,6 +31,11 @@ $(LIBSYSCALL_SHIM_INCLUDES_PATH)/syscall_nrs.h.new:
$(LIBSYSCALL_SHIM_BASE)/gen_
$(AWK) -f $(LIBSYSCALL_SHIM_BASE)/gen_syscall_nrs.awk \
$(LIBSYSCALL_SHIM_TEMPL) > $@)
+$(LIBSYSCALL_SHIM_INCLUDES_PATH)/syscall_nrs2.h.new:
$(LIBSYSCALL_SHIM_BASE)/gen_syscall_nrs2.awk $(LIBSYSCALL_SHIM_TEMPL)
+ $(call build_cmd,GEN,libsyscall_shim,$(notdir $@), \
+ $(AWK) -f $(LIBSYSCALL_SHIM_BASE)/gen_syscall_nrs2.awk \
+ $(LIBSYSCALL_SHIM_TEMPL) > $@)
+
$(LIBSYSCALL_SHIM_INCLUDES_PATH)/syscall_map.h.new:
$(LIBSYSCALL_SHIM_BASE)/gen_syscall_map.awk $(LIBSYSCALL_SHIM_TEMPL)
$(call build_cmd,GEN,libsyscall_shim,$(notdir $@), \
$(AWK) -f $(LIBSYSCALL_SHIM_BASE)/gen_syscall_map.awk \
diff --git a/lib/syscall_shim/gen_syscall_nrs2.awk
b/lib/syscall_shim/gen_syscall_nrs2.awk
new file mode 100644
index 00000000..fe658dcc
--- /dev/null
+++ b/lib/syscall_shim/gen_syscall_nrs2.awk
@@ -0,0 +1,13 @@
+BEGIN {
+ print "/* Automatically generated file; DO NOT EDIT */"
+ print "#ifndef __UK_SYSCALL_NRS_2_H__"
+ print "#define __UK_SYSCALL_NRS_2_H__"
+}
+
+/#define __NR_/{
+ printf "#define __NR_%s\t\t%s\n", substr($2,6),$3
+}
+
+END {
+ print "#endif /* __UK_SYSCALL_NRS_2_H__ */"
+}
--
2.20.1
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |