From patchwork Thu Nov 7 23:39:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Lance Taylor X-Patchwork-Id: 289531 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 832DD2C00BA for ; Fri, 8 Nov 2013 10:39:27 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; q=dns; s=default; b=i51j6urdzRONSMPY/T Kt3kpc4U3sQxNDQj3o6+RQaXAqK07B4LZSZubNBxEDjGhMOIrjXLeakLXh4+iMzi ZDUer/diT3dT2bgm6Bwg7/RiqR0aey1CFaWXQFrJMBerzPwDyaEO81CC1hZzw7S+ nvPyy8KdRAqTpbsr2EIgntrQE= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; s=default; bh=6qf7YYQ6HVUd46PkEYUPvWwW rHg=; b=heHjyhfr682wUxhjnlwuG/z0toVgCoBTufVPk2S5dDbgnsydEC81WXU9 u6TDm7iGT3v+yS5itKd0Lle/VXnY3rU6r+5EU4EBKUFZhXl7LC+qwQD3o6flIOEK 9302A2M3suCHZrBtxWF0eYjuPeqa9TQH3/k8GQdi7PSJYvB5peo= Received: (qmail 4702 invoked by alias); 7 Nov 2013 23:39:13 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 4690 invoked by uid 89); 7 Nov 2013 23:39:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=2.9 required=5.0 tests=AWL, BAYES_50, RDNS_NONE, SPAM_SUBJECT, SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-oa0-f44.google.com Received: from Unknown (HELO mail-oa0-f44.google.com) (209.85.219.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 07 Nov 2013 23:39:12 +0000 Received: by mail-oa0-f44.google.com with SMTP id i7so1767147oag.17 for ; Thu, 07 Nov 2013 15:39:04 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=HQePdA3cnCBhOJ2jhcyuZdY/HhapgYL13EX06j28OgA=; b=GNl6afEzEbxjvOpCH0yyZ2UP5oaSiALasDT90RcSentQ1jejPUJ4X9NI9JSyENmPvO 5lZdflTVhQP5bjzD2F9A/EaglyZ9gIWPeGwpsikm3+QWixWO+uEtEbDRpjGsYHhBOMes pdlO9f3nu9/79wc47dnHy0N9FUFXimuHu7sAT2PLldUJ6ribgh3iAJT6DbI95418tu/c vFDdWJqiO3ADEX0zPh89DIh71ppqz0CgxzMisE35JQEzjb9ZSwphG/Bhy883PDPd6uWt 5IN1+8ZBgrIAq8QO6qGqe8ZDdQEghuzZspNuQdl1vG2lMjU2/Pr9NMy3IDQGOe8lnjGe wWjA== X-Gm-Message-State: ALoCoQnUvOjcMrSSkmbIKb29sTVJ2FSlo/Ppx7q8m6yNfTWUsv7jDZQSsY0DPYEx3PA9sFKe1y4njHEfzn9fI8ng4dKk7Ki280cFEXh0MedvLQz8D3wKo7o37t11ZABxrPAlqqihhvHrSLxQBcZTjzQ6Espvmi/ZLTPESUQV8Vc5+RC8piRJGGrWFb37XXdiyqkQVwXXRBTrjc7BWol7kIF7evguw2fXbg== MIME-Version: 1.0 X-Received: by 10.182.131.196 with SMTP id oo4mr2116330obb.50.1383867544247; Thu, 07 Nov 2013 15:39:04 -0800 (PST) Received: by 10.60.145.144 with HTTP; Thu, 7 Nov 2013 15:39:03 -0800 (PST) In-Reply-To: References: Date: Thu, 7 Nov 2013 15:39:03 -0800 Message-ID: Subject: Re: Recent Go patch broke Alpha bootstrap From: Ian Lance Taylor To: Uros Bizjak Cc: "gcc-patches@gcc.gnu.org" X-IsSubscribed: yes On Thu, Nov 7, 2013 at 2:25 PM, Uros Bizjak wrote: > > Recent Go mega-patch broke Alpha bootstrap. Following fixlet is needed: > > --cut here-- > Index: runtime/proc.c > =================================================================== > --- runtime/proc.c (revision 204522) > +++ runtime/proc.c (working copy) > @@ -2098,7 +2098,7 @@ > __splitstack_block_signals_context(&newg->stack_context[0], > &dont_block_signals, nil); > #else > - *ret_stack = runtime_mallocgc(stacksize, > FlagNoProfiling|FlagNoGC, 0, 0); > + *ret_stack = runtime_mallocgc(stacksize, 0, > FlagNoProfiling|FlagNoGC); > *ret_stacksize = stacksize; > newg->gcinitial_sp = *ret_stack; > newg->gcstack_size = stacksize; > --cut here-- > > However, all runtime tests panic with: > > gmake[2]: *** [os/check] Error 1 > runtime: address space conflict: map(0xc000001000) = 0xc000002000 > fatal error: runtime: address space conflict Thanks for the patch and report. This patch should fix them. Bootstrapped and tested on x86_64-unknown-linux-gnu, not that that proves much. Committed to mainline. Ian diff -r 9f650ddab115 libgo/runtime/mheap.c --- a/libgo/runtime/mheap.c Wed Nov 06 11:23:33 2013 -0800 +++ b/libgo/runtime/mheap.c Thu Nov 07 15:34:54 2013 -0800 @@ -68,6 +68,7 @@ void runtime_MHeap_MapSpans(MHeap *h) { + uintptr pagesize; uintptr n; // Map spans array, PageSize at a time. @@ -76,6 +77,8 @@ n -= (uintptr)h->arena_start; n = n / PageSize * sizeof(h->spans[0]); n = ROUND(n, PageSize); + pagesize = getpagesize(); + n = ROUND(n, pagesize); if(h->spans_mapped >= n) return; runtime_SysMap((byte*)h->spans + h->spans_mapped, n - h->spans_mapped, &mstats.other_sys); diff -r 9f650ddab115 libgo/runtime/proc.c --- a/libgo/runtime/proc.c Wed Nov 06 11:23:33 2013 -0800 +++ b/libgo/runtime/proc.c Thu Nov 07 15:34:54 2013 -0800 @@ -2098,7 +2098,7 @@ __splitstack_block_signals_context(&newg->stack_context[0], &dont_block_signals, nil); #else - *ret_stack = runtime_mallocgc(stacksize, FlagNoProfiling|FlagNoGC, 0, 0); + *ret_stack = runtime_mallocgc(stacksize, 0, FlagNoProfiling|FlagNoGC); *ret_stacksize = stacksize; newg->gcinitial_sp = *ret_stack; newg->gcstack_size = stacksize;