mirror of
https://github.com/golang/go
synced 2024-11-21 18:44:45 -07:00
build: make all.bash run on Ubuntu ARM
Sent from my phone. R=adg CC=golang-dev https://golang.org/cl/2192049
This commit is contained in:
parent
96d6f9dea4
commit
b7cb844ac8
@ -44,10 +44,10 @@ architectures.
|
|||||||
<code>arm</code> (a.k.a. <code>ARM</code>); <code>5g,5l,5c,5a</code>
|
<code>arm</code> (a.k.a. <code>ARM</code>); <code>5g,5l,5c,5a</code>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
Still a work in progress.
|
Incomplete.
|
||||||
It only supports Linux binaries, floating point is weak, and the
|
It only supports Linux binaries, floating point is weak,
|
||||||
optimizer is not enabled.
|
it has code generation bugs, and the optimizer is not enabled.
|
||||||
Tested against QEMU and an android phone.
|
Tested against a Nexus One.
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
@ -9,6 +9,8 @@
|
|||||||
#
|
#
|
||||||
# to rebuild the dependency information in Make.deps.
|
# to rebuild the dependency information in Make.deps.
|
||||||
|
|
||||||
|
include ../Make.inc
|
||||||
|
|
||||||
all: install
|
all: install
|
||||||
|
|
||||||
DIRS=\
|
DIRS=\
|
||||||
@ -197,6 +199,69 @@ NOTEST+=time # no syscall.Kill, syscall.SIGCHLD for sleep tests
|
|||||||
NOTEST+=websocket # no network
|
NOTEST+=websocket # no network
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(GOARCH),arm)
|
||||||
|
# Tests that fail, probably 5g bugs.
|
||||||
|
# Disable so that dashboard all.bash can catch regressions.
|
||||||
|
NOTEST+=archive/tar
|
||||||
|
NOTEST+=asn1
|
||||||
|
NOTEST+=big
|
||||||
|
NOTEST+=bytes
|
||||||
|
NOTEST+=cmath
|
||||||
|
NOTEST+=compress/gzip
|
||||||
|
NOTEST+=compress/zlib
|
||||||
|
NOTEST+=crypto/aes
|
||||||
|
NOTEST+=crypto/block
|
||||||
|
NOTEST+=crypto/blowfish
|
||||||
|
NOTEST+=crypto/ocsp
|
||||||
|
NOTEST+=crypto/rc4
|
||||||
|
NOTEST+=crypto/rsa
|
||||||
|
NOTEST+=crypto/subtle
|
||||||
|
NOTEST+=crypto/tls
|
||||||
|
NOTEST+=crypto/x509
|
||||||
|
NOTEST+=debug/dwarf
|
||||||
|
NOTEST+=debug/elf
|
||||||
|
NOTEST+=debug/macho
|
||||||
|
NOTEST+=encoding/base64
|
||||||
|
NOTEST+=encoding/binary
|
||||||
|
NOTEST+=encoding/pem
|
||||||
|
NOTEST+=exp/datafmt
|
||||||
|
NOTEST+=exp/eval
|
||||||
|
NOTEST+=expvar
|
||||||
|
NOTEST+=flag
|
||||||
|
NOTEST+=fmt
|
||||||
|
NOTEST+=go/printer
|
||||||
|
NOTEST+=gob
|
||||||
|
NOTEST+=http
|
||||||
|
NOTEST+=image/png
|
||||||
|
NOTEST+=io
|
||||||
|
NOTEST+=json
|
||||||
|
NOTEST+=log
|
||||||
|
NOTEST+=math
|
||||||
|
NOTEST+=mime
|
||||||
|
NOTEST+=mime/multipart
|
||||||
|
NOTEST+=net
|
||||||
|
NOTEST+=netchan
|
||||||
|
NOTEST+=os
|
||||||
|
NOTEST+=os/signal
|
||||||
|
NOTEST+=patch
|
||||||
|
NOTEST+=reflect
|
||||||
|
NOTEST+=regexp
|
||||||
|
NOTEST+=rpc
|
||||||
|
NOTEST+=rpc/jsonrpc
|
||||||
|
NOTEST+=scanner
|
||||||
|
NOTEST+=strconv
|
||||||
|
NOTEST+=strings
|
||||||
|
NOTEST+=syslog
|
||||||
|
NOTEST+=tabwriter
|
||||||
|
NOTEST+=template
|
||||||
|
NOTEST+=testing/quick
|
||||||
|
NOTEST+=time
|
||||||
|
NOTEST+=utf16
|
||||||
|
NOTEST+=utf8
|
||||||
|
NOTEST+=websocket
|
||||||
|
NOTEST+=xml
|
||||||
|
endif
|
||||||
|
|
||||||
TEST=\
|
TEST=\
|
||||||
$(filter-out $(NOTEST),$(DIRS))
|
$(filter-out $(NOTEST),$(DIRS))
|
||||||
|
|
||||||
|
@ -59,6 +59,7 @@ fi
|
|||||||
GOMAXPROCS=10 gomake test
|
GOMAXPROCS=10 gomake test
|
||||||
) || exit $?
|
) || exit $?
|
||||||
|
|
||||||
|
[ "$GOARCH" == arm ] ||
|
||||||
(xcd cmd/gofmt
|
(xcd cmd/gofmt
|
||||||
if $rebuild; then
|
if $rebuild; then
|
||||||
gomake clean;
|
gomake clean;
|
||||||
@ -75,6 +76,7 @@ fi
|
|||||||
time gomake test
|
time gomake test
|
||||||
) || exit $?
|
) || exit $?
|
||||||
|
|
||||||
|
[ "$GOARCH" == arm ] ||
|
||||||
(xcd ../misc/cgo/stdio
|
(xcd ../misc/cgo/stdio
|
||||||
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
|
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
|
||||||
gomake clean
|
gomake clean
|
||||||
@ -93,6 +95,7 @@ if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
|
|||||||
fi
|
fi
|
||||||
) || exit $?
|
) || exit $?
|
||||||
|
|
||||||
|
[ "$GOARCH" == arm ] ||
|
||||||
(xcd ../test/bench
|
(xcd ../test/bench
|
||||||
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
|
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
|
||||||
./timing.sh -test
|
./timing.sh -test
|
||||||
|
28
test/run
28
test/run
@ -49,12 +49,32 @@ ulimit -c 0
|
|||||||
|
|
||||||
true >pass.out >times.out
|
true >pass.out >times.out
|
||||||
|
|
||||||
|
exclude=false # exclude nothing
|
||||||
|
golden=golden.out
|
||||||
|
|
||||||
|
filterout() {
|
||||||
|
grep '^'"$2"'$' $1 >/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$GOARCH" = "arm" ]; then
|
||||||
|
if [ "$GORUN" = "" ]; then
|
||||||
|
exclude="filterout fail-arm-native.txt"
|
||||||
|
golden=golden-arm-native.out
|
||||||
|
else
|
||||||
|
exclude="filterout fail-arm.txt"
|
||||||
|
golden=golden-arm.out
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
for dir in . ken chan interface nilptr syntax fixedbugs bugs
|
for dir in . ken chan interface nilptr syntax fixedbugs bugs
|
||||||
do
|
do
|
||||||
echo
|
echo
|
||||||
echo '==' $dir'/'
|
echo '==' $dir'/'
|
||||||
for i in $(ls $dir/*.go 2>/dev/null)
|
for i in $(ls $dir/*.go 2>/dev/null)
|
||||||
do
|
do (
|
||||||
|
if $exclude $i; then
|
||||||
|
exit 0 # continues for loop
|
||||||
|
fi
|
||||||
export F=$(basename $i .go)
|
export F=$(basename $i .go)
|
||||||
export D=$dir
|
export D=$dir
|
||||||
sed '/^\/\//!q' $i | sed 's@//@@; $d' |sed 's|./\$A.out|$E &|g' >$RUNFILE
|
sed '/^\/\//!q' $i | sed 's@//@@; $d' |sed 's|./\$A.out|$E &|g' >$RUNFILE
|
||||||
@ -87,7 +107,7 @@ do
|
|||||||
echo $i >>pass.out
|
echo $i >>pass.out
|
||||||
fi
|
fi
|
||||||
echo $(awk 'NR==1{print $2}' $TMP2FILE) $D/$F >>times.out
|
echo $(awk 'NR==1{print $2}' $TMP2FILE) $D/$F >>times.out
|
||||||
done
|
) done
|
||||||
done | # clean up some stack noise
|
done | # clean up some stack noise
|
||||||
egrep -v '^(r[0-9a-z]+|[cfg]s) +0x' |
|
egrep -v '^(r[0-9a-z]+|[cfg]s) +0x' |
|
||||||
sed '/tmp.*Bus error/s/.*Bus/Bus/; /tmp.*Trace.BPT/s/.*Trace/Trace/
|
sed '/tmp.*Bus error/s/.*Bus/Bus/; /tmp.*Trace.BPT/s/.*Trace/Trace/
|
||||||
@ -103,9 +123,9 @@ done | # clean up some stack noise
|
|||||||
/Segmentation fault/d
|
/Segmentation fault/d
|
||||||
/^qemu: uncaught target signal 11 (Segmentation fault) - exiting/d' > run.out
|
/^qemu: uncaught target signal 11 (Segmentation fault) - exiting/d' > run.out
|
||||||
|
|
||||||
rm -f $RUNFILE $TMP1FILE $TMP2FILE *.$A *.a $A.out
|
rm -f $RUNFILE $TMP1FILE $TMP2FILE *.$A *.a $A.out
|
||||||
diffmsg=""
|
diffmsg=""
|
||||||
if ! diff golden.out run.out
|
if ! diff $golden run.out
|
||||||
then
|
then
|
||||||
diffmsg="; test output differs"
|
diffmsg="; test output differs"
|
||||||
failed=1
|
failed=1
|
||||||
|
Loading…
Reference in New Issue
Block a user