"Fossies" - the Fresh Open Source Software Archive

Member "go/misc/arm/a" (9 Sep 2020, 1745 Bytes) of package /windows/misc/go1.14.9.windows-386.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/usr/bin/env bash
    2 
    3 # Copyright 2010 The Go Authors. All rights reserved.
    4 # Use of this source code is governed by a BSD-style
    5 # license that can be found in the LICENSE file.
    6 
    7 # This is a small script for executing go binaries on the android platform.
    8 #
    9 # example:
   10 # ./a 5.out foo bar baz
   11 #
   12 # The script exports the local values of GOARCH, GOTRACEBACK and GOGC
   13 # to the android environment.
   14 #
   15 # Known issues:
   16 # The script fails unless the last character output by the program is "\n"
   17 #
   18 # TODO(kaib): add gdb bridge support
   19 
   20 exp ()
   21 {
   22     if [ ${!1} ]; then
   23         echo "export $1=\"${!1}\"; "
   24     fi
   25 }
   26 
   27 # adb does not correctly return the exit value of the executed program. use this
   28 # wrapper to manually extract the exit value
   29 rloc=/data/local/tmp/retval
   30 rsize=$(adb shell "ls -l $rloc"|tr -s ' '|cut -d' ' -f4)
   31 rcheck=38
   32 if [ "$rsize" != "$rcheck" ]; then
   33 #   echo "debug: retval size incorrect want $rcheck, got $rsize. uploading"
   34     echo  >/tmp/adb.retval '#!/system/bin/sh
   35 "$@"
   36 echo RETVAL: $?' 
   37     adb push /tmp/adb.retval $rloc >/dev/null 2>&1
   38     adb shell chmod 755 $rloc
   39 fi
   40 
   41 # run the main binary
   42 if [ "-g" == "$1" ]; then
   43     adb forward tcp:$2 tcp:$2
   44     args=$(echo $*| cut -d' ' -f4-)
   45     adb push $3 /data/local/tmp/$3 >/dev/null 2>&1
   46     adb shell "$(exp GOARCH) $(exp GOTRACEBACK) $(exp GOGC) \
   47         gdbserver :$2 /data/local/tmp/retval /data/local/tmp/$3 $args" \
   48         2>&1|tr -d '\r' |tee /tmp/adb.out|grep -v RETVAL
   49 else
   50     if [ "$*" != "$1" ]; then
   51         args=$(echo $*| cut -d' ' -f2-)
   52     fi
   53     adb push $1 /data/local/tmp/$1 >/dev/null 2>&1
   54     adb shell "$(exp GOARCH) $(exp GOTRACEBACK) $(exp GOGC) \
   55         /data/local/tmp/retval /data/local/tmp/$1 $args" \
   56         2>&1|tr -d '\r' |tee /tmp/adb.out|grep -v RETVAL
   57 fi
   58 exit $(grep RETVAL /tmp/adb.out|tr -d '\n\r'| cut -d' ' -f2)