gdbrunner: take a run-as/su command instead of a user.

Switch from assuming that "root" meant su to an explicit prepended
argument, to allow things like `gdbclient.py --user shell`.

Test: gdbclient.py --user shell -r /system/bin/ls
Change-Id: I9d02eea7c6d79898ed8b13817e009630b0f9536a
diff --git a/scripts/gdbclient.py b/scripts/gdbclient.py
index 4fb6c7e..d9334ca 100755
--- a/scripts/gdbclient.py
+++ b/scripts/gdbclient.py
@@ -123,6 +123,8 @@
     pid = None
     run_cmd = None
 
+    args.su_cmd = ["su", args.user] if args.user else []
+
     if args.target_pid:
         # Fetch the binary using the PID later.
         pid = args.target_pid
@@ -136,12 +138,12 @@
             sys.exit("commands passed to -r must use absolute paths")
         run_cmd = args.run_cmd
         binary_file, local = gdbrunner.find_file(device, run_cmd[0], sysroot,
-                                                 user=args.user)
+                                                 run_as_cmd=args.su_cmd)
     if binary_file is None:
         assert pid is not None
         try:
             binary_file, local = gdbrunner.find_binary(device, pid, sysroot,
-                                                       user=args.user)
+                                                       run_as_cmd=args.su_cmd)
         except adb.ShellError:
             sys.exit("failed to pull binary for PID {}".format(pid))
 
@@ -242,7 +244,7 @@
         gdbrunner.start_gdbserver(
             device, gdbserver_local_path, gdbserver_remote_path,
             target_pid=pid, run_cmd=run_cmd, debug_socket=debug_socket,
-            port=args.port, user=args.user)
+            port=args.port, run_as_cmd=args.su_cmd)
 
         # Generate a gdb script.
         gdb_commands = generate_gdb_script(sysroot=sysroot,