From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id CF8EF3856DC4; Sun, 30 Oct 2022 18:14:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CF8EF3856DC4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1667153652; bh=TbT17Z21mDjRvp8sRPaiRHr2gR0HduYQegzUwANHsLc=; h=From:To:Subject:Date:In-Reply-To:References:From; b=NbYjZ5r5iUpUqX7MKcrYjwMadVNqkzJzAjkQ1LtRLgpP9q/OoyLJgpyjRJL8RM3Wk 4kk1XAXin9uZC1FpMlnYAGEAzvk/SCSBK+DjhbKxHdjdMA0UTS91Ua93be0Cy+NDge PnOskUbH05sXq3fxv1BsjvDhExgEI9xO1H1hslco= From: "iains at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug go/46986] Go is not supported on Darwin Date: Sun, 30 Oct 2022 18:14:11 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: go X-Bugzilla-Version: 4.5.4 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: iains at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: ian at airs dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: everconfirmed bug_status Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D46986 Iain Sandoe changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|1 |0 Status|SUSPENDED |UNCONFIRMED --- Comment #48 from Iain Sandoe --- (In reply to Sergey Fedorov from comment #47) > (In reply to Ian Lance Taylor from comment #46) > > A small bit of work is needed on the codegen, to read and write the exp= ort > > data. And some work is required on the runtime, to clean it up to supp= ort > > Darwin. It has to be done by someone with access to a modern Darwin sy= stem. >=20 > I could do something on this, perhaps, provided it is not overly demanding > in terms of expertise. Or do those parts which are such :) >=20 > While I have more interest in Darwin PPC, since Go is broken there (ppc32 > support exists in out-of-tree branch of Go 1.9, though not for Darwin, > however the only Go bootstrappable from C, 1.4, is x86-only), access to > modern x86_64 Darwin is there. with care, most of the time, FE stuff tends to be quite neutral about the eventual Darwin target (generic Mach-O constraints are similar between the sub-targets***). The runtime, of course, is likely to be more specific. = I'd recommend starting on x86_64 since that's pretty stable, and then we can lo= ok at i686 ... and when that works, ppc is likely to be quite easy. Arm64 is still pretty experimental, and there are known TODOs for ABI compliance, so I'd avoid that sub-platform initially (despite that it's the most modern). *** aarch64/arm64 Darwin has some much tighter constraints security-wise - = in particular stack-based trampolines are not allowed - but we have a draft of= a heap-based scheme in the devt. branch .. you'd just need to look at what has been done for C, Fortran and Ada.=