x86_64 linker.

Based on I8dc3e2cb596f75dc58ae82e4dc58f8c177dd3323 by
Pavel Chupin <pavel.v.chupin@intel.com>.

Change-Id: Icd582d277cbe273477b450f2848343d72c86ec9f
diff --git a/linker/debugger.cpp b/linker/debugger.cpp
index c947522..6ddd358 100644
--- a/linker/debugger.cpp
+++ b/linker/debugger.cpp
@@ -176,7 +176,12 @@
  * Catches fatal signals so we can ask debuggerd to ptrace us before
  * we crash.
  */
+#if __LP64__ // TODO: implement 64-bit sigaction using rt_sigaction.
+void debuggerd_signal_handler(int n) {
+    siginfo_t* info = NULL;
+#else
 void debuggerd_signal_handler(int n, siginfo_t* info, void*) {
+#endif
     /*
      * It's possible somebody cleared the SA_SIGINFO flag, which would mean
      * our "info" arg holds an undefined value.
@@ -249,7 +254,11 @@
     struct sigaction action;
     memset(&action, 0, sizeof(action));
     sigemptyset(&action.sa_mask);
+#if __LP64__ // TODO: implement 64-bit sigaction using rt_sigaction.
+    action.sa_handler = debuggerd_signal_handler;
+#else
     action.sa_sigaction = debuggerd_signal_handler;
+#endif
     action.sa_flags = SA_RESTART | SA_SIGINFO;
 
     // Use the alternate signal stack if available so we can catch stack overflows.