diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-08-25 10:45:55 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-08-25 10:45:55 +0100 |
commit | 3cf7c3ef441822c889356fd1812ebf2944a59851 (patch) | |
tree | c513fe68548b40365c1c2ebfe35c58ad431cdd77 /dev-libs/libbpf | |
parent | 05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff) |
gentoo resync : 25.08.2020
Diffstat (limited to 'dev-libs/libbpf')
-rw-r--r-- | dev-libs/libbpf/Manifest | 7 | ||||
-rw-r--r-- | dev-libs/libbpf/files/libbpf-0.0.9-fix-hashmap-on-lp32.patch | 49 | ||||
-rw-r--r-- | dev-libs/libbpf/libbpf-0.0.9-r1.ebuild (renamed from dev-libs/libbpf/libbpf-0.0.9.ebuild) | 1 | ||||
-rw-r--r-- | dev-libs/libbpf/libbpf-0.1.0-r1.ebuild | 53 | ||||
-rw-r--r-- | dev-libs/libbpf/libbpf-9999.ebuild | 11 |
5 files changed, 114 insertions, 7 deletions
diff --git a/dev-libs/libbpf/Manifest b/dev-libs/libbpf/Manifest index 8ac742ce2000..2f273a515ac2 100644 --- a/dev-libs/libbpf/Manifest +++ b/dev-libs/libbpf/Manifest @@ -1,13 +1,16 @@ AUX libbpf-0.0.5-paths.patch 997 BLAKE2B e84f5349131a1ab7f976e60baf74fa030b28214daca198db2a6d6b436bdf536aa89e58f39ab10a2cf9dbbf192a159cd1231b68dc3292396e1164950b1514de3d SHA512 47ccd456abf37cdf7e986633eb5a90c16963e5d99608f0c3dd6b035466a0ffe6769001d2bf448c2da88f6427fdac658f364b960a072949523a964ae01836add0 AUX libbpf-0.0.7-paths.patch 1020 BLAKE2B 6a194c3ecf8ec2600e50b02d231a282a489d3d283ac3e91d6d6cd788fb30881fe245aec073175a801f2f030bca03733a50bc31ed6cf4531ee5c364d19a19f590 SHA512 d8447688a4ea8cb8604882d6534c96309e407701627559c229b372e773c46ed9fe2b879677ebd70d30865b27debb18193173a8adb6e24305ecadcd8b57630e2d +AUX libbpf-0.0.9-fix-hashmap-on-lp32.patch 1681 BLAKE2B 9728e6508da6703576d1bdf78dc17a6a2d8952c99a5b1c1bd2aef8a9712a8e29a127b1d2681837effe4a5f1653e68228b44819596dc49ca4970770208e5bf56b SHA512 6c0226e75612bf48297f2a363b8788931b283390c0a7e155b00fc6383ec943b06e28da29b6a43a1e3a76f4599000150a1b3eb352e44a892d07cf830afc32efab AUX libbpf-9999-paths.patch 1020 BLAKE2B 6a194c3ecf8ec2600e50b02d231a282a489d3d283ac3e91d6d6cd788fb30881fe245aec073175a801f2f030bca03733a50bc31ed6cf4531ee5c364d19a19f590 SHA512 d8447688a4ea8cb8604882d6534c96309e407701627559c229b372e773c46ed9fe2b879677ebd70d30865b27debb18193173a8adb6e24305ecadcd8b57630e2d DIST libbpf-0.0.6.tar.gz 213791 BLAKE2B 9f0a08cc7bae41f7fa93d5ba2f535f76ce47fe691efb6bac6257b88a5607deb62fa53f59984d83b6070ccd573c902899f7528b376d9acbfd77317659de6ab061 SHA512 1678133d9a2bd1cf13d4d1f9b83bb3f0642de91e3e3c8d785e2993257035573aff39b9a1a457e73d9c4c1c66b6a52544a8ad06ac560766d335428bb3fc421e71 DIST libbpf-0.0.7.tar.gz 262068 BLAKE2B e77ff25449274881ddb9d32f25cd6ad8988e4524102bd109049ee6cfce3e2753fd99ebe2a080f809a4c5422dbf6b17633e4b0cea156f289bf95b92f8375a273c SHA512 c2cbc869b7e11339deab3152a6e2d0b3bba25da513d18d77fb0a698cbe61d6bd48175a58e7dd7a3695fbf27faf48b4f517ac5d3a3c66c086df2e5d1b73a2595d DIST libbpf-0.0.8.tar.gz 262519 BLAKE2B 2a3620c97834cc23e716476b6966c1c65c1c82064b3ba1ae4ab4906ae362a777d9aa7ae40620f9a259fe969a5a897e97c14d97f627f39c47fa28c89abb1efa9a SHA512 1074fb52b7a158e4e2713c4c7083528ccf2d99b899853078f230234ba112071bfa66e174d8800d36516e26d5bf06da44d100a5b2f866d267f62c9308f431220c DIST libbpf-0.0.9.tar.gz 273726 BLAKE2B 1277ce5b9dab9037e287910c43a71ee33cd6607d7cbe59d40c6930bf49407e04fcdfa6f4795f98202930fd564c1569c2feef0bca73294334f00abd601a288ed0 SHA512 d54bbdee6f7ea83ffef3fd0abe07f71644bcf83e5cf4a307fb4e03d885503617f1af2d324cc869f0f01a92bcb58836780a4802ac4db83b9f037ea196edc1131a +DIST libbpf-0.1.0.tar.gz 666896 BLAKE2B 5923b4c8fb915722f8cc2015ab8f07773a83c4252a59aef784983e46db7cd784e8ff5cc2284d3f5ded6bb92957f8d73b367a35fa1b5693e0cacaaef414a2f410 SHA512 3a5d823e4751408fd9e3bafe0be0a6a78de7dea0114bbd1166d8b3887938eef4e355ba6221b4bded9fc8a8280edede606c8c8078fd40aebdeaebbbb38f4221fe EBUILD libbpf-0.0.6.ebuild 1000 BLAKE2B 160f3b9d575fd2553735b2f26ec0ab8b681a002964ae31eba4e9599f541c867f350d55fe4c6e1dfbe6077790bcf3fe9089166538b02973040b51c7bb37d7ce04 SHA512 95785c36fb8ad5130ba55c1c8b996d5e5c1bafd5eb80879494902f7f1fd3c3760c7604d51f36423e121898955b4879b88bb68bdaade76d0c90a2e0f51d27a269 EBUILD libbpf-0.0.7.ebuild 1005 BLAKE2B b74c9b8a780943160237a87ae3833c996ec5a51685afa4c416ad5ba45f7a932785fd602b51758d2abb9df30e6d5e0b8b44f2ff44c647f473883e696c3eeaadef SHA512 6bf1a72e9bd4e531e35d8914ebac32ce6bac68462dfb5d181b51933108874c65ec50e1de8b31579b5db31d6eb3527159a087bfa730bb2c534dc8bbaed62b9daf EBUILD libbpf-0.0.8.ebuild 1005 BLAKE2B b74c9b8a780943160237a87ae3833c996ec5a51685afa4c416ad5ba45f7a932785fd602b51758d2abb9df30e6d5e0b8b44f2ff44c647f473883e696c3eeaadef SHA512 6bf1a72e9bd4e531e35d8914ebac32ce6bac68462dfb5d181b51933108874c65ec50e1de8b31579b5db31d6eb3527159a087bfa730bb2c534dc8bbaed62b9daf -EBUILD libbpf-0.0.9.ebuild 1005 BLAKE2B b74c9b8a780943160237a87ae3833c996ec5a51685afa4c416ad5ba45f7a932785fd602b51758d2abb9df30e6d5e0b8b44f2ff44c647f473883e696c3eeaadef SHA512 6bf1a72e9bd4e531e35d8914ebac32ce6bac68462dfb5d181b51933108874c65ec50e1de8b31579b5db31d6eb3527159a087bfa730bb2c534dc8bbaed62b9daf -EBUILD libbpf-9999.ebuild 1145 BLAKE2B 93059dc3ec391006275503f57b4f5fa2d9813d98cc199d04105eaa2092b507f651b941d3e54c87165d59996bbf7eb3383cf5b4b36d97e7ed73f9fe46e908d683 SHA512 708c2d50c9bbf1cc296bdad90d5e2790ec071684291816bf77267c7f153578bbaaddad494e2c1b9e9f8778692319391339fb24c17dbb935fdd4c98046269d4ca +EBUILD libbpf-0.0.9-r1.ebuild 1059 BLAKE2B 0605fbeaa1da1de10e51ee0bcaa0b355bcff883734ee0a80ab44bea1960d6ea04960d6207e2a27278bba1716333df10684adebf9ea833f471dc07b981a9ecb37 SHA512 420a4b0daf9178266793113ef97aa90c5cf44a233256b65b8e60829873c90343af8606d17a138589aa5ff728cd42b85afe70f4bf9b3851112edb9a7a0c69c672 +EBUILD libbpf-0.1.0-r1.ebuild 1157 BLAKE2B 876830f71d9f39683088881e1d3f37fe314a2b3057c3cfce1677a82e6f4bfddc2244499ed50c247c1e7221536242ccd06de1aa343406a47479c94935bf03a871 SHA512 bd206fb3c86cd3dca235afc909224219bad0bbcf636b6f690d90460443162710577ad4736ccca2e77376b1668271bdb12c7ad98d5e7e73fa30cae48caf79acdd +EBUILD libbpf-9999.ebuild 1156 BLAKE2B bb01f0ee3f26e065c38295a8ab1d9983ab214f5477d0913c9d15bc703718de6fa22e2f8a4d7933d3c4da1c6c02293fefd774040919ef745f171edecd25f60cdd SHA512 d55c4d73534e97e5b0c2e49486ed89097e482450b26ba098d0ee7f640c53a9b2d6e3b17c70958a619a7714311b40fab1de514542adc1e0d60ecfd60bc2d0d497 MISC metadata.xml 305 BLAKE2B d5a605019f99aa1bb75e405bface00e9006038c60d280bdab31ac9a42e3bcf75e2884b3efc8be4e2a88f7e35769b610f0480ccfba291444e8d4ddaecf73a57f9 SHA512 38df62cf50255dcd59c3ab6961643379e549eb568f2c0d010cd8bf73a93fceb0dbdbb32af7b07f21475b4146f99e684aad6928963e56ea8d6777b8f63f8d8a41 diff --git a/dev-libs/libbpf/files/libbpf-0.0.9-fix-hashmap-on-lp32.patch b/dev-libs/libbpf/files/libbpf-0.0.9-fix-hashmap-on-lp32.patch new file mode 100644 index 000000000000..98baf1cd6051 --- /dev/null +++ b/dev-libs/libbpf/files/libbpf-0.0.9-fix-hashmap-on-lp32.patch @@ -0,0 +1,49 @@ +From cd016d93f7bf280fe6f2dfc723257786dd3ffd00 Mon Sep 17 00:00:00 2001 +From: Jakub Bogusz <qboosh@pld-linux.org> +Date: Thu, 9 Jul 2020 15:57:23 -0700 +Subject: [PATCH] libbpf: Fix libbpf hashmap on (I)LP32 architectures + +On ILP32, 64-bit result was shifted by value calculated for 32-bit long type +and returned value was much outside hashmap capacity. +As advised by Andrii Nakryiko, this patch uses different hashing variant for +architectures with size_t shorter than long long. + +Fixes: e3b924224028 ("libbpf: add resizable non-thread safe internal hashmap") +Signed-off-by: Jakub Bogusz <qboosh@pld-linux.org> +Signed-off-by: Andrii Nakryiko <andriin@fb.com> +Signed-off-by: Alexei Starovoitov <ast@kernel.org> +Link: https://lore.kernel.org/bpf/20200709225723.1069937-1-andriin@fb.com +--- + hashmap.h | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/hashmap.h b/hashmap.h +index df59fd4..e0af36b 100644 +--- a/hashmap.h ++++ b/hashmap.h +@@ -11,14 +11,18 @@ + #include <stdbool.h> + #include <stddef.h> + #include <limits.h> +-#ifndef __WORDSIZE +-#define __WORDSIZE (__SIZEOF_LONG__ * 8) +-#endif + + static inline size_t hash_bits(size_t h, int bits) + { + /* shuffle bits and return requested number of upper bits */ +- return (h * 11400714819323198485llu) >> (__WORDSIZE - bits); ++#if (__SIZEOF_SIZE_T__ == __SIZEOF_LONG_LONG__) ++ /* LP64 case */ ++ return (h * 11400714819323198485llu) >> (__SIZEOF_LONG_LONG__ * 8 - bits); ++#elif (__SIZEOF_SIZE_T__ <= __SIZEOF_LONG__) ++ return (h * 2654435769lu) >> (__SIZEOF_LONG__ * 8 - bits); ++#else ++# error "Unsupported size_t size" ++#endif + } + + typedef size_t (*hashmap_hash_fn)(const void *key, void *ctx); +-- +2.26.2 + diff --git a/dev-libs/libbpf/libbpf-0.0.9.ebuild b/dev-libs/libbpf/libbpf-0.0.9-r1.ebuild index 43363c91efae..b01f2de058d8 100644 --- a/dev-libs/libbpf/libbpf-0.0.9.ebuild +++ b/dev-libs/libbpf/libbpf-0.0.9-r1.ebuild @@ -24,6 +24,7 @@ S="${WORKDIR}/${P}/src" PATCHES=( "${FILESDIR}/libbpf-0.0.7-paths.patch" + "${FILESDIR}/libbpf-0.0.9-fix-hashmap-on-lp32.patch" ) src_compile() { diff --git a/dev-libs/libbpf/libbpf-0.1.0-r1.ebuild b/dev-libs/libbpf/libbpf-0.1.0-r1.ebuild new file mode 100644 index 000000000000..1c2508425132 --- /dev/null +++ b/dev-libs/libbpf/libbpf-0.1.0-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic toolchain-funcs + +if [[ ${PV} =~ [9]{4,} ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/libbpf/libbpf.git" +else + SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi +S="${WORKDIR}/${P}/src" + +HOMEPAGE="https://github.com/libbpf/libbpf" +DESCRIPTION="Stand-alone build of libbpf from the Linux kernel" + +LICENSE="GPL-2 LGPL-2.1 BSD-2" +SLOT="0/${PV}" +IUSE="+static-libs" + +COMMON_DEPEND="virtual/libelf + !<=dev-util/bcc-0.7.0" +DEPEND="${COMMON_DEPEND} + sys-kernel/linux-headers" +RDEPEND="${COMMON_DEPEND}" + +PATCHES=( + "${FILESDIR}/libbpf-0.0.7-paths.patch" +) + +src_compile() { + append-cflags -fPIC + emake \ + BUILD_SHARED=y \ + LIBSUBDIR="$(get_libdir)" \ + $(usex static-libs 'BUILD_STATIC=y' '' '' '') \ + CC="$(tc-getCC)" +} + +src_install() { + emake \ + BUILD_SHARED=y \ + LIBSUBDIR="$(get_libdir)" \ + DESTDIR="${D}" \ + $(usex static-libs 'BUILD_STATIC=y' '' '' '') \ + install install_uapi_headers + + insinto /usr/$(get_libdir)/pkgconfig + doins ${PN}.pc +} diff --git a/dev-libs/libbpf/libbpf-9999.ebuild b/dev-libs/libbpf/libbpf-9999.ebuild index 08e5746d4bf0..6697b1c3a061 100644 --- a/dev-libs/libbpf/libbpf-9999.ebuild +++ b/dev-libs/libbpf/libbpf-9999.ebuild @@ -1,9 +1,10 @@ -# Copyright 2019 Gentoo Authors +# Copyright 2019-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit toolchain-funcs +inherit flag-o-matic toolchain-funcs + if [[ ${PV} =~ [9]{4,} ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/libbpf/libbpf.git" @@ -11,8 +12,9 @@ else SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64 ~arm64 ~x86" fi +S="${WORKDIR}/${P}/src" -HOMEPAGE="https://www.kernel.org/doc/html/latest/bpf/bpf_devel_QA.html" +HOMEPAGE="https://github.com/libbpf/libbpf" DESCRIPTION="Stand-alone build of libbpf from the Linux kernel" LICENSE="GPL-2 LGPL-2.1 BSD-2" @@ -25,13 +27,12 @@ DEPEND="${COMMON_DEPEND} sys-kernel/linux-headers" RDEPEND="${COMMON_DEPEND}" -S="${WORKDIR}/${P}/src" - PATCHES=( "${FILESDIR}/libbpf-9999-paths.patch" ) src_compile() { + append-cflags -fPIC emake \ BUILD_SHARED=y \ LIBSUBDIR="$(get_libdir)" \ |