libarchcap is deprecated. In your defence, this was not exactly obvious; there is now a notice at the top of [1].
Thanks for the info, I was not aware of that as the last time I visited this was probably in July.
Long story short, libarchcap was written as part of the Android/Morello...
The user of libarchap is indeed an application ported back from the old Android stack.
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.
Libarchcap shall be removed in V2 and I will follow your advice of using the API directly.
Kind regards, Pawel
On Wed, 4 Jan 2023 at 10:20, Kevin Brodsky kevin.brodsky@arm.com wrote:
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} http://git.morello-project.org/morello/android/platform/external/libarchcap;protocol=https;branch=$%7BSRCBRANCH%7D \
- "
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/-/... [3]
https://git.morello-project.org/morello/llvm-project/-/blob/morello/master/c... [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