summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-06-10 13:04:49 +0200
committerJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-06-21 13:57:13 +0200
commit5be636903f8937b27a679df6ecc6b5fef98f8237 (patch)
tree269e3cd57daf0faf2a8b332dd20b6e3851789c69
parentc0f273127860268341d2d29ebfd9bf0fe981cedb (diff)
downloadlatrace-5be636903f8937b27a679df6ecc6b5fef98f8237.tar.gz
latrace-5be636903f8937b27a679df6ecc6b5fef98f8237.tar.xz
latrace-5be636903f8937b27a679df6ecc6b5fef98f8237.zip
-rw-r--r--src/symbol.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/symbol.c b/src/symbol.c
index df7d169..a6f8633 100644
--- a/src/symbol.c
+++ b/src/symbol.c
@@ -44,12 +44,14 @@ static int compare(const void *a, const void *b)
if (!sym_a || !sym_b)
return 1;
-/* XXX There's a glibc bug/feature causing the symbol to
- * have different value in plt entry/exit.. so using name
- * check instead.. so far.. ;) */
-
+/* There's a glibc bug causing the symbol to have
+ * different value in plt entry/exit.. so using name
+ * check instead.. this is fixed in glibc 2.14 */
+#if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 14)
#define SEARCH_NAME
-#undef SEARCH_PTR
+#else
+#define SEARCH_PTR
+#endif
#ifdef SEARCH_NAME
return strcmp(sym_a->name, sym_b->name);