From a39fba660c64cb26c08017939028ec07dd13e103ce3cf32bda55b6f1f5ad75fe Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 27 Oct 2020 13:03:38 +0000 Subject: [PATCH] - update to 1.18_15g040fd7f (bsc#1177921): * btf_encoder: Support cross-compiled ELF binaries with different endianness * strings: use BTF's string APIs for strings management * strings: Rename strings.h to avoid clashing with /usr/include/strings.h * dwarf_loader: increase the size of lookup hash map * btf_encoder: revamp how per-CPU variables are encoded * btf_encoder: Discard CUs after BTF encoding * btf_encoder: Fix emitting __ARRAY_SIZE_TYPE__ as index range type * btf_encoder: Use libbpf APIs to encode BTF type info * btf_loader: Use libbpf to load BTF * dwarves: Expose and maintain active debug info loader operations * btf_encoder: detect BTF encoding errors and exit * libbpf: Update to latest libbpf version * dwarf_loader: Conditionally define DW_AT_alignment * pahole: Implement --packed * man-pages: Fix 'coimbine' typo - remove libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch (upstream) OBS-URL: https://build.opensuse.org/package/show/devel:tools/dwarves?expand=0&rev=49 --- dwarves-1.18.tar.sign | 7 --- dwarves-1.18.tar.xz | 3 -- dwarves-1.18_15g040fd7f.tar.xz | 3 ++ dwarves.changes | 21 +++++++++ dwarves.spec | 10 ++--- ...bbpf-hashmap-on-I-LP32-architectures.patch | 45 ------------------- 6 files changed, 28 insertions(+), 61 deletions(-) delete mode 100644 dwarves-1.18.tar.sign delete mode 100644 dwarves-1.18.tar.xz create mode 100644 dwarves-1.18_15g040fd7f.tar.xz delete mode 100644 libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch diff --git a/dwarves-1.18.tar.sign b/dwarves-1.18.tar.sign deleted file mode 100644 index 2ae8dd0..0000000 --- a/dwarves-1.18.tar.sign +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCX3eWuAAKCRCyPKLppCJ+ -J55QAQDLwpxXtKxPlDDj3rYt80cZUZpC61b++LYBLmf3n/jFIwD/ec6iNeLGJkAR -QvmKuS7pvduzR8epg0ORx/Ahoze+qg4= -=CWxS ------END PGP SIGNATURE----- diff --git a/dwarves-1.18.tar.xz b/dwarves-1.18.tar.xz deleted file mode 100644 index 2320eb5..0000000 --- a/dwarves-1.18.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95aaec4c1d51816f6b2ce17fb80ddc95d48578e6bbdeafead3ecaf33a323d2c9 -size 324912 diff --git a/dwarves-1.18_15g040fd7f.tar.xz b/dwarves-1.18_15g040fd7f.tar.xz new file mode 100644 index 0000000..c71faa6 --- /dev/null +++ b/dwarves-1.18_15g040fd7f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e45312179712af2cec2bef0e6d52eec2d7312b8ae43dda02a08b690e81cc90a4 +size 682236 diff --git a/dwarves.changes b/dwarves.changes index c7a25ba..6670131 100644 --- a/dwarves.changes +++ b/dwarves.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Tue Oct 27 13:00:23 UTC 2020 - Dirk Mueller + +- update to 1.18_15g040fd7f (bsc#1177921): + * btf_encoder: Support cross-compiled ELF binaries with different endianness + * strings: use BTF's string APIs for strings management + * strings: Rename strings.h to avoid clashing with /usr/include/strings.h + * dwarf_loader: increase the size of lookup hash map + * btf_encoder: revamp how per-CPU variables are encoded + * btf_encoder: Discard CUs after BTF encoding + * btf_encoder: Fix emitting __ARRAY_SIZE_TYPE__ as index range type + * btf_encoder: Use libbpf APIs to encode BTF type info + * btf_loader: Use libbpf to load BTF + * dwarves: Expose and maintain active debug info loader operations + * btf_encoder: detect BTF encoding errors and exit + * libbpf: Update to latest libbpf version + * dwarf_loader: Conditionally define DW_AT_alignment + * pahole: Implement --packed + * man-pages: Fix 'coimbine' typo +- remove libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch (upstream) + ------------------------------------------------------------------- Fri Oct 2 22:00:47 UTC 2020 - Jan Engelhardt diff --git a/dwarves.spec b/dwarves.spec index 8c98b67..f2935ce 100644 --- a/dwarves.spec +++ b/dwarves.spec @@ -17,18 +17,16 @@ Name: dwarves -Version: 1.18 +Version: 1.18_15g040fd7f Release: 0 Summary: DWARF utilities License: GPL-2.0-only Group: Development/Tools/Debuggers URL: http://acmel.wordpress.com/ -#Git-Clone: git://git.kernel.org/pub/scm/devel/pahole/pahole -#Git-Web: http://git.kernel.org/cgit/devel/pahole/pahole.git -Source: https://fedorapeople.org/~acme/dwarves/dwarves-%version.tar.xz -Source2: https://fedorapeople.org/~acme/dwarves/dwarves-%version.tar.sign +# Source: https://fedorapeople.org/~acme/dwarves/dwarves-%version.tar.xz +Source: dwarves-%version.tar.xz +# Source2: https://fedorapeople.org/~acme/dwarves/dwarves-%version.tar.sign Source9: baselibs.conf -Patch1: libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch BuildRequires: cmake BuildRequires: libdw-devel >= 0.170 %if 0%{?suse_version} < 1550 diff --git a/libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch b/libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch deleted file mode 100644 index 9aae170..0000000 --- a/libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Jakub Bogusz -Date: Thu, 9 Jul 2020 15:57:23 -0700 -Subject: libbpf: Fix libbpf hashmap on (I)LP32 architectures -Git-commit: b2f9f1535bb93ee5fa2ea30ac1c26fa0d676154c -Patch-mainline: 5.8-rc5 -References: x86_32 crashes fix - -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 -Signed-off-by: Andrii Nakryiko -Signed-off-by: Alexei Starovoitov -Link: https://lore.kernel.org/bpf/20200709225723.1069937-1-andriin@fb.com -Signed-off-by: Jiri Slaby ---- - lib/bpf/src/hashmap.h | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - ---- a/lib/bpf/src/hashmap.h -+++ b/lib/bpf/src/hashmap.h -@@ -16,11 +16,19 @@ - #include - #endif - #include "libbpf_internal.h" -+#include - - 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);