Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtime: diagnose non-GOARM=5 binaries running on armv5 #3911

Closed
gopherbot opened this issue Aug 5, 2012 · 9 comments
Closed

runtime: diagnose non-GOARM=5 binaries running on armv5 #3911

gopherbot opened this issue Aug 5, 2012 · 9 comments

Comments

@gopherbot
Copy link

by rounin.urashima:

Before filing a bug, please check whether it has been fixed since the
latest release. Search the issue tracker and check that you're running the
latest version of Go:

Run "go version" and compare against
http://golang.org/doc/devel/release.html  If a newer version of Go exists,
install it and retry what you did to reproduce the problem.

Thanks.

What steps will reproduce the problem?

With regards to my Issue ticket 3645:

issue #3645:    ./hello displays Illegal instruction using hg update default on ARM CPU
based CISCO Linksys NSLU2

I started again to install go on this ARM based system and now get the following 
message:

rounin@LKG80B859:~/go/src$ time ./all.bash
# Building C bootstrap tool.
cmd/dist

# Building compilers and Go bootstrap tool for host, linux/arm.
lib9
libbio
libmach
misc/pprof
cmd/addr2line
cmd/cov
cmd/nm
cmd/objdump
cmd/pack
cmd/prof
cmd/cc
cmd/gc
cmd/5l
cmd/5a
cmd/5c
cmd/5g
pkg/runtime
pkg/errors
pkg/sync/atomic
pkg/sync
pkg/io
pkg/unicode
pkg/unicode/utf8
pkg/unicode/utf16
pkg/bytes
pkg/math
pkg/strings
pkg/strconv
pkg/bufio
pkg/sort
pkg/container/heap
pkg/encoding/base64
pkg/syscall
pkg/time
pkg/os
pkg/reflect
pkg/fmt
pkg/encoding/json
pkg/flag
pkg/path/filepath
pkg/path
pkg/io/ioutil
pkg/log
pkg/regexp/syntax
pkg/regexp
pkg/go/token
pkg/go/scanner
pkg/go/ast
pkg/go/parser
pkg/os/exec
pkg/net/url
pkg/text/template/parse
pkg/text/template
pkg/go/doc
pkg/go/build
cmd/go
./make.bash: line 119:  7061 Illegal instruction     "$GOTOOLDIR"/go_bootstrap
clean -i std

real    54m16.156s
user    31m21.340s
sys     2m49.460s
rounin@LKG80B859:~/go/src$ hg identify
9876d0195923 tip
rounin@LKG80B859:~/go/src$ uname -a
Linux LKG80B859 2.6.32-5-ixp4xx #1 Sun May 6 12:28:42 UTC 2012 armv5tel GNU/Linux
@rsc
Copy link
Contributor

rsc commented Aug 5, 2012

Comment 1:

Please try
export GOARM=5
./all.bash

@rsc
Copy link
Contributor

rsc commented Aug 5, 2012

Comment 2:

Can we do something to detect old ARM very early on, or perhaps catch illegal
instruction, and either way print a message suggesting the problem?
How do we detect old ARM chips at run time?

Status changed to Accepted.

@minux
Copy link
Member

minux commented Aug 6, 2012

Comment 3:

either by catching sigill or inspect runtime·armArch and runtime·hwcap (these are
specific to Linux/ARM).

@minux
Copy link
Member

minux commented Aug 6, 2012

Comment 4:

i'm also thinking if we can make GOARM!=5 binary runable on non-VFP systems by
catching sigill and do the floating point emulation in the sighandler?

@rsc
Copy link
Contributor

rsc commented Aug 6, 2012

Comment 5:

I would rather print an error an exit than try to do FP in the signal
handler. It will be ridiculously slow and no one will know why.
Russ

@gopherbot
Copy link
Author

Comment 6 by rounin.urashima:

