Upgrade to 2.15
Signed-off-by: Ni Cunshu <nicunshu@huawei.com>
This commit is contained in:
parent
f01e51c651
commit
e55870e020
@ -1,26 +0,0 @@
|
||||
From c0a42b47a90003b6d23c8251ec5b27ea849cc279 Mon Sep 17 00:00:00 2001
|
||||
From: doupengda <doupengda@loongson.cn>
|
||||
Date: Wed, 12 Jul 2023 06:29:11 +0000
|
||||
Subject: [PATCH] Resolving loongarch64 build error
|
||||
|
||||
---
|
||||
src/base/linux_syscall_support.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h
|
||||
index b807b11..8400732 100644
|
||||
--- a/src/base/linux_syscall_support.h
|
||||
+++ b/src/base/linux_syscall_support.h
|
||||
@@ -993,6 +993,9 @@ struct kernel_stat {
|
||||
#ifndef __NR_fstatat
|
||||
#define __NR_fstatat 79
|
||||
#endif
|
||||
+#ifndef __NR_fstat
|
||||
+#define __NR_fstat 80
|
||||
+#endif
|
||||
#ifndef __NR_getdents64
|
||||
#define __NR_getdents64 61
|
||||
#endif /* End of loongarch64 defininitions */
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
From 85158d45ec66c34f5903a15c3b74600a925703ef Mon Sep 17 00:00:00 2001
|
||||
From: zhangyiru <zhanguyiru@huawei.com>
|
||||
Date: Thu, 14 Oct 2021 22:16:15 +0800
|
||||
Subject: [PATCH] avoid display problem if memleak exceeds range of int
|
||||
if memleak exceeds range of int, heap checker result is incorrect, so
|
||||
change it to size_t
|
||||
---
|
||||
src/heap-profile-table.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
diff --git a/src/heap-profile-table.cc b/src/heap-profile-table.cc
|
||||
index c3ce41c..1001fb3 100644
|
||||
--- a/src/heap-profile-table.cc
|
||||
+++ b/src/heap-profile-table.cc
|
||||
@@ -517,7 +517,7 @@ HeapProfileTable::Snapshot* HeapProfileTable::NonLiveSnapshot(
|
||||
// Information kept per unique bucket seen
|
||||
struct HeapProfileTable::Snapshot::Entry {
|
||||
int count;
|
||||
- int bytes;
|
||||
+ size_t bytes;
|
||||
Bucket* bucket;
|
||||
Entry() : count(0), bytes(0) { }
|
||||
|
||||
@@ -592,7 +592,7 @@ void HeapProfileTable::Snapshot::ReportLeaks(const char* checker_name,
|
||||
for (int i = 0; i < to_report; i++) {
|
||||
const Entry& e = entries[i];
|
||||
base::RawPrinter printer(buffer, kBufSize);
|
||||
- printer.Printf("Leak of %d bytes in %d objects allocated from:\n",
|
||||
+ printer.Printf("Leak of %zu bytes in %d objects allocated from:\n",
|
||||
e.bytes, e.count);
|
||||
for (int j = 0; j < e.bucket->depth; j++) {
|
||||
const void* pc = e.bucket->stack[j];
|
||||
--
|
||||
2.27.0
|
||||
Binary file not shown.
BIN
gperftools-2.15.tar.gz
Normal file
BIN
gperftools-2.15.tar.gz
Normal file
Binary file not shown.
@ -1,19 +1,16 @@
|
||||
Name: gperftools
|
||||
Version: 2.10
|
||||
Release: 3
|
||||
Version: 2.15
|
||||
Release: 1
|
||||
Summary: high-performance malloc and performance analysis tools
|
||||
|
||||
License: BSD-3-Clause
|
||||
URL: https://github.com/gperftools/gperftools
|
||||
Source0: https://github.com/gperftools/gperftools/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
|
||||
patch1: gperftools-generic-dynamic-tls.patch
|
||||
Patch9000: issue-1122-fix-bus-error-on-aarch64.patch
|
||||
#https://github.com/gperftools/gperftools/issues/1309
|
||||
#Patch9001: skip-arm-in-stacktrace_unittest.patch
|
||||
Patch9000: skip-arm-in-stacktrace_unittest.patch
|
||||
#https://github.com/gperftools/gperftools/issues/890
|
||||
Patch9001: skip-heapchecker-in-arm-arch.patch
|
||||
Patch9002: avoid-exceed-int-range.patch
|
||||
Patch9003: 0001-Resolving-loongarch64-build-error.patch
|
||||
|
||||
BuildRequires: autoconf automake gcc-c++
|
||||
BuildRequires: libtool libunwind-devel perl-generators
|
||||
@ -108,6 +105,9 @@ LD_LIBRARY_PATH=./.libs make check
|
||||
%{_mandir}/man1/*.1.gz
|
||||
|
||||
%changelog
|
||||
* Mon Feb 5 2024 nicunshu <nicunshu@huawei.com> - 2.15-1
|
||||
- Upgrade tp 2.15
|
||||
|
||||
* Wed Jul 12 2023 doupengda <doupengda@loongson.cn> - 2.10-3
|
||||
- Resolving loongarch64 build error
|
||||
|
||||
@ -169,4 +169,4 @@ LD_LIBRARY_PATH=./.libs make check
|
||||
- DESC: peripheral package quality reinforcement: backport bugfix patches from community
|
||||
|
||||
* Tue Mar 5 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7-2
|
||||
- Package init
|
||||
- Package init
|
||||
@ -1,42 +0,0 @@
|
||||
From 42dbe9e2ced74ae7f0f3b70daabf634edf44d3d3 Mon Sep 17 00:00:00 2001
|
||||
From: Zhipeng Xie <xiezhipeng1@huawei.com>
|
||||
Date: Thu, 13 Jun 2019 23:16:43 +0800
|
||||
Subject: [PATCH] issue-1122: fix bus error on aarch64
|
||||
|
||||
According to the ARMv8 Instruction Set Overview, among other documents,
|
||||
"... if SP is used as the base register then the value of the stack
|
||||
pointer prior to adding any offset must be quadword (16 byte) aligned,
|
||||
or else a stack alignment exception will be generated.". So, we pass
|
||||
the child_stack 16 byte aligned to sys_clone.
|
||||
|
||||
Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
|
||||
---
|
||||
src/base/linuxthreads.cc | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/base/linuxthreads.cc b/src/base/linuxthreads.cc
|
||||
index 891e70c..00b1ea3 100644
|
||||
--- a/src/base/linuxthreads.cc
|
||||
+++ b/src/base/linuxthreads.cc
|
||||
@@ -105,6 +105,7 @@ static int local_clone (int (*fn)(void *), void *arg, ...)
|
||||
#define CLONE_STACK_SIZE 4096
|
||||
#endif
|
||||
|
||||
+#define ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1))
|
||||
static int local_clone (int (*fn)(void *), void *arg, ...) {
|
||||
/* Leave 4kB of gap between the callers stack and the new clone. This
|
||||
* should be more than sufficient for the caller to call waitpid() until
|
||||
@@ -120,7 +121,9 @@ static int local_clone (int (*fn)(void *), void *arg, ...) {
|
||||
* is being debugged. This is OK and the error code will be reported
|
||||
* correctly.
|
||||
*/
|
||||
- return sys_clone(fn, (char *)&arg - CLONE_STACK_SIZE,
|
||||
+ void *child_stack = (void *)ALIGN(((unsigned long)&arg - CLONE_STACK_SIZE),
|
||||
+ 16);
|
||||
+ return sys_clone(fn, child_stack,
|
||||
CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_UNTRACED, arg, 0, 0, 0);
|
||||
}
|
||||
|
||||
--
|
||||
1.7.12.4
|
||||
|
||||
@ -8,27 +8,23 @@ function is not affected, so skip it.
|
||||
|
||||
Signed-off-by: zhangyiru <zhangyiru3@huawei.com>
|
||||
---
|
||||
src/tests/stacktrace_unittest.cc | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
src/tests/stacktrace_unittest.cc | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/tests/stacktrace_unittest.cc b/src/tests/stacktrace_unittest.cc
|
||||
index e55a632..85c0bcd 100644
|
||||
index 55cb054..85e5916 100644
|
||||
--- a/src/tests/stacktrace_unittest.cc
|
||||
+++ b/src/tests/stacktrace_unittest.cc
|
||||
@@ -285,8 +285,13 @@ void ATTRIBUTE_NOINLINE CheckStackTrace(int i) {
|
||||
//-----------------------------------------------------------------------//
|
||||
@@ -376,6 +376,10 @@ const char* TEST_bump_stacktrace_implementation(const char*);
|
||||
}
|
||||
|
||||
int main(int argc, char ** argv) {
|
||||
+#if defined(__x86_64__)
|
||||
CheckStackTrace(0);
|
||||
printf("PASS\n");
|
||||
+#else
|
||||
int main(int argc, char** argv) {
|
||||
+#if defined(__aarch64__)
|
||||
+ printf("ARM SKIP\n");
|
||||
+ exit(77);
|
||||
+#endif
|
||||
|
||||
#if TEST_UCONTEXT_BITS
|
||||
leaf_capture_fn = CaptureLeafUContext;
|
||||
if (argc > 1 && strcmp(argv[1], "--skip-ucontext") == 0) {
|
||||
argc--;
|
||||
argv--;
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
2.33.0
|
||||
@ -9,8 +9,8 @@ testcases.
|
||||
Signed-off-by: zhangyiru <zhangyiru3@huawei.com>
|
||||
---
|
||||
src/tests/heap-checker-death_unittest.sh | 5 +++++
|
||||
src/tests/heap-checker_unittest.sh | 5 +++++
|
||||
2 files changed, 10 insertions(+)
|
||||
src/tests/heap-checker_unittest.cc | 4 ++++
|
||||
2 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/src/tests/heap-checker-death_unittest.sh b/src/tests/heap-checker-death_unittest.sh
|
||||
index 69db0c9..deac493 100755
|
||||
@ -19,7 +19,7 @@ index 69db0c9..deac493 100755
|
||||
@@ -34,6 +34,11 @@
|
||||
# Run the heap checker unittest in a mode where it is supposed to crash and
|
||||
# return an error if it doesn't.
|
||||
|
||||
|
||||
+arch=$(uname -r | grep x86)
|
||||
+if [[ $arch == "" ]]; then
|
||||
+# skip this test, libtool define EXIT_SKIP=77
|
||||
@ -28,22 +28,20 @@ index 69db0c9..deac493 100755
|
||||
# We expect BINDIR to be set in the environment.
|
||||
# If not, we set it to some reasonable value.
|
||||
BINDIR="${BINDIR:-.}"
|
||||
diff --git a/src/tests/heap-checker_unittest.sh b/src/tests/heap-checker_unittest.sh
|
||||
index 3c9c0e9..7c27044 100755
|
||||
--- a/src/tests/heap-checker_unittest.sh
|
||||
+++ b/src/tests/heap-checker_unittest.sh
|
||||
@@ -37,6 +37,11 @@
|
||||
# and heap checker via environment variables. This test makes sure
|
||||
# they all play well together.
|
||||
|
||||
+arch=$(uname -r | grep x86)
|
||||
+if [[ $arch == "" ]]; then
|
||||
+# skip this test, libtool define EXIT_SKIP=77
|
||||
+ exit 77
|
||||
+fi
|
||||
# We expect BINDIR and PPROF_PATH to be set in the environment.
|
||||
# If not, we set them to some reasonable values
|
||||
BINDIR="${BINDIR:-.}"
|
||||
--
|
||||
2.27.0
|
||||
diff --git a/src/tests/heap-checker_unittest.cc b/src/tests/heap-checker_unittest.cc
|
||||
index 9a7086c..be483fe 100644
|
||||
--- a/src/tests/heap-checker_unittest.cc
|
||||
+++ b/src/tests/heap-checker_unittest.cc
|
||||
@@ -1412,6 +1412,10 @@ bool spawn_subtest(const char* mode, char** argv) {
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
+#if defined(__aarch64__)
|
||||
+ printf("ARM SKIP\n");
|
||||
+ exit(77);
|
||||
+#endif
|
||||
if (getenv("HEAPCHECK") == nullptr) {
|
||||
CHECK(!HeapLeakChecker::IsActive());
|
||||
|
||||
--
|
||||
2.33.0
|
||||
Loading…
x
Reference in New Issue
Block a user