I committed this patch to the 4.7 branch to bring in the accumulated bug fixes to the Go frontend and to libgo.
This corresponds to these revisions on mainline: 188548 188547 188545 188496 188494 188482. Ian
Index: gcc/go/gofrontend/gogo.cc =================================================================== --- gcc/go/gofrontend/gogo.cc (revision 188631) +++ gcc/go/gofrontend/gogo.cc (working copy) @@ -339,9 +339,14 @@ Gogo::set_package_name(const std::string // symbol names. if (!this->pkgpath_set_) { - if (!this->prefix_from_option_) - this->prefix_ = "go"; - this->pkgpath_ = this->prefix_ + '.' + package_name; + if (!this->prefix_from_option_ && package_name == "main") + this->pkgpath_ = package_name; + else + { + if (!this->prefix_from_option_) + this->prefix_ = "go"; + this->pkgpath_ = this->prefix_ + '.' + package_name; + } this->pkgpath_set_ = true; } Index: gcc/go/gofrontend/expressions.h =================================================================== --- gcc/go/gofrontend/expressions.h (revision 188631) +++ gcc/go/gofrontend/expressions.h (working copy) @@ -1888,6 +1888,10 @@ class Field_reference_expression : publi do_is_addressable() const { return this->expr_->is_addressable(); } + void + do_address_taken(bool escapes) + { this->expr_->address_taken(escapes); } + tree do_get_tree(Translate_context*); Index: gcc/go/gofrontend/types.cc =================================================================== --- gcc/go/gofrontend/types.cc (revision 188631) +++ gcc/go/gofrontend/types.cc (working copy) @@ -8337,14 +8337,23 @@ Named_type::do_reflection(Gogo* gogo, st { // We handle -fgo-prefix and -fgo-pkgpath differently here for // compatibility with how the compiler worked before - // -fgo-pkgpath was introduced. + // -fgo-pkgpath was introduced. When -fgo-pkgpath is specified, + // we use it to make a unique reflection string, so that the + // type canonicalization in the reflect package will work. In + // order to be compatible with the gc compiler, we put tabs into + // the package path, so that the reflect methods can discard it. const Package* package = this->named_object_->package(); if (gogo->pkgpath_from_option()) - ret->append(package != NULL ? package->pkgpath() : gogo->pkgpath()); - else - ret->append(package != NULL - ? package->package_name() - : gogo->package_name()); + { + ret->push_back('\t'); + ret->append(package != NULL + ? package->pkgpath_symbol() + : gogo->pkgpath_symbol()); + ret->push_back('\t'); + } + ret->append(package != NULL + ? package->package_name() + : gogo->package_name()); ret->push_back('.'); } if (this->in_function_ != NULL) Index: gcc/go/gofrontend/expressions.cc =================================================================== --- gcc/go/gofrontend/expressions.cc (revision 188631) +++ gcc/go/gofrontend/expressions.cc (working copy) @@ -168,7 +168,8 @@ Expression::convert_for_assignment(Trans if (lhs_type_tree == error_mark_node) return error_mark_node; - if (lhs_type != rhs_type && lhs_type->interface_type() != NULL) + if (lhs_type->forwarded() != rhs_type->forwarded() + && lhs_type->interface_type() != NULL) { if (rhs_type->interface_type() == NULL) return Expression::convert_type_to_interface(context, lhs_type, @@ -179,7 +180,8 @@ Expression::convert_for_assignment(Trans rhs_type, rhs_tree, false, location); } - else if (lhs_type != rhs_type && rhs_type->interface_type() != NULL) + else if (lhs_type->forwarded() != rhs_type->forwarded() + && rhs_type->interface_type() != NULL) return Expression::convert_interface_to_type(context, lhs_type, rhs_type, rhs_tree, location); else if (lhs_type->is_slice_type() && rhs_type->is_nil_type()) Index: libgo/runtime/go-traceback.c =================================================================== --- libgo/runtime/go-traceback.c (revision 188631) +++ libgo/runtime/go-traceback.c (working copy) @@ -35,8 +35,8 @@ runtime_printtrace (uintptr *pcbuf, int3 if (__go_file_line (pcbuf[i], &fn, &file, &line) && runtime_showframe (fn.__data)) { - runtime_printf ("%s\n", fn.__data); - runtime_printf ("\t%s:%d\n", file.__data, line); + runtime_printf ("%S\n", fn); + runtime_printf ("\t%S:%d\n", file, line); } } } Index: libgo/go/os/dir.go =================================================================== --- libgo/go/os/dir.go (revision 188631) +++ libgo/go/os/dir.go (working copy) @@ -42,7 +42,11 @@ func (file *File) readdirnames(n int) (n if file.dirinfo == nil { file.dirinfo = new(dirInfo) file.dirinfo.buf = make([]byte, elen) - file.dirinfo.dir = libc_opendir(syscall.StringBytePtr(file.name)) + p := syscall.StringBytePtr(file.name) + syscall.Entersyscall() + r := libc_opendir(p) + syscall.Exitsyscall() + file.dirinfo.dir = r } entry_dirent := unsafe.Pointer(&file.dirinfo.buf[0]).(*syscall.Dirent) @@ -62,7 +66,10 @@ func (file *File) readdirnames(n int) (n for n != 0 { var result *syscall.Dirent - i := libc_readdir_r(dir, entry_dirent, &result) + pr := &result + syscall.Entersyscall() + i := libc_readdir_r(dir, entry_dirent, pr) + syscall.Exitsyscall() if i != 0 { return names, NewSyscallError("readdir_r", i) } Index: libgo/go/os/user/lookup_unix.go =================================================================== --- libgo/go/os/user/lookup_unix.go (revision 188631) +++ libgo/go/os/user/lookup_unix.go (working copy) @@ -73,11 +73,14 @@ func lookup(uid int, username string, lo const bufSize = 1024 buf := make([]byte, bufSize) if lookupByName { - rv := libc_getpwnam_r(syscall.StringBytePtr(username), + p := syscall.StringBytePtr(username) + syscall.Entersyscall() + rv := libc_getpwnam_r(p, &pwd, &buf[0], bufSize, &result) + syscall.Exitsyscall() if rv != 0 { return nil, fmt.Errorf("user: lookup username %s: %s", username, syscall.GetErrno()) } @@ -85,11 +88,13 @@ func lookup(uid int, username string, lo return nil, UnknownUserError(username) } } else { + syscall.Entersyscall() rv := libc_getpwuid_r(syscall.Uid_t(uid), &pwd, &buf[0], bufSize, &result) + syscall.Exitsyscall() if rv != 0 { return nil, fmt.Errorf("user: lookup userid %d: %s", uid, syscall.GetErrno()) } Index: libgo/go/encoding/xml/marshal_test.go =================================================================== --- libgo/go/encoding/xml/marshal_test.go (revision 188631) +++ libgo/go/encoding/xml/marshal_test.go (working copy) @@ -726,7 +726,7 @@ var marshalErrorTests = []struct { }, { Value: map[*Ship]bool{nil: false}, - Err: "xml: unsupported type: map[*encoding/xml.Ship]bool", + Err: "xml: unsupported type: map[*xml.Ship]bool", Kind: reflect.Map, }, { Index: libgo/go/html/template/escape_test.go =================================================================== --- libgo/go/html/template/escape_test.go (revision 188631) +++ libgo/go/html/template/escape_test.go (working copy) @@ -226,7 +226,7 @@ func TestEscape(t *testing.T) { { "badMarshaler", `<button onclick='alert(1/{{.B}}in numbers)'>`, - `<button onclick='alert(1/ /* json: error calling MarshalJSON for type *html/template.badMarshaler: invalid character 'f' looking for beginning of object key string */null in numbers)'>`, + `<button onclick='alert(1/ /* json: error calling MarshalJSON for type *template.badMarshaler: invalid character 'f' looking for beginning of object key string */null in numbers)'>`, }, { "jsMarshaler", Index: libgo/go/reflect/type.go =================================================================== --- libgo/go/reflect/type.go (revision 188631) +++ libgo/go/reflect/type.go (working copy) @@ -83,6 +83,9 @@ type Type interface { // compare the Types directly. String() string + // Used internally by gccgo--the string retaining quoting. + rawString() string + // Kind returns the specific kind of this type. Kind() Kind @@ -432,7 +435,24 @@ func (t *commonType) toType() Type { return canonicalize(t) } -func (t *commonType) String() string { return *t.string } +func (t *commonType) rawString() string { return *t.string } + +func (t *commonType) String() string { + // For gccgo, strip out quoted strings. + s := *t.string + var q bool + r := make([]byte, len(s)) + j := 0 + for i := 0; i < len(s); i++ { + if s[i] == '\t' { + q = !q + } else if !q { + r[j] = s[i] + j++ + } + } + return string(r[:j]) +} func (t *commonType) Size() uintptr { return t.size } @@ -942,7 +962,7 @@ func canonicalize(t Type) Type { u := t.uncommon() var s string if u == nil || u.PkgPath() == "" { - s = t.String() + s = t.rawString() } else { s = u.PkgPath() + "." + u.Name() } Index: libgo/Makefile.am =================================================================== --- libgo/Makefile.am (revision 188631) +++ libgo/Makefile.am (working copy) @@ -1806,6 +1806,7 @@ CHECK = \ LD_LIBRARY_PATH="`${PWD_COMMAND}`/.libs:$${libgccdir}:${LD_LIBRARY_PATH}"; \ LD_LIBRARY_PATH=`echo $${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; \ export LD_LIBRARY_PATH; \ + $(MKDIR_P) $(@D); \ rm -f $@-testsum $@-testlog; \ if test "$(use_dejagnu)" = "yes"; then \ $(SHELL) $(srcdir)/testsuite/gotest --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" --testname="$(@D)" --goarch="$(GOARCH)" $(GOTESTFLAGS); \ @@ -2106,7 +2107,6 @@ archive/tar.lo.dep: $(go_archive_tar_fil archive/tar.lo: $(go_archive_tar_files) $(BUILDPACKAGE) archive/tar/check: $(CHECK_DEPS) - @$(MKDIR_P) archive/tar @$(CHECK) .PHONY: archive/tar/check @@ -2116,7 +2116,6 @@ archive/zip.lo.dep: $(go_archive_zip_fil archive/zip.lo: $(go_archive_zip_files) $(BUILDPACKAGE) archive/zip/check: $(CHECK_DEPS) - @$(MKDIR_P) archive/zip @$(CHECK) .PHONY: archive/zip/check @@ -2126,7 +2125,6 @@ compress/bzip2.lo.dep: $(go_compress_bzi compress/bzip2.lo: $(go_compress_bzip2_files) $(BUILDPACKAGE) compress/bzip2/check: $(CHECK_DEPS) - @$(MKDIR_P) compress/bzip2 @$(CHECK) .PHONY: compress/bzip2/check @@ -2136,7 +2134,6 @@ compress/flate.lo.dep: $(go_compress_fla compress/flate.lo: $(go_compress_flate_files) $(BUILDPACKAGE) compress/flate/check: $(CHECK_DEPS) - @$(MKDIR_P) compress/flate @$(CHECK) .PHONY: compress/flate/check @@ -2146,7 +2143,6 @@ compress/gzip.lo.dep: $(go_compress_gzip compress/gzip.lo: $(go_compress_gzip_files) $(BUILDPACKAGE) compress/gzip/check: $(CHECK_DEPS) - @$(MKDIR_P) compress/gzip @$(CHECK) .PHONY: compress/gzip/check @@ -2156,7 +2152,6 @@ compress/lzw.lo.dep: $(go_compress_lzw_f compress/lzw.lo: $(go_compress_lzw_files) $(BUILDPACKAGE) compress/lzw/check: $(CHECK_DEPS) - @$(MKDIR_P) compress/lzw @$(CHECK) .PHONY: compress/lzw/check @@ -2166,7 +2161,6 @@ compress/zlib.lo.dep: $(go_compress_zlib compress/zlib.lo: $(go_compress_zlib_files) $(BUILDPACKAGE) compress/zlib/check: $(CHECK_DEPS) - @$(MKDIR_P) compress/zlib @$(CHECK) .PHONY: compress/zlib/check @@ -2176,7 +2170,6 @@ container/heap.lo.dep: $(go_container_he container/heap.lo: $(go_container_heap_files) $(BUILDPACKAGE) container/heap/check: $(CHECK_DEPS) - @$(MKDIR_P) container/heap @$(CHECK) .PHONY: container/heap/check @@ -2186,7 +2179,6 @@ container/list.lo.dep: $(go_container_li container/list.lo: $(go_container_list_files) $(BUILDPACKAGE) container/list/check: $(CHECK_DEPS) - @$(MKDIR_P) container/list @$(CHECK) .PHONY: container/list/check @@ -2196,7 +2188,6 @@ container/ring.lo.dep: $(go_container_ri container/ring.lo: $(go_container_ring_files) $(BUILDPACKAGE) container/ring/check: $(CHECK_DEPS) - @$(MKDIR_P) container/ring @$(CHECK) .PHONY: container/ring/check @@ -2206,7 +2197,6 @@ crypto/aes.lo.dep: $(go_crypto_aes_files crypto/aes.lo: $(go_crypto_aes_files) $(BUILDPACKAGE) crypto/aes/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/aes @$(CHECK) .PHONY: crypto/aes/check @@ -2216,7 +2206,6 @@ crypto/cipher.lo.dep: $(go_crypto_cipher crypto/cipher.lo: $(go_crypto_cipher_files) $(BUILDPACKAGE) crypto/cipher/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/cipher @$(CHECK) .PHONY: crypto/cipher/check @@ -2226,7 +2215,6 @@ crypto/des.lo.dep: $(go_crypto_des_files crypto/des.lo: $(go_crypto_des_files) $(BUILDPACKAGE) crypto/des/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/des @$(CHECK) .PHONY: crypto/des/check @@ -2236,7 +2224,6 @@ crypto/dsa.lo.dep: $(go_crypto_dsa_files crypto/dsa.lo: $(go_crypto_dsa_files) $(BUILDPACKAGE) crypto/dsa/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/dsa @$(CHECK) .PHONY: crypto/dsa/check @@ -2246,7 +2233,6 @@ crypto/ecdsa.lo.dep: $(go_crypto_ecdsa_f crypto/ecdsa.lo: $(go_crypto_ecdsa_files) $(BUILDPACKAGE) crypto/ecdsa/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/ecdsa @$(CHECK) .PHONY: crypto/ecdsa/check @@ -2256,7 +2242,6 @@ crypto/elliptic.lo.dep: $(go_crypto_elli crypto/elliptic.lo: $(go_crypto_elliptic_files) $(BUILDPACKAGE) crypto/elliptic/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/elliptic @$(CHECK) .PHONY: crypto/elliptic/check @@ -2266,7 +2251,6 @@ crypto/hmac.lo.dep: $(go_crypto_hmac_fil crypto/hmac.lo: $(go_crypto_hmac_files) $(BUILDPACKAGE) crypto/hmac/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/hmac @$(CHECK) .PHONY: crypto/hmac/check @@ -2276,7 +2260,6 @@ crypto/md5.lo.dep: $(go_crypto_md5_files crypto/md5.lo: $(go_crypto_md5_files) $(BUILDPACKAGE) crypto/md5/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/md5 @$(CHECK) .PHONY: crypto/md5/check @@ -2286,7 +2269,6 @@ crypto/rand.lo.dep: $(go_crypto_rand_fil crypto/rand.lo: $(go_crypto_rand_files) $(BUILDPACKAGE) crypto/rand/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/rand @$(CHECK) .PHONY: crypto/rand/check @@ -2296,7 +2278,6 @@ crypto/rc4.lo.dep: $(go_crypto_rc4_files crypto/rc4.lo: $(go_crypto_rc4_files) $(BUILDPACKAGE) crypto/rc4/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/rc4 @$(CHECK) .PHONY: crypto/rc4/check @@ -2306,7 +2287,6 @@ crypto/rsa.lo.dep: $(go_crypto_rsa_files crypto/rsa.lo: $(go_crypto_rsa_files) $(BUILDPACKAGE) crypto/rsa/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/rsa @$(CHECK) .PHONY: crypto/rsa/check @@ -2316,7 +2296,6 @@ crypto/sha1.lo.dep: $(go_crypto_sha1_fil crypto/sha1.lo: $(go_crypto_sha1_files) $(BUILDPACKAGE) crypto/sha1/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/sha1 @$(CHECK) .PHONY: crypto/sha1/check @@ -2326,7 +2305,6 @@ crypto/sha256.lo.dep: $(go_crypto_sha256 crypto/sha256.lo: $(go_crypto_sha256_files) $(BUILDPACKAGE) crypto/sha256/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/sha256 @$(CHECK) .PHONY: crypto/sha256/check @@ -2336,7 +2314,6 @@ crypto/sha512.lo.dep: $(go_crypto_sha512 crypto/sha512.lo: $(go_crypto_sha512_files) $(BUILDPACKAGE) crypto/sha512/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/sha512 @$(CHECK) .PHONY: crypto/sha512/check @@ -2346,7 +2323,6 @@ crypto/subtle.lo.dep: $(go_crypto_subtle crypto/subtle.lo: $(go_crypto_subtle_files) $(BUILDPACKAGE) crypto/subtle/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/subtle @$(CHECK) .PHONY: crypto/subtle/check @@ -2356,7 +2332,6 @@ crypto/tls.lo.dep: $(go_crypto_tls_files crypto/tls.lo: $(go_crypto_tls_files) $(BUILDPACKAGE) crypto/tls/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/tls @$(CHECK) .PHONY: crypto/tls/check @@ -2366,7 +2341,6 @@ crypto/x509.lo.dep: $(go_crypto_x509_fil crypto/x509.lo: $(go_crypto_x509_files) $(BUILDPACKAGE) crypto/x509/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/x509 @$(CHECK) .PHONY: crypto/x509/check @@ -2376,7 +2350,6 @@ crypto/x509/pkix.lo.dep: $(go_crypto_x50 crypto/x509/pkix.lo: $(go_crypto_x509_pkix_files) $(BUILDPACKAGE) crypto/x509/pkix/check: $(CHECK_DEPS) - @$(MKDIR_P) crypto/x509/pkix @$(CHECK) .PHONY: crypto/x509/pkix/check @@ -2386,7 +2359,6 @@ database/sql.lo.dep: $(go_database_sql_f database/sql.lo: $(go_database_sql_files) $(BUILDPACKAGE) database/sql/check: $(CHECK_DEPS) - @$(MKDIR_P) database/sql @$(CHECK) .PHONY: database/sql/check @@ -2396,7 +2368,6 @@ database/sql/driver.lo.dep: $(go_databas database/sql/driver.lo: $(go_database_sql_driver_files) $(BUILDPACKAGE) database/sql/driver/check: $(CHECK_DEPS) - @$(MKDIR_P) database/sql/driver @$(CHECK) .PHONY: database/sql/driver/check @@ -2406,7 +2377,6 @@ debug/dwarf.lo.dep: $(go_debug_dwarf_fil debug/dwarf.lo: $(go_debug_dwarf_files) $(BUILDPACKAGE) debug/dwarf/check: $(CHECK_DEPS) - @$(MKDIR_P) debug/dwarf @$(CHECK) .PHONY: debug/dwarf/check @@ -2416,7 +2386,6 @@ debug/elf.lo.dep: $(go_debug_elf_files) debug/elf.lo: $(go_debug_elf_files) $(BUILDPACKAGE) debug/elf/check: $(CHECK_DEPS) - @$(MKDIR_P) debug/elf @$(CHECK) .PHONY: debug/elf/check @@ -2426,7 +2395,6 @@ debug/gosym.lo.dep: $(go_debug_gosym_fil debug/gosym.lo: $(go_debug_gosym_files) $(BUILDPACKAGE) debug/gosym/check: $(CHECK_DEPS) - @$(MKDIR_P) debug/gosym @$(CHECK) .PHONY: debug/gosym/check @@ -2436,7 +2404,6 @@ debug/macho.lo.dep: $(go_debug_macho_fil debug/macho.lo: $(go_debug_macho_files) $(BUILDPACKAGE) debug/macho/check: $(CHECK_DEPS) - @$(MKDIR_P) debug/macho @$(CHECK) .PHONY: debug/macho/check @@ -2446,7 +2413,6 @@ debug/pe.lo.dep: $(go_debug_pe_files) debug/pe.lo: $(go_debug_pe_files) $(BUILDPACKAGE) debug/pe/check: $(CHECK_DEPS) - @$(MKDIR_P) debug/pe @$(CHECK) .PHONY: debug/pe/check @@ -2456,7 +2422,6 @@ encoding/asn1.lo.dep: $(go_encoding_asn1 encoding/asn1.lo: $(go_encoding_asn1_files) $(BUILDPACKAGE) encoding/asn1/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/asn1 @$(CHECK) .PHONY: encoding/asn1/check @@ -2466,7 +2431,6 @@ encoding/ascii85.lo.dep: $(go_encoding_a encoding/ascii85.lo: $(go_encoding_ascii85_files) $(BUILDPACKAGE) encoding/ascii85/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/ascii85 @$(CHECK) .PHONY: encoding/ascii85/check @@ -2476,7 +2440,6 @@ encoding/base32.lo.dep: $(go_encoding_ba encoding/base32.lo: $(go_encoding_base32_files) $(BUILDPACKAGE) encoding/base32/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/base32 @$(CHECK) .PHONY: encoding/base32/check @@ -2486,7 +2449,6 @@ encoding/base64.lo.dep: $(go_encoding_ba encoding/base64.lo: $(go_encoding_base64_files) $(BUILDPACKAGE) encoding/base64/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/base64 @$(CHECK) .PHONY: encoding/base64/check @@ -2496,7 +2458,6 @@ encoding/binary.lo.dep: $(go_encoding_bi encoding/binary.lo: $(go_encoding_binary_files) $(BUILDPACKAGE) encoding/binary/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/binary @$(CHECK) .PHONY: encoding/binary/check @@ -2506,7 +2467,6 @@ encoding/csv.lo.dep: $(go_encoding_csv_f encoding/csv.lo: $(go_encoding_csv_files) $(BUILDPACKAGE) encoding/csv/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/csv @$(CHECK) .PHONY: encoding/csv/check @@ -2516,7 +2476,6 @@ encoding/gob.lo.dep: $(go_encoding_gob_f encoding/gob.lo: $(go_encoding_gob_files) $(BUILDPACKAGE) encoding/gob/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/gob @$(CHECK) .PHONY: encoding/gob/check @@ -2526,7 +2485,6 @@ encoding/hex.lo.dep: $(go_encoding_hex_f encoding/hex.lo: $(go_encoding_hex_files) $(BUILDPACKAGE) encoding/hex/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/hex @$(CHECK) .PHONY: encoding/hex/check @@ -2536,7 +2494,6 @@ encoding/json.lo.dep: $(go_encoding_json encoding/json.lo: $(go_encoding_json_files) $(BUILDPACKAGE) encoding/json/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/json @$(CHECK) .PHONY: encoding/json/check @@ -2546,7 +2503,6 @@ encoding/pem.lo.dep: $(go_encoding_pem_f encoding/pem.lo: $(go_encoding_pem_files) $(BUILDPACKAGE) encoding/pem/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/pem @$(CHECK) .PHONY: encoding/pem/check @@ -2556,7 +2512,6 @@ encoding/xml.lo.dep: $(go_encoding_xml_f encoding/xml.lo: $(go_encoding_xml_files) $(BUILDPACKAGE) encoding/xml/check: $(CHECK_DEPS) - @$(MKDIR_P) encoding/xml @$(CHECK) .PHONY: encoding/xml/check @@ -2566,7 +2521,6 @@ exp/ebnf.lo.dep: $(go_exp_ebnf_files) exp/ebnf.lo: $(go_exp_ebnf_files) $(BUILDPACKAGE) exp/ebnf/check: $(CHECK_DEPS) - @$(MKDIR_P) exp/ebnf @$(CHECK) .PHONY: exp/ebnf/check @@ -2576,7 +2530,6 @@ exp/html.lo.dep: $(go_exp_html_files) exp/html.lo: $(go_exp_html_files) $(BUILDPACKAGE) exp/html/check: $(CHECK_DEPS) - @$(MKDIR_P) exp/html @$(CHECK) .PHONY: exp/html/check @@ -2586,7 +2539,6 @@ exp/norm.lo.dep: $(go_exp_norm_files) exp/norm.lo: $(go_exp_norm_files) $(BUILDPACKAGE) exp/norm/check: $(CHECK_DEPS) - @$(MKDIR_P) exp/norm @$(CHECK) .PHONY: exp/norm/check @@ -2596,7 +2548,6 @@ exp/proxy.lo.dep: $(go_exp_proxy_files) exp/proxy.lo: $(go_exp_proxy_files) $(BUILDPACKAGE) exp/proxy/check: $(CHECK_DEPS) - @$(MKDIR_P) exp/proxy @$(CHECK) .PHONY: exp/proxy/check @@ -2606,7 +2557,6 @@ exp/terminal.lo.dep: $(go_exp_terminal_f exp/terminal.lo: $(go_exp_terminal_files) $(BUILDPACKAGE) exp/terminal/check: $(CHECK_DEPS) - @$(MKDIR_P) exp/terminal @$(CHECK) .PHONY: exp/terminal/check @@ -2616,7 +2566,6 @@ exp/types.lo.dep: $(go_exp_types_files) exp/types.lo: $(go_exp_types_files) $(BUILDPACKAGE) exp/types/check: $(CHECK_DEPS) - @$(MKDIR_P) exp/types @$(CHECK) .PHONY: exp/types/check @@ -2626,7 +2575,6 @@ exp/utf8string.lo.dep: $(go_exp_utf8stri exp/utf8string.lo: $(go_exp_utf8string_files) $(BUILDPACKAGE) exp/utf8string/check: $(CHECK_DEPS) - @$(MKDIR_P) exp/utf8string @$(CHECK) .PHONY: exp/utf8string/check @@ -2636,7 +2584,6 @@ exp/inotify.lo.dep: $(go_exp_inotify_fil exp/inotify.lo: $(go_exp_inotify_files) $(BUILDPACKAGE) exp/inotify/check: $(CHECK_DEPS) - @$(MKDIR_P) exp/inotify @$(CHECK) .PHONY: exp/inotify/check @@ -2646,7 +2593,6 @@ html/template.lo.dep: $(go_html_template html/template.lo: $(go_html_template_files) $(BUILDPACKAGE) html/template/check: $(CHECK_DEPS) - @$(MKDIR_P) html/template @$(CHECK) .PHONY: html/template/check @@ -2656,7 +2602,6 @@ go/ast.lo.dep: $(go_go_ast_files) go/ast.lo: $(go_go_ast_files) $(BUILDPACKAGE) go/ast/check: $(CHECK_DEPS) - @$(MKDIR_P) go/ast @$(CHECK) .PHONY: go/ast/check @@ -2666,7 +2611,6 @@ go/build.lo.dep: $(go_go_build_files) go/build.lo: $(go_go_build_files) $(BUILDPACKAGE) go/build/check: $(CHECK_DEPS) - @$(MKDIR_P) go/build @$(CHECK) .PHONY: go/build/check @@ -2685,7 +2629,6 @@ go/doc.lo.dep: $(go_go_doc_files) go/doc.lo: $(go_go_doc_files) $(BUILDPACKAGE) go/doc/check: $(CHECK_DEPS) - @$(MKDIR_P) go/doc @$(CHECK) .PHONY: go/doc/check @@ -2695,7 +2638,6 @@ go/parser.lo.dep: $(go_go_parser_files) go/parser.lo: $(go_go_parser_files) $(BUILDPACKAGE) go/parser/check: $(CHECK_DEPS) - @$(MKDIR_P) go/parser @$(CHECK) .PHONY: go/parser/check @@ -2705,7 +2647,6 @@ go/printer.lo.dep: $(go_go_printer_files go/printer.lo: $(go_go_printer_files) $(BUILDPACKAGE) go/printer/check: $(CHECK_DEPS) - @$(MKDIR_P) go/printer @$(CHECK) .PHONY: go/printer/check @@ -2715,7 +2656,6 @@ go/scanner.lo.dep: $(go_go_scanner_files go/scanner.lo: $(go_go_scanner_files) $(BUILDPACKAGE) go/scanner/check: $(CHECK_DEPS) - @$(MKDIR_P) go/scanner @$(CHECK) .PHONY: go/scanner/check @@ -2725,7 +2665,6 @@ go/token.lo.dep: $(go_go_token_files) go/token.lo: $(go_go_token_files) $(BUILDPACKAGE) go/token/check: $(CHECK_DEPS) - @$(MKDIR_P) go/token @$(CHECK) .PHONY: go/token/check @@ -2735,7 +2674,6 @@ hash/adler32.lo.dep: $(go_hash_adler32_f hash/adler32.lo: $(go_hash_adler32_files) $(BUILDPACKAGE) hash/adler32/check: $(CHECK_DEPS) - @$(MKDIR_P) hash/adler32 @$(CHECK) .PHONY: hash/adler32/check @@ -2745,7 +2683,6 @@ hash/crc32.lo.dep: $(go_hash_crc32_files hash/crc32.lo: $(go_hash_crc32_files) $(BUILDPACKAGE) hash/crc32/check: $(CHECK_DEPS) - @$(MKDIR_P) hash/crc32 @$(CHECK) .PHONY: hash/crc32/check @@ -2755,7 +2692,6 @@ hash/crc64.lo.dep: $(go_hash_crc64_files hash/crc64.lo: $(go_hash_crc64_files) $(BUILDPACKAGE) hash/crc64/check: $(CHECK_DEPS) - @$(MKDIR_P) hash/crc64 @$(CHECK) .PHONY: hash/crc64/check @@ -2765,7 +2701,6 @@ hash/fnv.lo.dep: $(go_hash_fnv_files) hash/fnv.lo: $(go_hash_fnv_files) $(BUILDPACKAGE) hash/fnv/check: $(CHECK_DEPS) - @$(MKDIR_P) hash/fnv @$(CHECK) .PHONY: hash/fnv/check @@ -2775,7 +2710,6 @@ image/color.lo.dep: $(go_image_color_fil image/color.lo: $(go_image_color_files) $(BUILDPACKAGE) image/color/check: $(CHECK_DEPS) - @$(MKDIR_P) image/color @$(CHECK) .PHONY: image/color/check @@ -2785,7 +2719,6 @@ image/draw.lo.dep: $(go_image_draw_files image/draw.lo: $(go_image_draw_files) $(BUILDPACKAGE) image/draw/check: $(CHECK_DEPS) - @$(MKDIR_P) image/draw @$(CHECK) .PHONY: image/draw/check @@ -2795,7 +2728,6 @@ image/gif.lo.dep: $(go_image_gif_files) image/gif.lo: $(go_image_gif_files) $(BUILDPACKAGE) image/gif/check: $(CHECK_DEPS) - @$(MKDIR_P) image/gif @$(CHECK) .PHONY: image/gif/check @@ -2805,7 +2737,6 @@ image/jpeg.lo.dep: $(go_image_jpeg_files image/jpeg.lo: $(go_image_jpeg_files) $(BUILDPACKAGE) image/jpeg/check: $(CHECK_DEPS) - @$(MKDIR_P) image/jpeg @$(CHECK) .PHONY: image/jpeg/check @@ -2815,7 +2746,6 @@ image/png.lo.dep: $(go_image_png_files) image/png.lo: $(go_image_png_files) $(BUILDPACKAGE) image/png/check: $(CHECK_DEPS) - @$(MKDIR_P) image/png @$(CHECK) .PHONY: image/png/check @@ -2825,7 +2755,6 @@ index/suffixarray.lo.dep: $(go_index_suf index/suffixarray.lo: $(go_index_suffixarray_files) $(BUILDPACKAGE) index/suffixarray/check: $(CHECK_DEPS) - @$(MKDIR_P) index/suffixarray @$(CHECK) .PHONY: index/suffixarray/check @@ -2835,7 +2764,6 @@ io/ioutil.lo.dep: $(go_io_ioutil_files) io/ioutil.lo: $(go_io_ioutil_files) $(BUILDPACKAGE) io/ioutil/check: $(CHECK_DEPS) - @$(MKDIR_P) io/ioutil @$(CHECK) .PHONY: io/ioutil/check @@ -2848,7 +2776,6 @@ log/syslog/syslog_c.lo: $(go_syslog_c_fi @$(MKDIR_P) log/syslog $(LTCOMPILE) -c -o $@ $(srcdir)/go/log/syslog/syslog_c.c log/syslog/check: $(CHECK_DEPS) - @$(MKDIR_P) log/syslog @$(CHECK) .PHONY: log/syslog/check @@ -2858,7 +2785,6 @@ math/big.lo.dep: $(go_math_big_files) math/big.lo: $(go_math_big_files) $(BUILDPACKAGE) math/big/check: $(CHECK_DEPS) - @$(MKDIR_P) math/big @$(CHECK) .PHONY: math/big/check @@ -2868,7 +2794,6 @@ math/cmplx.lo.dep: $(go_math_cmplx_files math/cmplx.lo: $(go_math_cmplx_files) $(BUILDPACKAGE) math/cmplx/check: $(CHECK_DEPS) - @$(MKDIR_P) math/cmplx @$(CHECK) .PHONY: math/cmplx/check @@ -2878,7 +2803,6 @@ math/rand.lo.dep: $(go_math_rand_files) math/rand.lo: $(go_math_rand_files) $(BUILDPACKAGE) math/rand/check: $(CHECK_DEPS) - @$(MKDIR_P) math/rand @$(CHECK) .PHONY: math/rand/check @@ -2888,7 +2812,6 @@ mime/multipart.lo.dep: $(go_mime_multipa mime/multipart.lo: $(go_mime_multipart_files) $(BUILDPACKAGE) mime/multipart/check: $(CHECK_DEPS) - @$(MKDIR_P) mime/multipart @$(CHECK) .PHONY: mime/multipart/check @@ -2898,7 +2821,6 @@ net/http.lo.dep: $(go_net_http_files) net/http.lo: $(go_net_http_files) $(BUILDPACKAGE) net/http/check: $(CHECK_DEPS) - @$(MKDIR_P) net/http @$(CHECK) .PHONY: net/http/check @@ -2908,7 +2830,6 @@ net/mail.lo.dep: $(go_net_mail_files) net/mail.lo: $(go_net_mail_files) $(BUILDPACKAGE) net/mail/check: $(CHECK_DEPS) - @$(MKDIR_P) net/mail @$(CHECK) .PHONY: net/mail/check @@ -2918,7 +2839,6 @@ net/rpc.lo.dep: $(go_net_rpc_files) net/rpc.lo: $(go_net_rpc_files) $(BUILDPACKAGE) net/rpc/check: $(CHECK_DEPS) - @$(MKDIR_P) net/rpc @$(CHECK) .PHONY: net/rpc/check @@ -2928,7 +2848,6 @@ net/smtp.lo.dep: $(go_net_smtp_files) net/smtp.lo: $(go_net_smtp_files) $(BUILDPACKAGE) net/smtp/check: $(CHECK_DEPS) - @$(MKDIR_P) net/smtp @$(CHECK) .PHONY: net/smtp/check @@ -2938,7 +2857,6 @@ net/url.lo.dep: $(go_net_url_files) net/url.lo: $(go_net_url_files) $(BUILDPACKAGE) net/url/check: $(CHECK_DEPS) - @$(MKDIR_P) net/url @$(CHECK) .PHONY: net/url/check @@ -2948,7 +2866,6 @@ net/textproto.lo.dep: $(go_net_textproto net/textproto.lo: $(go_net_textproto_files) $(BUILDPACKAGE) net/textproto/check: $(CHECK_DEPS) - @$(MKDIR_P) net/textproto @$(CHECK) .PHONY: net/textproto/check @@ -2958,7 +2875,6 @@ net/http/cgi.lo.dep: $(go_net_http_cgi_f net/http/cgi.lo: $(go_net_http_cgi_files) $(BUILDPACKAGE) net/http/cgi/check: $(CHECK_DEPS) - @$(MKDIR_P) net/http/cgi @$(CHECK) .PHONY: net/http/cgi/check @@ -2968,7 +2884,6 @@ net/http/fcgi.lo.dep: $(go_net_http_fcgi net/http/fcgi.lo: $(go_net_http_fcgi_files) $(BUILDPACKAGE) net/http/fcgi/check: $(CHECK_DEPS) - @$(MKDIR_P) net/http/fcgi @$(CHECK) .PHONY: net/http/fcgi/check @@ -2978,7 +2893,6 @@ net/http/httptest.lo.dep: $(go_net_http_ net/http/httptest.lo: $(go_net_http_httptest_files) $(BUILDPACKAGE) net/http/httptest/check: $(check_deps) - @$(MKDIR_P) net/http/httptest @$(CHECK) .PHONY: net/http/httptest/check @@ -2988,7 +2902,6 @@ net/http/httputil.lo.dep: $(go_net_http_ net/http/httputil.lo: $(go_net_http_httputil_files) $(BUILDPACKAGE) net/http/httputil/check: $(check_deps) - @$(MKDIR_P) net/http/httputil @$(CHECK) .PHONY: net/http/httputil/check @@ -2998,7 +2911,6 @@ net/http/pprof.lo.dep: $(go_net_http_ppr net/http/pprof.lo: $(go_net_http_pprof_files) $(BUILDPACKAGE) net/http/pprof/check: $(CHECK_DEPS) - @$(MKDIR_P) net/http/pprof @$(CHECK) .PHONY: net/http/pprof/check @@ -3008,7 +2920,6 @@ net/rpc/jsonrpc.lo.dep: $(go_net_rpc_jso net/rpc/jsonrpc.lo: $(go_net_rpc_jsonrpc_files) $(BUILDPACKAGE) net/rpc/jsonrpc/check: $(CHECK_DEPS) - @$(MKDIR_P) net/rpc/jsonrpc @$(CHECK) .PHONY: net/rpc/jsonrpc/check @@ -3018,7 +2929,6 @@ old/netchan.lo.dep: $(go_old_netchan_fil old/netchan.lo: $(go_old_netchan_files) $(BUILDPACKAGE) old/netchan/check: $(CHECK_DEPS) - @$(MKDIR_P) old/netchan @$(CHECK) .PHONY: old/netchan/check @@ -3028,7 +2938,6 @@ old/regexp.lo.dep: $(go_old_regexp_files old/regexp.lo: $(go_old_regexp_files) $(BUILDPACKAGE) old/regexp/check: $(CHECK_DEPS) - @$(MKDIR_P) old/regexp @$(CHECK) .PHONY: old/regexp/check @@ -3038,7 +2947,6 @@ old/template.lo.dep: $(go_old_template_f old/template.lo: $(go_old_template_files) $(BUILDPACKAGE) old/template/check: $(CHECK_DEPS) - @$(MKDIR_P) old/template @$(CHECK) .PHONY: old/template/check @@ -3048,7 +2956,6 @@ os/exec.lo.dep: $(go_os_exec_files) os/exec.lo: $(go_os_exec_files) $(BUILDPACKAGE) os/exec/check: $(CHECK_DEPS) - @$(MKDIR_P) os/exec @$(CHECK) .PHONY: os/exec/check @@ -3058,7 +2965,6 @@ os/signal.lo.dep: $(go_os_signal_files) os/signal.lo: $(go_os_signal_files) $(BUILDPACKAGE) os/signal/check: $(CHECK_DEPS) - @$(MKDIR_P) os/signal @$(CHECK) .PHONY: os/signal/check @@ -3068,7 +2974,6 @@ os/user.lo.dep: $(go_os_user_files) os/user.lo: $(go_os_user_files) $(BUILDPACKAGE) os/user/check: $(CHECK_DEPS) - @$(MKDIR_P) os/user @$(CHECK) .PHONY: os/user/check @@ -3078,7 +2983,6 @@ path/filepath.lo.dep: $(go_path_filepath path/filepath.lo: $(go_path_filepath_files) $(BUILDPACKAGE) path/filepath/check: $(CHECK_DEPS) - @$(MKDIR_P) path/filepath @$(CHECK) .PHONY: path/filepath/check @@ -3088,7 +2992,6 @@ regexp/syntax.lo.dep: $(go_regexp_syntax regexp/syntax.lo: $(go_regexp_syntax_files) $(BUILDPACKAGE) regexp/syntax/check: $(CHECK_DEPS) - @$(MKDIR_P) regexp/syntax @$(CHECK) .PHONY: regexp/syntax/check @@ -3098,7 +3001,6 @@ runtime/debug.lo.dep: $(go_runtime_debug runtime/debug.lo: $(go_runtime_debug_files) $(BUILDPACKAGE) runtime/debug/check: $(CHECK_DEPS) - @$(MKDIR_P) runtime/debug @$(CHECK) .PHONY: runtime/debug/check @@ -3108,7 +3010,6 @@ runtime/pprof.lo.dep: $(go_runtime_pprof runtime/pprof.lo: $(go_runtime_pprof_files) $(BUILDPACKAGE) runtime/pprof/check: $(CHECK_DEPS) - @$(MKDIR_P) runtime/pprof @$(CHECK) .PHONY: runtime/pprof/check @@ -3120,7 +3021,6 @@ sync/atomic.lo: $(go_sync_atomic_files) sync/atomic_c.lo: $(go_sync_atomic_c_files) sync/atomic.lo $(LTCOMPILE) -c -o $@ $(srcdir)/go/sync/atomic/atomic.c sync/atomic/check: $(CHECK_DEPS) - @$(MKDIR_P) sync/atomic @$(CHECK) .PHONY: sync/atomic/check @@ -3130,7 +3030,6 @@ text/scanner.lo.dep: $(go_text_scanner_f text/scanner.lo: $(go_text_scanner_files) $(BUILDPACKAGE) text/scanner/check: $(CHECK_DEPS) - @$(MKDIR_P) text/scanner @$(CHECK) .PHONY: text/scanner/check @@ -3140,7 +3039,6 @@ text/tabwriter.lo.dep: $(go_text_tabwrit text/tabwriter.lo: $(go_text_tabwriter_files) $(BUILDPACKAGE) text/tabwriter/check: $(CHECK_DEPS) - @$(MKDIR_P) text/tabwriter @$(CHECK) .PHONY: text/tabwriter/check @@ -3159,7 +3057,6 @@ text/template/parse.lo.dep: $(go_text_te text/template/parse.lo: $(go_text_template_parse_files) $(BUILDPACKAGE) text/template/parse/check: $(CHECK_DEPS) - @$(MKDIR_P) text/template/parse @$(CHECK) .PHONY: text/template/parse/check @@ -3169,7 +3066,6 @@ testing/iotest.lo.dep: $(go_testing_iote testing/iotest.lo: $(go_testing_iotest_files) $(BUILDPACKAGE) testing/iotest/check: $(CHECK_DEPS) - @$(MKDIR_P) testing/iotest @$(CHECK) .PHONY: testing/iotest/check @@ -3179,7 +3075,6 @@ testing/quick.lo.dep: $(go_testing_quick testing/quick.lo: $(go_testing_quick_files) $(BUILDPACKAGE) testing/quick/check: $(CHECK_DEPS) - @$(MKDIR_P) testing/quick @$(CHECK) .PHONY: testing/quick/check @@ -3189,7 +3084,6 @@ unicode/utf16.lo.dep: $(go_unicode_utf16 unicode/utf16.lo: $(go_unicode_utf16_files) $(BUILDPACKAGE) unicode/utf16/check: $(CHECK_DEPS) - @$(MKDIR_P) unicode/utf16 @$(CHECK) .PHONY: unicode/utf16/check @@ -3199,7 +3093,6 @@ unicode/utf8.lo.dep: $(go_unicode_utf8_f unicode/utf8.lo: $(go_unicode_utf8_files) $(BUILDPACKAGE) unicode/utf8/check: $(CHECK_DEPS) - @$(MKDIR_P) unicode/utf8 @$(CHECK) .PHONY: unicode/utf8/check