From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com [IPv6:2a00:1450:4864:20::642]) by sourceware.org (Postfix) with ESMTPS id 0D8B0386F82E for ; Tue, 4 Aug 2020 17:22:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0D8B0386F82E Received: by mail-ej1-x642.google.com with SMTP id o18so43296268eje.7 for ; Tue, 04 Aug 2020 10:22:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=crZM5Ejmz8yJV5IuPqtkGbr3803NR/rv3EG+H9eVBHU=; b=anW8DM+75z5suZDZ6gZx+dHckbZR3Elc4p7ru2kYMG7hXYgNtmccqbw1q4gFfbOYfo hWX9e8cMmSzgMj9DoTUbzpKCkNozEbQcTYe41i0xyD14+8Q48JC9YDmb+0eLmlLNUK6/ 64d3xz6umQWbv4wADgNO1yM7zUwQ6DKP9EsywiEw43vmAam8xCpUFRcf8t/egyT2AxgQ +WuBci/cXiheELg9xDRlkMm1BhDj02rxmqgtgXpeMkKrIL1p419DHootB7a3Y7VPuGfo jwxrf5GWYeHG2hLWIgH9s+aQXtbHoJm+WflRBnSiAoxAz2vuHDAdvr/VfHDgBnLRWFmN lpiw== X-Gm-Message-State: AOAM532P7bQAMXvc8xHCuS/b5waA6sbrZlIHGT39n9KQk+qjd/fEVLO1 N1+N/3m2qlYuU5MxZwyGZlq3JZUnMSr6drcqqS5uEw== X-Google-Smtp-Source: ABdhPJwG19jb3MdOHeIh/k7H1ZOFFDZX/stRHchnu1jJfVfN8i718TpluhjoO8b87iL/VOhXIJt04qmrdwH6MJ02FNo= X-Received: by 2002:a17:906:2542:: with SMTP id j2mr21868847ejb.442.1596561730061; Tue, 04 Aug 2020 10:22:10 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ian Lance Taylor Date: Tue, 4 Aug 2020 10:21:58 -0700 Message-ID: Subject: Re: libgo patch committed: Update to go1.15rc1 To: Rainer Orth Cc: Ian Lance Taylor via Gcc-patches , gofrontend-dev Content-Type: multipart/mixed; boundary="000000000000c867d505ac107e25" X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Aug 2020 17:22:12 -0000 --000000000000c867d505ac107e25 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Aug 2, 2020 at 1:00 PM Rainer Orth wr= ote: > > Hi Ian, > > > This libgo patch updates the sources to the go1.15rc1 release > > candidate. As usual, the changes for this update are too large to > > include in an e-mail message. I've just included the highlights and > > changes to GCC-specific files below. Bootstrapped and ran Go > > testsuite on x86_64-pc-linux-gnu. Committed to mainline. > > this seems to have broken the libgo build with 32-bit compilers: > > $ files=3D`echo /vol/gcc/src/hg/master/local/libgo/go/time/tzdata/tzdata.= go /vol/gcc/src/hg/master/local/libgo/go/time/tzdata/zipdata.go errors.gox = syscall.gox | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; /bin/ksh ./lib= tool --tag GO --mode=3Dcompile /var/gcc/regression/master/11.4-gcc-gas/buil= d/./gcc/gccgo -B/var/gcc/regression/master/11.4-gcc-gas/build/./gcc/ -B/vol= /gcc/i386-pc-solaris2.11/bin/ -B/vol/gcc/i386-pc-solaris2.11/lib/ -isystem = /vol/gcc/i386-pc-solaris2.11/include -isystem /vol/gcc/i386-pc-solaris2.11/= sys-include -fchecking=3D1 -minline-all-stringops -O2 -g -I . -c -fgo-p= kgpath=3D`echo time/tzdata.lo | sed -e 's/.lo$//'` -o time/tzdata.lo $file= s > libtool: compile: /var/gcc/regression/master/11.4-gcc-gas/build/./gcc/gc= cgo -B/var/gcc/regression/master/11.4-gcc-gas/build/./gcc/ -B/vol/gcc/i386-= pc-solaris2.11/bin/ -B/vol/gcc/i386-pc-solaris2.11/lib/ -isystem /vol/gcc/i= 386-pc-solaris2.11/include -isystem /vol/gcc/i386-pc-solaris2.11/sys-includ= e -fchecking=3D1 -minline-all-stringops -O2 -g -I . -c -fgo-pkgpath=3Dtime/= tzdata /vol/gcc/src/hg/master/local/libgo/go/time/tzdata/tzdata.go /vol/gcc= /src/hg/master/local/libgo/go/time/tzdata/zipdata.go -fPIC -o time/.libs/t= zdata.o > terminate called after throwing an instance of 'std::bad_alloc' > what(): std::bad_alloc > go1: internal compiler error: Abort > mmap: Not enough space > > I'm seeing this on all of i386-pc-solaris2.11, sparc-sun-solaris2.11, > and i686-pc-linux-gnu. amd64-pc-solaris2.11 and sparcv9-sun-solaris2.11 > are ok, though (running make check right now). This is fixed by this patch to the Go frontend that deletes lowered constant strings. If we lower a constant string operation in a Binary_expression, we delete the strings. This is safe because constant strings are always newly allocated. This is a hack to use much less memory when compiling the new time/tzdata package, which has a file that contains the sum of over 13,000 constant strings. We don't do this for numeric expressions because that could cause us to delete an Iota_expression. The Go frontend should have a cleaner approach to memory usage some day. This also fixes PR go/96450. Bootstrapped and tested on x86_64-pc-linux-gnu and verified that I could build the time/tzdata package on i686-pc-linux-gnu. Committed to mainline. Ian --000000000000c867d505ac107e25 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kdg7m8oi0 MjA2NjM5MzI4MGY1YzE1NzM1MzVjNmE4NjNjMzhjZmU2YmFlZGFlOApkaWZmIC0tZ2l0IGEvZ2Nj L2dvL2dvZnJvbnRlbmQvTUVSR0UgYi9nY2MvZ28vZ29mcm9udGVuZC9NRVJHRQppbmRleCAwYmM4 ZTFiNWE1OS4uYzIxYjYwMDAyMjkgMTAwNjQ0Ci0tLSBhL2djYy9nby9nb2Zyb250ZW5kL01FUkdF CisrKyBiL2djYy9nby9nb2Zyb250ZW5kL01FUkdFCkBAIC0xLDQgKzEsNCBAQAotN2YwZDM4MzRh YzQwY2YzYmNiZWI5YjEzOTI2YWI1Y2NiMjUyMzUzNworZjQ1YWZlZGY5MGFjOWFmOGYwM2Q3ZDQ1 MTVlOTUyY2JkNzI0OTUzYQogCiBUaGUgZmlyc3QgbGluZSBvZiB0aGlzIGZpbGUgaG9sZHMgdGhl IGdpdCByZXZpc2lvbiBudW1iZXIgb2YgdGhlIGxhc3QKIG1lcmdlIGRvbmUgZnJvbSB0aGUgZ29m cm9udGVuZCByZXBvc2l0b3J5LgpkaWZmIC0tZ2l0IGEvZ2NjL2dvL2dvZnJvbnRlbmQvZXhwcmVz c2lvbnMuY2MgYi9nY2MvZ28vZ29mcm9udGVuZC9leHByZXNzaW9ucy5jYwppbmRleCA5MGY4NjBi ZDczNS4uN2U3ZmI4YzczMTMgMTAwNjQ0Ci0tLSBhL2djYy9nby9nb2Zyb250ZW5kL2V4cHJlc3Np b25zLmNjCisrKyBiL2djYy9nby9nb2Zyb250ZW5kL2V4cHJlc3Npb25zLmNjCkBAIC01NTYsNyAr NTU2LDEwIEBAIEV4cHJlc3Npb246OmdldF9iYWNrZW5kKFRyYW5zbGF0ZV9jb250ZXh0KiBjb250 ZXh0KQogewogICAvLyBUaGUgY2hpbGQgbWF5IGhhdmUgbWFya2VkIHRoaXMgZXhwcmVzc2lvbiBh cyBoYXZpbmcgYW4gZXJyb3IuCiAgIGlmICh0aGlzLT5jbGFzc2lmaWNhdGlvbl8gPT0gRVhQUkVT U0lPTl9FUlJPUikKLSAgICByZXR1cm4gY29udGV4dC0+YmFja2VuZCgpLT5lcnJvcl9leHByZXNz aW9uKCk7CisgICAgeworICAgICAgZ29fYXNzZXJ0KHNhd19lcnJvcnMoKSk7CisgICAgICByZXR1 cm4gY29udGV4dC0+YmFja2VuZCgpLT5lcnJvcl9leHByZXNzaW9uKCk7CisgICAgfQogCiAgIHJl dHVybiB0aGlzLT5kb19nZXRfYmFja2VuZChjb250ZXh0KTsKIH0KQEAgLTYwODAsNiArNjA4Myw4 IEBAIEJpbmFyeV9leHByZXNzaW9uOjpkb19sb3dlcihHb2dvKiBnb2dvLCBOYW1lZF9vYmplY3Qq LAogICAgICAgICAgICAgICBUeXBlKiByZXN1bHRfdHlwZSA9IChsZWZ0LT50eXBlKCktPm5hbWVk X3R5cGUoKSAhPSBOVUxMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbGVm dC0+dHlwZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmlnaHQtPnR5 cGUoKSk7CisJICAgICAgZGVsZXRlIGxlZnQ7CisJICAgICAgZGVsZXRlIHJpZ2h0OwogICAgICAg ICAgICAgICByZXR1cm4gRXhwcmVzc2lvbjo6bWFrZV9zdHJpbmdfdHlwZWQobGVmdF9zdHJpbmcg KyByaWdodF9zdHJpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZXN1bHRfdHlwZSwgbG9jYXRpb24pOwogICAgICAgICAgICAgfQpAQCAtNjA4 Nyw2ICs2MDkyLDggQEAgQmluYXJ5X2V4cHJlc3Npb246OmRvX2xvd2VyKEdvZ28qIGdvZ28sIE5h bWVkX29iamVjdCosCiAJICAgIHsKIAkgICAgICBpbnQgY21wID0gbGVmdF9zdHJpbmcuY29tcGFy ZShyaWdodF9zdHJpbmcpOwogCSAgICAgIGJvb2wgciA9IEJpbmFyeV9leHByZXNzaW9uOjpjbXBf dG9fYm9vbChvcCwgY21wKTsKKwkgICAgICBkZWxldGUgbGVmdDsKKwkgICAgICBkZWxldGUgcmln aHQ7CiAJICAgICAgcmV0dXJuIEV4cHJlc3Npb246Om1ha2VfYm9vbGVhbihyLCBsb2NhdGlvbik7 CiAJICAgIH0KIAl9Cg== --000000000000c867d505ac107e25--