[SATYR PATCH 2/3] Remove sr_gdb_stacktrace_get_duplication_hash
Martin Milata
mmilata at redhat.com
Thu Jun 27 16:35:53 UTC 2013
Function sr_thread_get_duphash should be used instead.
Signed-off-by: Martin Milata <mmilata at redhat.com>
---
include/gdb/stacktrace.h | 12 ------------
lib/gdb_stacktrace.c | 15 ---------------
python/py_gdb_stacktrace.c | 20 --------------------
python/py_gdb_stacktrace.h | 1 -
4 files changed, 48 deletions(-)
diff --git a/include/gdb/stacktrace.h b/include/gdb/stacktrace.h
index ed63f82..bd55a0f 100644
--- a/include/gdb/stacktrace.h
+++ b/include/gdb/stacktrace.h
@@ -204,18 +204,6 @@ struct sr_gdb_frame *
sr_gdb_stacktrace_get_crash_frame(struct sr_gdb_stacktrace *stacktrace);
/**
- * Calculates the duplication hash string of the stacktrace.
- * @param stacktrace
- * It must be non-NULL pointer. It's not modified by calling this
- * function.
- * @returns
- * This function never returns NULL. The caller is responsible for
- * releasing the returned memory using function free().
- */
-char *
-sr_gdb_stacktrace_get_duplication_hash(struct sr_gdb_stacktrace *stacktrace);
-
-/**
* Parses a textual stack trace and puts it into a structure. If
* parsing fails, the input parameter is not changed and NULL is
* returned.
diff --git a/lib/gdb_stacktrace.c b/lib/gdb_stacktrace.c
index 9950c69..41a4b8d 100644
--- a/lib/gdb_stacktrace.c
+++ b/lib/gdb_stacktrace.c
@@ -363,21 +363,6 @@ sr_gdb_stacktrace_get_crash_frame(struct sr_gdb_stacktrace *stacktrace)
return crash_frame;
}
-char *
-sr_gdb_stacktrace_get_duplication_hash(struct sr_gdb_stacktrace *stacktrace)
-{
- stacktrace = sr_gdb_stacktrace_dup(stacktrace);
- struct sr_gdb_thread *crash_thread = sr_gdb_stacktrace_find_crash_thread(stacktrace);
- if (crash_thread)
- sr_gdb_stacktrace_remove_threads_except_one(stacktrace, crash_thread);
-
- sr_normalize_gdb_stacktrace(stacktrace);
- sr_gdb_stacktrace_limit_frame_depth(stacktrace, 3);
- char *hash = sr_gdb_stacktrace_to_text(stacktrace, false);
- sr_gdb_stacktrace_free(stacktrace);
- return hash;
-}
-
struct sr_gdb_stacktrace *
sr_gdb_stacktrace_parse(const char **input,
struct sr_location *location)
diff --git a/python/py_gdb_stacktrace.c b/python/py_gdb_stacktrace.c
index 8cd82fb..bde65d2 100644
--- a/python/py_gdb_stacktrace.c
+++ b/python/py_gdb_stacktrace.c
@@ -44,10 +44,6 @@
"Computes the quality from stacktrace, crash thread and " \
"frames around the crash."
-#define b_get_duplication_hash_doc "Usage: stacktrace.get_duplication_hash()\n" \
- "Returns: string - duplication hash\n" \
- "Computes the duplication hash used to compare stacktraces."
-
#define b_find_address_doc "Usage: stacktrace.find_address(address)\n" \
"address: long - address to find" \
"Returns: satyr.Sharedlib object or None if not found\n" \
@@ -87,7 +83,6 @@ gdb_stacktrace_methods[] =
{ "limit_frame_depth", sr_py_gdb_stacktrace_limit_frame_depth, METH_VARARGS, b_limit_frame_depth_doc },
{ "quality_simple", sr_py_gdb_stacktrace_quality_simple, METH_NOARGS, b_quality_simple_doc },
{ "quality_complex", sr_py_gdb_stacktrace_quality_complex, METH_NOARGS, b_quality_complex_doc },
- { "get_duplication_hash", sr_py_gdb_stacktrace_get_duplication_hash, METH_NOARGS, b_get_duplication_hash_doc },
{ "find_address", sr_py_gdb_stacktrace_find_address, METH_VARARGS, b_find_address_doc },
{ "set_libnames", sr_py_gdb_stacktrace_set_libnames, METH_NOARGS, b_set_libnames_doc },
{ "normalize", sr_py_gdb_stacktrace_normalize, METH_NOARGS, b_normalize_doc },
@@ -571,21 +566,6 @@ sr_py_gdb_stacktrace_quality_complex(PyObject *self, PyObject *args)
}
PyObject *
-sr_py_gdb_stacktrace_get_duplication_hash(PyObject *self, PyObject *args)
-{
- struct sr_py_gdb_stacktrace *this = (struct sr_py_gdb_stacktrace*)self;
- if (gdb_prepare_linked_lists(this) < 0)
- return NULL;
-
- /* does not destroy the linked list */
- char *duphash = sr_gdb_stacktrace_get_duplication_hash(this->stacktrace);
- PyObject *result = Py_BuildValue("s", duphash);
- free(duphash);
-
- return result;
-}
-
-PyObject *
sr_py_gdb_stacktrace_find_address(PyObject *self, PyObject *args)
{
struct sr_py_gdb_stacktrace *this = (struct sr_py_gdb_stacktrace*)self;
diff --git a/python/py_gdb_stacktrace.h b/python/py_gdb_stacktrace.h
index fc2fc8b..5c7e1f1 100644
--- a/python/py_gdb_stacktrace.h
+++ b/python/py_gdb_stacktrace.h
@@ -70,7 +70,6 @@ PyObject *sr_py_gdb_stacktrace_find_crash_thread(PyObject *self, PyObject *args)
PyObject *sr_py_gdb_stacktrace_limit_frame_depth(PyObject *self, PyObject *args);
PyObject *sr_py_gdb_stacktrace_quality_simple(PyObject *self, PyObject *args);
PyObject *sr_py_gdb_stacktrace_quality_complex(PyObject *self, PyObject *args);
-PyObject *sr_py_gdb_stacktrace_get_duplication_hash(PyObject *self, PyObject *args);
PyObject *sr_py_gdb_stacktrace_find_address(PyObject *self, PyObject *args);
PyObject *sr_py_gdb_stacktrace_set_libnames(PyObject *self, PyObject *args);
PyObject *sr_py_gdb_stacktrace_normalize(PyObject *self, PyObject *args);
--
1.7.11.7
More information about the Crash-catcher
mailing list