We need to cast the pointer up to 64bits so that the push works on x32
targets.  For 64bit targets, this makes no difference.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+2012-01-08  Mike Frysinger  <vapier@gentoo.org>
+
+       * common/linux-ptrace.c (linux_ptrace_test_ret_to_nx) [__x86_64__]:
+       Cast return_address to 64bits.
+
 2013-01-08  Hui Zhu  <hui_zhu@mentor.com>
 
        * printcmd.c: Remove define of function output_command.
 
                        ".globl linux_ptrace_test_ret_to_nx_instr;"
                        "linux_ptrace_test_ret_to_nx_instr:"
                        "ret"
-                       : : "r" (return_address) : "%rsp", "memory");
+                       : : "r" ((uint64_t) (uintptr_t) return_address)
+                       : "%rsp", "memory");
 #else
 # error "!__i386__ && !__x86_64__"
 #endif