Hello Russ,
Thank you. Looking good so far. Still going:
rounin@LKG80B859:~$ cat -n build.go.txt|less
     1  Script started on Mon 06 Aug 2012 11:41:57 BST
     2  rounin@LKG80B859:~/go/src$ export GOARM=5
     3  rounin@LKG80B859:~/go/src$ time ./all.bash
     4  # Building C bootstrap tool.
     5  cmd/dist
     6
     7  # Building compilers and Go bootstrap tool for host, linux/arm.
     8  lib9
     9  libbio
    10  libmach
    11  misc/pprof
    12  cmd/addr2line
    13  cmd/cov
    14  cmd/nm
    15  cmd/objdump
    16  cmd/pack
    17  cmd/prof
    18  cmd/cc
    19  cmd/gc
    20  cmd/5l
    21  cmd/5a
    22  cmd/5c
    23  cmd/5g
    24  pkg/runtime
    25  pkg/errors
    26  pkg/sync/atomic
    27  pkg/sync
    28  pkg/io
    29  pkg/unicode
    30  pkg/unicode/utf8
    31  pkg/unicode/utf16
    32  pkg/bytes
    33  pkg/math
    34  pkg/strings
    35  pkg/strconv
    36  pkg/bufio
    37  pkg/sort
    38  pkg/container/heap
    39  pkg/encoding/base64
    40  pkg/syscall
    41  pkg/time
    42  pkg/os
    43  pkg/reflect
    44  pkg/fmt
    45  pkg/encoding/json
    46  pkg/flag
    47  pkg/path/filepath
    48  pkg/path
    49  pkg/io/ioutil
    50  pkg/log
    51  pkg/regexp/syntax
    52  pkg/regexp
    53  pkg/go/token
    54  pkg/go/scanner
    55  pkg/go/ast
    56  pkg/go/parser
    57  pkg/os/exec
    58  pkg/net/url
    59  pkg/text/template/parse
    60  pkg/text/template
    61  pkg/go/doc
    62  pkg/go/build
    63  cmd/go
    64
    65  # Building packages and commands for linux/arm.
    66  runtime
    67  errors
    68  sync/atomic
    69  sync
    70  io
    71  unicode
    72  unicode/utf8
    73  bytes
    74  bufio
    75  math
    76  syscall
    77  time
    78  os
    79  strconv
    80  reflect
    81  fmt
    82  sort
    83  flag
    84  go/token
    85  strings
    86  path/filepath
    87  go/scanner
    88  go/ast
    89  regexp/syntax
    90  regexp
    91  io/ioutil
    92  net/url
    93  text/template/parse
    94  text/template
    95  go/doc
    96  go/parser
    97  log
    98  path
    99  go/build
   100  text/tabwriter
   101  go/printer
   102  os/exec
   103  cmd/api
   104  hash
   105  crypto
   106  crypto/md5
   107  encoding/binary
   108  debug/dwarf
   109  debug/elf
   110  debug/macho
   111  debug/pe
   112  cmd/cgo
   113  cmd/fix
   114  container/heap
   115  encoding/base64
   116  unicode/utf16
   117  encoding/json
   118  encoding/xml
   119  compress/flate
   120  hash/crc32
   121  compress/gzip
   122  crypto/cipher
   123  crypto/aes
   124  crypto/des
   125  math/rand
   126  math/big
   127  crypto/elliptic
   128  crypto/hmac
   129  crypto/rand
   130  crypto/rc4
   131  crypto/subtle
   132  crypto/rsa
   133  crypto/sha1
   134  crypto/dsa
   135  crypto/ecdsa
   136  encoding/asn1
   137  crypto/x509/pkix
   138  encoding/pem
   139  crypto/x509
   140  runtime/cgo
   141  net
   142  crypto/tls
   143  mime
   144  net/textproto
   145  mime/multipart
   146  runtime/debug
   147  net/http
   148  cmd/go
   149  archive/zip
   150  encoding/gob
   151  expvar
   152  index/suffixarray
   153  html
   154  html/template
   155  runtime/pprof
   156  net/http/pprof
   157  text/scanner
   158  cmd/godoc
   159  cmd/gofmt
   160  cmd/vet
   161  cmd/yacc
   162  archive/tar
   163  compress/bzip2
   164  compress/lzw
   165  hash/adler32
   166  compress/zlib
   167  container/list
   168  container/ring
   169  crypto/sha256
   170  crypto/sha512
   171  database/sql/driver
   172  database/sql
   173  debug/gosym
   174  encoding/ascii85
   175  encoding/base32
   176  encoding/csv
   177  encoding/hex
   178  exp/ebnf
   179  exp/ebnflint
   180  exp/types
   181  exp/gotype
   182  exp/html/atom
   183  exp/html
   184  exp/inotify
   185  exp/norm
   186  exp/locale/collate
   187  hash/fnv
   188  exp/locale/collate/build
   189  exp/proxy
   190  exp/utf8string
   191  hash/crc64
   192  image/color
   193  image
   194  image/draw
   195  image/gif
   196  image/jpeg
   197  image/png
   198  log/syslog
   199  math/cmplx
   200  net/http/cgi
   201  net/http/fcgi
   202  net/http/httptest
   203  net/http/httputil
   204  net/mail
   205  net/rpc
   206  net/rpc/jsonrpc
   207  net/smtp
   208  old/netchan
   209  os/signal
   210  os/user
   211  testing
   212  testing/iotest
   213  testing/quick
   214
   215  # Testing packages.
   216  ok      cmd/api 1.609s
   217  ?       cmd/cgo [no test files]
   218  ok      cmd/fix 61.583s
   219  ok      cmd/go  1.597s
   220  ?       cmd/godoc       [no test files]
   221  ok      cmd/gofmt       3.026s
   222  ?       cmd/vet [no test files]
   223  ?       cmd/yacc        [no test files]
   224  ok      archive/tar     0.956s
   225  ok      archive/zip     3.231s
   226  ok      bufio   11.762s
   227  ok      bytes   6.291s
   228  ok      compress/bzip2  3.809s
   229  ok      compress/flate  37.460s
   230  ok      compress/gzip   1.680s
   231  ok      compress/lzw    5.801s
   232  ok      compress/zlib   66.413s
   233  ok      container/heap  0.944s
   234  ok      container/list  0.798s
   235  ok      container/ring  1.285s
   236  ?       crypto  [no test files]
   237  ok      crypto/aes      1.526s
   238  ok      crypto/cipher   0.841s
   239  ok      crypto/des      2.033s
   240  ok      crypto/dsa      1.711s
   241  ok      crypto/ecdsa    1.951s
   242  ok      crypto/elliptic 1.333s
   243  ok      crypto/hmac     0.942s
   244  ok      crypto/md5      1.013s
   245  ok      crypto/rand     1.679s
   246  ok      crypto/rc4      0.808s
   247  ok      crypto/rsa      15.313s
   248  ok      crypto/sha1     0.974s
   249  ok      crypto/sha256   0.891s
   250  ok      crypto/sha512   1.211s
   251  ok      crypto/subtle   0.964s
   252  ok      crypto/tls      14.152s
   253  ok      crypto/x509     72.952s
   254  ?       crypto/x509/pkix        [no test files]
   255  ok      database/sql    1.521s
   256  ok      database/sql/driver     0.865s
   257  ok      debug/dwarf     1.286s
   258  ok      debug/elf       1.494s
   259  ok      debug/gosym     0.835s
   260  ok      debug/macho     0.898s
   261  ok      debug/pe        0.724s
   262  ok      encoding/ascii85        1.024s
   263  ok      encoding/asn1   0.898s
   264  ok      encoding/base32 1.016s

