Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(681)

Unified Diff: build/android/adb_gdb

Issue 895853003: Update from https://crrev.com/314320 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/PRESUBMIT.py ('k') | build/android/disable_lto.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/adb_gdb
diff --git a/build/android/adb_gdb b/build/android/adb_gdb
index 150eb5eba4adee17da7ee376ef9c5b197ab2c853..97d37db3abc8c9d936d028bc15aac5c297a6e7ea 100755
--- a/build/android/adb_gdb
+++ b/build/android/adb_gdb
@@ -36,7 +36,7 @@ clean_exit () {
fi
if [ "$TARGET_GDBSERVER" ]; then
log "Removing target gdbserver binary: $TARGET_GDBSERVER."
- "$ADB" shell rm "$TARGET_GDBSERVER" >/dev/null 2>&1
+ "$ADB" shell run-as "$PACKAGE_NAME" rm "$TARGET_GDBSERVER" >/dev/null 2>&1
fi
log "Cleaning up: $TMPDIR"
rm -rf "$TMPDIR"
@@ -734,7 +734,8 @@ if [ -z "$SYMBOL_DIR" ]; then
fi
# Allow several concurrent debugging sessions
-TARGET_GDBSERVER=/data/local/tmp/gdbserver-adb-gdb-$TMP_ID
+TARGET_GDBSERVER=/data/data/$PACKAGE_NAME/gdbserver-adb-gdb-$TMP_ID
+TMP_TARGET_GDBSERVER=/data/local/tmp/gdbserver-adb-gdb-$TMP_ID
# Return the build fingerprint contained in a build.prop file.
# $1: path to build.prop file
@@ -844,22 +845,26 @@ if [ "$SU_PREFIX" ]; then
adb_shell $SU_PREFIX \"echo "foo"\" > $SU_PREFIX_TEST_LOG 2>&1
if [ $? != 0 -o "$(cat $SU_PREFIX_TEST_LOG)" != "foo" ]; then
echo "ERROR: Cannot use '$SU_PREFIX' as a valid su prefix:"
- echo "$ adb shell $SU_PREFIX echo foo"
+ echo "$ adb shell $SU_PREFIX \"echo foo\""
cat $SU_PREFIX_TEST_LOG
exit 1
fi
- COMMAND_PREFIX="$SU_PREFIX"
+ COMMAND_PREFIX="$SU_PREFIX \""
+ COMMAND_SUFFIX="\""
else
SHELL_UID=$(adb shell cat /proc/self/status | \
awk '$1 == "Uid:" { print $2; }')
log "Shell UID: $SHELL_UID"
if [ "$SHELL_UID" != 0 -o -n "$NO_ROOT" ]; then
COMMAND_PREFIX="run-as $PACKAGE_NAME"
+ COMMAND_SUFFIX=
else
COMMAND_PREFIX=
+ COMMAND_SUFFIX=
fi
fi
log "Command prefix: '$COMMAND_PREFIX'"
+log "Command suffix: '$COMMAND_SUFFIX'"
# Pull device's system libraries that are mapped by our process.
# Pulling all system libraries is too long, so determine which ones
@@ -867,7 +872,7 @@ log "Command prefix: '$COMMAND_PREFIX'"
if [ "$PULL_LIBS" -a -z "$NO_PULL_LIBS" ]; then
echo "Extracting system libraries into: $PULL_LIBS_DIR"
rm -f $PULL_LIBS_DIR/build.prop
- MAPPINGS=$(adb_shell $COMMAND_PREFIX \"cat /proc/$PID/maps\")
+ MAPPINGS=$(adb_shell $COMMAND_PREFIX cat /proc/$PID/maps $COMMAND_SUFFIX)
if [ $? != 0 ]; then
echo "ERROR: Could not list process's memory mappings."
if [ "$SU_PREFIX" ]; then
@@ -902,7 +907,9 @@ SOLIB_DIRS=$(find $PULL_LIBS_DIR -mindepth 1 -maxdepth 4 -type d | \
# Push gdbserver to the device
log "Pushing gdbserver $GDBSERVER to $TARGET_GDBSERVER"
-adb push $GDBSERVER $TARGET_GDBSERVER &>/dev/null
+adb push $GDBSERVER $TMP_TARGET_GDBSERVER &>/dev/null
+adb shell run-as $PACKAGE_NAME cp $TMP_TARGET_GDBSERVER .
+adb shell rm $TMP_TARGET_GDBSERVER
fail_panic "Could not copy gdbserver to the device!"
PORT=5039
@@ -944,10 +951,10 @@ host:localhost:$HOST_PORT to device:localhost:$TARGET_PORT!"
#
log "Starting gdbserver in the background:"
GDBSERVER_LOG=$TMPDIR/gdbserver-$TMP_ID.log
-log "adb shell $COMMAND_PREFIX \"$TARGET_GDBSERVER :$TARGET_PORT \
---attach $PID"\"
-("$ADB" shell $COMMAND_PREFIX \"$TARGET_GDBSERVER :$TARGET_PORT \
- --attach $PID\" > $GDBSERVER_LOG 2>&1) &
+log "adb shell $COMMAND_PREFIX $TARGET_GDBSERVER :$TARGET_PORT \
+--attach $PID $COMMAND_SUFFIX"
+("$ADB" shell $COMMAND_PREFIX $TARGET_GDBSERVER :$TARGET_PORT \
+ --attach $PID $COMMAND_SUFFIX > $GDBSERVER_LOG 2>&1) &
GDBSERVER_PID=$!
echo "$GDBSERVER_PID" > $GDBSERVER_PIDFILE
log "background job pid: $GDBSERVER_PID"
« no previous file with comments | « build/android/PRESUBMIT.py ('k') | build/android/disable_lto.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698