gdbclient.py: Add --env flag.

This flag allows users to set environment variables when running
a binary.

Change-Id: I01e2729c372da2e231bda86accc805495dcfdc06
diff --git a/scripts/gdbclient.py b/scripts/gdbclient.py
index ff0ee40..19a4a17 100755
--- a/scripts/gdbclient.py
+++ b/scripts/gdbclient.py
@@ -65,6 +65,10 @@
         "--user", nargs="?", default="root",
         help="user to run commands as on the device [default: root]")
 
+    parser.add_argument(
+        "--env", nargs=1, action="append", metavar="VAR=VALUE",
+        help="set environment variable when running a binary")
+
     return parser.parse_args()
 
 
@@ -246,13 +250,17 @@
 
         tracer_pid = get_tracer_pid(device, pid)
         if tracer_pid == 0:
+            cmd_prefix = args.su_cmd
+            if args.env:
+                cmd_prefix += ['env'] + [v[0] for v in args.env]
+
             # Start gdbserver.
             gdbserver_local_path = get_gdbserver_path(root, arch)
             gdbserver_remote_path = "/data/local/tmp/{}-gdbserver".format(arch)
             gdbrunner.start_gdbserver(
                 device, gdbserver_local_path, gdbserver_remote_path,
                 target_pid=pid, run_cmd=run_cmd, debug_socket=debug_socket,
-                port=args.port, run_as_cmd=args.su_cmd)
+                port=args.port, run_as_cmd=cmd_prefix)
         else:
             print "Connecting to tracing pid {} using local port {}".format(tracer_pid, args.port)
             gdbrunner.forward_gdbserver_port(device, local=args.port,