@gopherbot
Copy link
Author

Comment 7 by rounin.urashima:

Hello,
After setting GOARM=5 in .bashrc:
env |grep GO
GOBIN=/home/rounin/go/bin
GOARM=5
GOARCH=arm
GOROOT=/home/rounin/go
GOOS=linux
I can *run* and *build*:
rounin@LKG80B859:~$ cat -n hello.go
     1  package main
     2
     3  import "fmt"
     4
     5  func main() {
     6     fmt.Println("Hello, World")
     7  }
     8
rounin@LKG80B859:~$ time go run hello.go
Hello, World
real    0m59.841s
user    0m7.250s
sys     0m4.780s
rounin@LKG80B859:~$ time go build hello.go
real    0m49.543s
user    0m6.990s
sys     0m4.310s
Please note that this hardware is slow:
-=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=-
Script started on Mon 06 Aug 2012 11:41:57 BST
rounin@LKG80B859:~/go/src$ export GOARM=5
rounin@LKG80B859:~/go/src$ time ./all.bash
# Building C bootstrap tool.
cmd/dist
.
.
.
?       unsafe  [no test files]
real    1501m42.253s
user    91m55.010s
sys 103m0.120s
rounin@LKG80B859:~/go/src$ exit
Script done on Tue 07 Aug 2012 19:00:11 BST
-=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=-
But please see attached file for possible problems during compiling of the go tool set.
Script started on Mon 06 Aug 2012 11:41:57 BST
rounin@LKG80B859:~/go/src$ export GOARM=5
rounin@LKG80B859:~/go/src$ time ./all.bash
# Building C bootstrap tool.
cmd/dist
# Building compilers and Go bootstrap tool for host, linux/arm.
lib9
libbio
libmach
misc/pprof
cmd/addr2line
cmd/cov
cmd/nm
cmd/objdump
cmd/pack
cmd/prof
cmd/cc
cmd/gc
cmd/5l
cmd/5a
cmd/5c
cmd/5g
pkg/runtime
pkg/errors
pkg/sync/atomic
pkg/sync
pkg/io
pkg/unicode
pkg/unicode/utf8
pkg/unicode/utf16
pkg/bytes
pkg/math
pkg/strings
pkg/strconv
pkg/bufio
pkg/sort
pkg/container/heap
pkg/encoding/base64
pkg/syscall
pkg/time
.
.
.
cmd/go
# Building packages and commands for linux/arm.
runtime
.
.
.
path
go/build
text/tabwriter
go/printer
.
.
.
os/signal
os/user
testing
testing/iotest
testing/quick
# Testing packages.
ok      cmd/api 1.609s
?       cmd/cgo [no test files]
ok      cmd/fix 61.583s
ok      cmd/go  1.597s
?       cmd/godoc   [no test files]
ok      cmd/gofmt   3.026s
?       cmd/vet [no test files]
?       cmd/yacc    [no test files]
ok      archive/tar 0.956s
ok      archive/zip 3.231s
ok      bufio   11.762s
ok      bytes   6.291s
ok      compress/bzip2  3.809s
ok      compress/flate  37.460s
ok      compress/gzip   1.680s
ok      compress/lzw    5.801s
ok      compress/zlib   66.413s
ok      container/heap  0.944s
ok      container/list  0.798s
ok      container/ring  1.285s
?       crypto  [no test files]
ok      crypto/aes  1.526s
ok      crypto/cipher   0.841s
ok      crypto/des  2.033s
ok      crypto/dsa  1.711s
ok      crypto/ecdsa    1.951s
ok      crypto/elliptic 1.333s
ok      crypto/hmac 0.942s
ok      crypto/md5  1.013s
ok      crypto/rand 1.679s
ok      crypto/rc4  0.808s
ok      crypto/rsa  15.313s
ok      crypto/sha1 0.974s
ok      crypto/sha256   0.891s
ok      crypto/sha512   1.211s
ok      crypto/subtle   0.964s
ok      crypto/tls  14.152s
ok      crypto/x509 72.952s
?       crypto/x509/pkix    [no test files]
ok      database/sql    1.521s
ok      database/sql/driver 0.865s
ok      debug/dwarf 1.286s
ok      debug/elf   1.494s
ok      debug/gosym 0.835s
ok      debug/macho 0.898s
ok      debug/pe    0.724s
ok      encoding/ascii85    1.024s
ok      encoding/asn1   0.898s
ok      encoding/base32 1.016s
ok      encoding/base64 0.944s
ok      encoding/binary 1.070s
ok      encoding/csv    0.927s
ok      encoding/gob    2.938s
ok      encoding/hex    0.862s
ok      encoding/json   5.789s
ok      encoding/pem    1.167s
ok      encoding/xml    1.620s
ok      errors  0.732s
ok      exp/ebnf    0.971s
ok      exp/ebnflint    1.302s
ok      exp/gotype  27.003s
ok      exp/html    12.015s
ok      exp/html/atom   0.777s
ok      exp/inotify 2.123s
ok      exp/locale/collate  2.704s
ok      exp/locale/collate/build    1.133s
ok      exp/norm    63.184s
ok      exp/proxy   1.120s
ok      exp/types   7.785s
ok      exp/utf8string  0.943s
ok      expvar  1.316s
ok      flag    8.780s
ok      fmt 2.738s
ok      go/ast  5.840s
ok      go/build    16.679s
ok      go/doc  4.252s
ok      go/parser   2.981s
ok      go/printer  19.427s
ok      go/scanner  1.041s
ok      go/token    3.277s
?       hash    [no test files]
ok      hash/adler32    2.388s
ok      hash/crc32  0.711s
ok      hash/crc64  0.513s
ok      hash/fnv    0.747s
ok      html    0.973s
ok      html/template   3.506s
ok      image   4.652s
ok      image/color 1.152s
ok      image/draw  2.172s
?       image/gif   [no test files]
ok      image/jpeg  3.682s
ok      image/png   3.332s
ok      index/suffixarray   1.319s
ok      io  0.989s
ok      io/ioutil   0.880s
ok      log 1.038s
ok      log/syslog  1.704s
ok      math    2.765s
ok      math/big    30.742s
ok      math/cmplx  1.253s
ok      math/rand   33.438s
ok      mime    0.866s
ok      mime/multipart  6.396s
ok      net 4.740s
panic: test timed out
goroutine 591 [running]:
testing.alarm()
    /home/rounin/go/src/pkg/testing/testing.go:455 +0x5c
