From 2c87c68a5db23e633e39a4df49c353939044e0e2 Mon Sep 17 00:00:00 2001 From: Johannes Schlatow Date: Wed, 16 Jun 2021 14:29:38 +0200 Subject: [PATCH] depot: add ffi api and src archives Fixes genodelabs/genode#4201 --- repos/libports/lib/import/import-ffi.mk | 6 ++--- repos/libports/lib/mk/spec/arm/ffi.mk | 2 +- repos/libports/lib/mk/spec/arm_64/ffi.mk | 2 +- repos/libports/lib/mk/spec/x86_64/ffi.mk | 2 +- repos/libports/lib/symbols/ffi | 27 +++++++++++++++++++++++ repos/libports/ports/ffi.hash | 2 +- repos/libports/ports/ffi.port | 20 ++++++++--------- repos/libports/recipes/api/ffi/content.mk | 15 +++++++++++++ repos/libports/recipes/api/ffi/hash | 1 + repos/libports/recipes/src/ffi/api | 1 + repos/libports/recipes/src/ffi/content.mk | 18 +++++++++++++++ repos/libports/recipes/src/ffi/hash | 1 + repos/libports/recipes/src/ffi/used_apis | 1 + 13 files changed, 81 insertions(+), 17 deletions(-) create mode 100644 repos/libports/lib/symbols/ffi create mode 100644 repos/libports/recipes/api/ffi/content.mk create mode 100644 repos/libports/recipes/api/ffi/hash create mode 100644 repos/libports/recipes/src/ffi/api create mode 100644 repos/libports/recipes/src/ffi/content.mk create mode 100644 repos/libports/recipes/src/ffi/hash create mode 100644 repos/libports/recipes/src/ffi/used_apis diff --git a/repos/libports/lib/import/import-ffi.mk b/repos/libports/lib/import/import-ffi.mk index 92fdaa37cd..49530ae2c4 100644 --- a/repos/libports/lib/import/import-ffi.mk +++ b/repos/libports/lib/import/import-ffi.mk @@ -1,11 +1,11 @@ ifeq ($(filter-out $(SPECS),x86_64),) -INC_DIR += $(call select_from_ports,ffi)/include/ffi/x86_64 +INC_DIR += $(call select_from_ports,ffi)/include/ffi/spec/x86_64 endif ifeq ($(filter-out $(SPECS),arm),) -INC_DIR += $(call select_from_ports,ffi)/include/ffi/arm +INC_DIR += $(call select_from_ports,ffi)/include/ffi/spec/arm endif ifeq ($(filter-out $(SPECS),arm_64),) -INC_DIR += $(call select_from_ports,ffi)/include/ffi/arm_64 +INC_DIR += $(call select_from_ports,ffi)/include/ffi/spec/arm_64 endif diff --git a/repos/libports/lib/mk/spec/arm/ffi.mk b/repos/libports/lib/mk/spec/arm/ffi.mk index 7683855dbe..9f664fe11c 100644 --- a/repos/libports/lib/mk/spec/arm/ffi.mk +++ b/repos/libports/lib/mk/spec/arm/ffi.mk @@ -6,7 +6,7 @@ FFI_PORT = $(call select_from_ports,ffi)/src/lib/ffi INC_DIR = $(FFI_PORT)/include -INC_DIR += $(call select_from_ports,ffi)/include/ffi/arm \ +INC_DIR += $(call select_from_ports,ffi)/include/ffi/spec/arm \ $(REP_DIR)/src/lib/ffi CC_OPT = -DFFI_NO_RAW_API=0 diff --git a/repos/libports/lib/mk/spec/arm_64/ffi.mk b/repos/libports/lib/mk/spec/arm_64/ffi.mk index e090c5a7d4..c27567b9bd 100644 --- a/repos/libports/lib/mk/spec/arm_64/ffi.mk +++ b/repos/libports/lib/mk/spec/arm_64/ffi.mk @@ -6,7 +6,7 @@ FFI_PORT = $(call select_from_ports,ffi)/src/lib/ffi INC_DIR = $(FFI_PORT)/include -INC_DIR += $(call select_from_ports,ffi)/include/ffi/arm_64 \ +INC_DIR += $(call select_from_ports,ffi)/include/ffi/spec/arm_64 \ $(REP_DIR)/src/lib/ffi CC_OPT = -DFFI_NO_RAW_API=0 diff --git a/repos/libports/lib/mk/spec/x86_64/ffi.mk b/repos/libports/lib/mk/spec/x86_64/ffi.mk index 6d52c4d147..fc2749ca1e 100644 --- a/repos/libports/lib/mk/spec/x86_64/ffi.mk +++ b/repos/libports/lib/mk/spec/x86_64/ffi.mk @@ -6,7 +6,7 @@ FFI_PORT = $(call select_from_ports,ffi)/src/lib/ffi INC_DIR = $(FFI_PORT)/include -INC_DIR += $(call select_from_ports,ffi)/include/ffi/x86_64 \ +INC_DIR += $(call select_from_ports,ffi)/include/ffi/spec/x86_64 \ $(REP_DIR)/src/lib/ffi CC_OPT = -DFFI_NATAIVE_RAW_API=1 -DFFI_NO_RAW_API=0 diff --git a/repos/libports/lib/symbols/ffi b/repos/libports/lib/symbols/ffi new file mode 100644 index 0000000000..580dd3df7d --- /dev/null +++ b/repos/libports/lib/symbols/ffi @@ -0,0 +1,27 @@ +__gnu_Unwind_Find_exidx T +dl_unwind_find_exidx W +ffi_call T +ffi_call_unix64 T +ffi_closure_unix64 T +ffi_closure_unix64_inner T +ffi_prep_cif T +ffi_prep_cif_machdep T +ffi_prep_cif_var T +ffi_prep_closure T +ffi_prep_closure_loc T +ffi_type_complex_double D 24 +ffi_type_complex_float D 24 +ffi_type_complex_longdouble D 24 +ffi_type_double R 24 +ffi_type_float R 24 +ffi_type_longdouble R 24 +ffi_type_pointer R 24 +ffi_type_sint16 R 24 +ffi_type_sint32 R 24 +ffi_type_sint64 R 24 +ffi_type_sint8 R 24 +ffi_type_uint16 R 24 +ffi_type_uint32 R 24 +ffi_type_uint64 R 24 +ffi_type_uint8 R 24 +ffi_type_void R 24 diff --git a/repos/libports/ports/ffi.hash b/repos/libports/ports/ffi.hash index 8320dae3d9..83163069c1 100644 --- a/repos/libports/ports/ffi.hash +++ b/repos/libports/ports/ffi.hash @@ -1 +1 @@ -741f239d1a63d7402663db05ed1058e63f2aa105 +5212feb1aca2937a6e3a9c09d9cf7c1a954a8b69 diff --git a/repos/libports/ports/ffi.port b/repos/libports/ports/ffi.port index c2ac254d91..73f3c71bd7 100644 --- a/repos/libports/ports/ffi.port +++ b/repos/libports/ports/ffi.port @@ -8,16 +8,16 @@ DIR(ffi) := src/lib/ffi $(call check_tool,sed) -DIRS := include/ffi/x86_64 include/ffi/arm include/ffi/arm_64 -DIR_CONTENT(include/ffi/x86_64) := src/lib/ffi/src/x86/ffitarget.h -DIR_CONTENT(include/ffi/arm) := src/lib/ffi/src/arm/ffitarget.h -DIR_CONTENT(include/ffi/arm_64) := src/lib/ffi/src/aarch64/ffitarget.h +DIRS := include/ffi/spec/x86_64 include/ffi/spec/arm include/ffi/spec/arm_64 +DIR_CONTENT(include/ffi/spec/x86_64) := src/lib/ffi/src/x86/ffitarget.h +DIR_CONTENT(include/ffi/spec/arm) := src/lib/ffi/src/arm/ffitarget.h +DIR_CONTENT(include/ffi/spec/arm_64) := src/lib/ffi/src/aarch64/ffitarget.h gen_inc := ffi.h -gen_files := $(addprefix include/ffi/x86_64/,$(gen_inc)) \ - $(addprefix include/ffi/arm/,$(gen_inc)) \ - $(addprefix include/ffi/arm_64/,$(gen_inc)) +gen_files := $(addprefix include/ffi/spec/x86_64/,$(gen_inc)) \ + $(addprefix include/ffi/spec/arm/,$(gen_inc)) \ + $(addprefix include/ffi/spec/arm_64/,$(gen_inc)) default: $(gen_files) @@ -43,17 +43,17 @@ subst_ARM_64 := \ apply_substitutions = $(VERBOSE)for i in $(2); do sed -i "s/$$i/g" $(1); done -include/ffi/x86_64/ffi.h: +include/ffi/spec/x86_64/ffi.h: @$(MSG_GENERATE)$@ $(VERBOSE)cp src/lib/ffi/include/ffi.h.in $@ $(call apply_substitutions,$@,$(subst_x86_64)) -include/ffi/arm/ffi.h: +include/ffi/spec/arm/ffi.h: @$(MSG_GENERATE)$@ $(VERBOSE)cp src/lib/ffi/include/ffi.h.in $@ $(call apply_substitutions,$@,$(subst_ARM)) -include/ffi/arm_64/ffi.h: +include/ffi/spec/arm_64/ffi.h: @$(MSG_GENERATE)$@ $(VERBOSE)cp src/lib/ffi/include/ffi.h.in $@ $(call apply_substitutions,$@,$(subst_ARM_64)) diff --git a/repos/libports/recipes/api/ffi/content.mk b/repos/libports/recipes/api/ffi/content.mk new file mode 100644 index 0000000000..fa1e37bb25 --- /dev/null +++ b/repos/libports/recipes/api/ffi/content.mk @@ -0,0 +1,15 @@ +MIRROR_FROM_REP_DIR := lib/symbols/ffi + +content: LICENSE include $(MIRROR_FROM_REP_DIR) + +PORT_DIR := $(call port_dir,$(REP_DIR)/ports/ffi) + +$(MIRROR_FROM_REP_DIR): + $(mirror_from_rep_dir) + +include: + mkdir -p $@ + cp -r $(PORT_DIR)/include/ffi/* $@ + +LICENSE: + cp $(PORT_DIR)/src/lib/ffi/LICENSE $@ diff --git a/repos/libports/recipes/api/ffi/hash b/repos/libports/recipes/api/ffi/hash new file mode 100644 index 0000000000..d4cecd1ed4 --- /dev/null +++ b/repos/libports/recipes/api/ffi/hash @@ -0,0 +1 @@ +2021-06-15 02d813f3a75e190f88e8cb1e0f3e5b5bc8c15590 diff --git a/repos/libports/recipes/src/ffi/api b/repos/libports/recipes/src/ffi/api new file mode 100644 index 0000000000..f28828893a --- /dev/null +++ b/repos/libports/recipes/src/ffi/api @@ -0,0 +1 @@ +ffi diff --git a/repos/libports/recipes/src/ffi/content.mk b/repos/libports/recipes/src/ffi/content.mk new file mode 100644 index 0000000000..1fc179b162 --- /dev/null +++ b/repos/libports/recipes/src/ffi/content.mk @@ -0,0 +1,18 @@ +MIRROR_FROM_REP_DIR := lib/mk/spec/arm/ffi.mk \ + lib/mk/spec/arm_64/ffi.mk \ + lib/mk/spec/x86_64/ffi.mk +content: src/lib/ffi $(MIRROR_FROM_REP_DIR) LICENSE + +PORT_DIR := $(call port_dir,$(REP_DIR)/ports/ffi) + +src/lib/ffi: + mkdir -p $@ + cp -r $(PORT_DIR)/src/lib/ffi/* $@ + cp -r $(REP_DIR)/src/lib/ffi/* $@ + echo "LIBS = ffi" > $@/target.mk + +$(MIRROR_FROM_REP_DIR): + $(mirror_from_rep_dir) + +LICENSE: + cp $(PORT_DIR)/src/lib/ffi/LICENSE $@ diff --git a/repos/libports/recipes/src/ffi/hash b/repos/libports/recipes/src/ffi/hash new file mode 100644 index 0000000000..18ae651c17 --- /dev/null +++ b/repos/libports/recipes/src/ffi/hash @@ -0,0 +1 @@ +2021-06-15 09d038e168a4af8ae2720e0c25b299ea94eac902 diff --git a/repos/libports/recipes/src/ffi/used_apis b/repos/libports/recipes/src/ffi/used_apis new file mode 100644 index 0000000000..0a9ce4f3e2 --- /dev/null +++ b/repos/libports/recipes/src/ffi/used_apis @@ -0,0 +1 @@ +libc