Link with libgccdemangle.so for name demangling.

1. X86 target will also have name demangling feature.
2. Remove dependency on libiberty.so, since it will not come
with prebuilt toolchain in gcc-4.6 and after.

Change-Id: Iefbb021c5c3171b9467954eafa54046ad6805753
diff --git a/libcorkscrew/demangle.c b/libcorkscrew/demangle.c
index ecb2c98..54247cb 100644
--- a/libcorkscrew/demangle.c
+++ b/libcorkscrew/demangle.c
@@ -21,15 +21,10 @@
 
 #include <cutils/log.h>
 
-#ifdef CORKSCREW_HAVE_LIBIBERTY
-// Defined in libiberty.a
-extern char *cplus_demangle(const char *mangled, int options);
-#endif
+extern char *__cxa_demangle (const char *mangled, char *buf, size_t *len,
+                             int *status);
 
 char* demangle_symbol_name(const char* name) {
-#ifdef CORKSCREW_HAVE_LIBIBERTY
-    return name ? cplus_demangle(name, 0) : NULL;
-#else
-    return NULL;
-#endif
+    // __cxa_demangle handles NULL by returning NULL
+    return __cxa_demangle(name, 0, 0, 0);
 }