created by time.goFunc
    /home/rounin/go/src/pkg/time/sleep.go:94 +0x5c
goroutine 1 [chan receive]:
testing.RunTests(0x10c00, 0x3ff220, 0x77, 0x77, 0x10981501, ...)
    /home/rounin/go/src/pkg/testing/testing.go:369 +0x788
testing.Main(0x10c00, 0x3ff220, 0x77, 0x77, 0x3fa2b0, ...)
    /home/rounin/go/src/pkg/testing/testing.go:304 +0x70
main.main()
    /tmp/go-build232097131/net/http/_test/_testmain.go:287 +0x88
goroutine 2 [syscall]:
created by runtime.main
    /home/rounin/go/src/pkg/runtime/proc.c:220
goroutine 3 [timer goroutine (idle)]:
created by addtimer
    /home/rounin/go/src/pkg/runtime/ztime_linux_arm.c:72
goroutine 78 [semacquire]:
sync.runtime_Semacquire(0x11088cd0, 0x11088cd0)
    /home/rounin/go/src/pkg/runtime/zsema_linux_arm.c:146 +0x28
sync.(*Cond).Wait(0x109873c4, 0x10970100)
    /home/rounin/go/src/pkg/sync/cond.go:67 +0xdc
io.(*pipe).write(0x10987380, 0x109ba180, 0x13, 0x40, 0x0, ...)
    /home/rounin/go/src/pkg/io/pipe.go:90 +0x230
