libarchcap is deprecated. In your defence, this was not exactly obvious;
there is now a notice at the top of [1].
Long story short, libarchcap was written as part of the Android/Morello...
I see you are making use of libarchcap in patch 13, fortunately it
should be straightforward to use the standard header <cheriintrin.h> [3]
directly instead. Section 7 of the CHERI C/C++ programming guide [4]
gives an overview of what this header provides.
On 20/12/2022 16:29, Pawel Zalewski wrote:
> Add recipe for libarchcap.
>
> Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
> ---
> recipes-core/libarchcap/libarchcap.bb | 30 +++++++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
> create mode 100644 recipes-core/libarchcap/libarchcap.bb
>
> diff --git a/recipes-core/libarchcap/libarchcap.bb b/recipes-core/libarchcap/libarchcap.bb
> new file mode 100644
> index 0000000..dbba851
> --- /dev/null
> +++ b/recipes-core/libarchcap/libarchcap.bb
> @@ -0,0 +1,30 @@
> +inherit llvm-morello-native
> +
> +SUMMARY = "Libarchcap"
> +DESCRIPTION = "Libarchcap"
> +HOMEPAGE = "http://llvm.org"
> +LICENSE = "ARM-Limited"
> +OUTPUTS_NAME = "libarchcap"
> +
> +PROVIDES = "virtual/${OUTPUTS_NAME}"
> +
> +SRC_URI = " \
> + git://git.morello-project.org/morello/android/platform/external/libarchcap;protocol=https;branch=${SRCBRANCH} \
> + "
libarchcap is deprecated. In your defence, this was not exactly obvious;
there is now a notice at the top of [1].
Long story short, libarchcap was written as part of the Android/Morello
development as a higher-level abstraction for capability-related
operations, and was intended to become standardised in some way, but
that did not work out and a decision was made to stop using it. Its use
has been progressively eliminated from the Android codebase (see for
instance [2]) and it is now completely unused on the latest release.
I see you are making use of libarchcap in patch 13, fortunately it
should be straightforward to use the standard header <cheriintrin.h> [3]
directly instead. Section 7 of the CHERI C/C++ programming guide [4]
gives an overview of what this header provides.
I've added Ruben and Oli in Cc as they are directly working on
Android/Morello and know best about libarchcap.
Kevin
[1]
https://git.morello-project.org/morello/android/platform/external/libarchcap/
[2]
https://git.morello-project.org/morello/android/platform/external/libshim/-/merge_requests/37
[3]
https://git.morello-project.org/morello/llvm-project/-/blob/morello/master/clang/lib/Headers/cheriintrin.h
[4] https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-947.pdf
> +
> +
> +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=dc35e02a115ff61453fb21eb8ec7da7f"
> +SRCBRANCH = "morello/mainline"
> +SRCREV = "${AUTOREV}"
> +PV = "${PN}+git${SRCPV}"
> +
> +S = "${WORKDIR}/git"
> +FILES:${PN} = "${includedir}/${OUTPUTS_NAME}"
> +
> +do_configure[noexec] = "1"
> +do_compile[noexec] = "1"
> +
> +do_install(){
> + install -d ${D}${includedir}/${OUTPUTS_NAME}
> + install -m 0744 ${S}/include/* ${D}${includedir}/${OUTPUTS_NAME}
> +}
> \ No newline at end of file