Lose debuggerd client code to libdebuggerd_client.

Bug: http://b/24414818
Change-Id: I524714e081a27df4d2046f0c8eb853a1b20592e6
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 9eb3a65..8f51533 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -61,6 +61,7 @@
 #include "linker_utils.h"
 
 #include "android-base/strings.h"
+#include "debuggerd/client.h"
 #include "ziparchive/zip_archive.h"
 
 extern void __libc_init_globals(KernelArgumentBlock&);
@@ -4060,7 +4061,14 @@
   // Initialize system properties
   __system_properties_init(); // may use 'environ'
 
-  debuggerd_init();
+  // Register the debuggerd signal handler.
+  debuggerd_callbacks_t callbacks = {
+    .get_abort_message = []() {
+      return g_abort_message;
+    },
+    .post_dump = &notify_gdb_of_libraries,
+  };
+  debuggerd_init(&callbacks);
 
   // Get a few environment variables.
   const char* LD_DEBUG = getenv("LD_DEBUG");