io.(*PipeWriter).Write(0x11088cb0, 0x109ba180, 0x13, 0x40, 0x1096b090, ...)
    /home/rounin/go/src/pkg/io/pipe.go:157 +0x60
net/http.(*populateResponse).Write(0x11096420, 0x109ba180, 0x13, 0x40, 0x50101, ...)
    /home/rounin/go/src/pkg/net/http/filetransport.go:122 +0xb4
fmt.Fprintln(0x1105ade0, 0x11096420, 0x401d1e58, 0x1, 0x1, ...)
    /home/rounin/go/src/pkg/fmt/print.go:280 +0xc4
net/http.Error(0x1105acc0, 0x11096420, 0x28aa40, 0x12, 0x194, ...)
    /home/rounin/go/src/pkg/net/http/server.go:730 +0x170
net/http.NotFound(0x1105acc0, 0x11096420)
    /home/rounin/go/src/pkg/net/http/server.go:734 +0x58
net/http.serveFile(0x1105acc0, 0x11096420, 0x10f39a10, 0x110c79a0, 0x10f4e270, ...)
    /home/rounin/go/src/pkg/net/http/fs.go:265 +0x208
net/http.(*fileHandler).ServeHTTP(0x11088c90, 0x1105acc0, 0x11096420, 0x10f39a10,
0x1105acc0, ...)
    /home/rounin/go/src/pkg/net/http/fs.go:359 +0x234
net/http.func·003(0x11088c90, 0x11088ca0, 0x11088c98, 0x3ff370)
    /home/rounin/go/src/pkg/net/http/filetransport.go:43 +0x74
created by net/http.fileTransport.RoundTrip
    /home/rounin/go/src/pkg/net/http/filetransport.go:45 +0xd4
goroutine 26 [syscall]:
syscall.Syscall6()
    /home/rounin/go/src/pkg/syscall/asm_linux_arm.s:42 +0x8
