diff options
author | Jiri Olsa <Jiri Olsa jolsa@redhat.com> | 2011-06-10 13:04:49 +0200 |
---|---|---|
committer | Jiri Olsa <Jiri Olsa jolsa@redhat.com> | 2011-06-21 13:57:13 +0200 |
commit | 5be636903f8937b27a679df6ecc6b5fef98f8237 (patch) | |
tree | 269e3cd57daf0faf2a8b332dd20b6e3851789c69 | |
parent | c0f273127860268341d2d29ebfd9bf0fe981cedb (diff) | |
download | latrace-5be636903f8937b27a679df6ecc6b5fef98f8237.tar.gz latrace-5be636903f8937b27a679df6ecc6b5fef98f8237.tar.xz latrace-5be636903f8937b27a679df6ecc6b5fef98f8237.zip |
fixlibc214bug
-rw-r--r-- | src/symbol.c | 12 |
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); |