Fix gdbclient to work with emulator builds

gdbclient got broken by:
https://android-review.googlesource.com/156974

To fix, check for special case when device is actually an emulator,
and set the $DEVICE variable accordingly.

Change-Id: I85d0d520ae1e2ea022aa3e2d08a10cd0b1cb491f
diff --git a/scripts/gdbclient b/scripts/gdbclient
index c170590..2394e18 100755
--- a/scripts/gdbclient
+++ b/scripts/gdbclient
@@ -12,6 +12,15 @@
 # as well.
 source $ANDROID_BUILD_TOP/build/envsetup.sh
 
+function adb_get_product_device() {
+  local candidate=`adb shell getprop ro.hardware | tr -d '\r\n'`
+  if [[ "$candidate" =~ ^(goldfish|ranchu)$ ]]; then
+    # Emulator builds use product.device for OUT folder
+    candidate=`adb shell getprop ro.product.device | tr -d '\r\n'`
+  fi
+  echo $candidate
+}
+
 # returns 0 when process is not traced
 function adb_get_traced_by() {
   echo `adb shell cat /proc/$1/status | grep -e "^TracerPid:" | sed "s/^TracerPid:\t//" | tr -d '\r\n'`
@@ -37,7 +46,7 @@
     echo "Usage: gdbclient <pid|processname> [port number]"
     return -1
   fi
-  local DEVICE=`adb shell getprop ro.hardware | tr -d '\r\n'`
+  local DEVICE=$(adb_get_product_device)
 
   if [ -z "$DEVICE" ]; then
     echo "Error: Unable to get device name. Please check if device is connected and ANDROID_SERIAL is set."