syscall.EpollWait(0x7, 0x10985ea8, 0xa, 0xa, 0xffffffff, ...)
    /home/rounin/go/src/pkg/syscall/zsyscall_linux_arm.go:262 +0x9c
net.(*pollster).WaitFD(0x10985ea0, 0x10901810, 0x0, 0x0, 0x0, ...)
    /home/rounin/go/src/pkg/net/fd_linux.go:146 +0x150
net.(*pollServer).Run(0x10901810, 0x0)
    /home/rounin/go/src/pkg/net/fd.go:236 +0x140
created by net.newPollServer
    /home/rounin/go/src/pkg/net/newpollserver.go:35 +0x440
goroutine 293 [chan receive]:
net/http.(*persistConn).writeLoop(0x10f91730, 0x109000e0)
    /home/rounin/go/src/pkg/net/http/transport.go:636 +0x3c
created by net/http.(*Transport).getConn
    /home/rounin/go/src/pkg/net/http/transport.go:391 +0x70c
.
.
.
    /home/rounin/go/src/pkg/runtime/crash_test.go:62 +0x48
testing.tRunner(0x10762900, 0x278d9c, 0x0)
    /home/rounin/go/src/pkg/testing/testing.go:292 +0xac
created by testing.RunTests
    /home/rounin/go/src/pkg/testing/testing.go:368 +0x768
goroutine 38 [syscall]:
syscall.Syscall()
    /home/rounin/go/src/pkg/syscall/asm_linux_arm.s:14 +0x8
syscall.Read(0x4, 0x10f9c200, 0x200, 0x200, 0x400013a0, ...)
    /home/rounin/go/src/pkg/syscall/zsyscall_linux_arm.go:618 +0x84
os.(*File).read(0x107524b8, 0x10f9c200, 0x200, 0x200, 0xadbb4, ...)
    /home/rounin/go/src/pkg/os/file_unix.go:174 +0x64
os.(*File).Read(0x107524b8, 0x10f9c200, 0x200, 0x200, 0x0, ...)
    /home/rounin/go/src/pkg/os/file.go:95 +0xa0
bytes.(*Buffer).ReadFrom(0x10762d80, 0x10f90400, 0x107524b8, 0x0, 0x0, ...)
    /home/rounin/go/src/pkg/bytes/buffer.go:166 +0x2a8
io.Copy(0x10740ea0, 0x10762d80, 0x10f90400, 0x107524b8, 0x0, ...)
    /home/rounin/go/src/pkg/io/io.go:340 +0xc0
os/exec.func·003(0x107524a0, 0x107524a8, 0x25c90, 0x0, 0x196c90, ...)
    /home/rounin/go/src/pkg/os/exec/exec.go:201 +0x78
os/exec.func·004(0x10752478, 0x10700c40, 0x0)
    /home/rounin/go/src/pkg/os/exec/exec.go:268 +0x28
created by os/exec.(*Cmd).Start
    /home/rounin/go/src/pkg/os/exec/exec.go:269 +0x81c
FAIL    runtime 126.285s
?       runtime/cgo [no test files]
ok      runtime/debug   1.099s
ok      runtime/pprof   13.271s
ok      sort    3.910s
ok      strconv 50.203s
ok      strings 1.500s
ok      sync    2.424s
ok      sync/atomic 2.799s
ok      syscall 1.310s
?       testing [no test files]
?       testing/iotest  [no test files]
ok      testing/quick   2.386s
ok      text/scanner    1.044s
ok      text/tabwriter  1.040s
ok      text/template   1.913s
ok      text/template/parse 1.177s
ok      time    41.847s
ok      unicode 0.646s
ok      unicode/utf16   0.684s
ok      unicode/utf8    0.942s
?       unsafe  [no test files]
real    1501m42.253s
user    91m55.010s
sys 103m0.120s
rounin@LKG80B859:~/go/src$ exit
Script done on Tue 07 Aug 2012 19:00:11 BST
attached file build.go.txt

Attachments:

  1. build.go.txt (191658 bytes)

@minux
Copy link
Member

minux commented Aug 18, 2012

Comment 8:

Status changed to Duplicate.

Merged into issue #3381.

@davecheney
Copy link
Contributor

Comment 9:

This issue was closed by revision 212ce41.

Status changed to Fixed.

@golang golang locked and limited conversation to collaborators Jun 24, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants