From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Tue, 5 Apr 2011 06:33:31 +0200 From: Lucio De Re To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <20110405043331.GD2000@fangle.proxima.alt.za> References: <20110403211333.GA3905@dinah> <20110403211652.GA5977@dinah> <20110403223031.GA27441@dinah> <20110404172728.GA2000@fangle.proxima.alt.za> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Subject: Re: [9fans] Go Plan 9 Topicbox-Message-UUID: c95cc08a-ead6-11e9-9d60-3106f5b1d025 On Mon, Apr 04, 2011 at 04:10:15PM -0700, ron minnich wrote: > > On Mon, Apr 4, 2011 at 10:27 AM, Lucio De Re wrote: > > > May I suggest that we identify Go executables, because they may not run > > under 9vx, as different from Plan 9 executables and adjust the Plan 9 > > kernel to identify these and avoid running them under 9vx? > > > um, yuck :-) > > anyway, all you're saying is "don't run go on 9vx". That's a solved problem :-) > No, and no "yuck", either: Go executables are different animals and they are allowed to be identified as such. Until they are not, when they are allowed to become the same animal. As for not running Go on 9vx, that's a pain, I have such a nice 9vx installation on my Ubuntu 32-bit laptop that it almost fools me into believing it's Plan 9. I don't always have a convenient CPU server at hand to run Go on it. And maybe it's just me being uninformed, but I have this suspicion that you need a Go toolchain with Plan 9 targets to produce Plan 9 executables. Maybe I should phrase this as a question: does the default Go toolchain produce Plan 9 executables or is a separate toolchain required for it? I'm pretty certain there's a need for two toolchains, but I'll be very happy to be proven wrong (and Ron right, of course). The proof would be in the pudding: I tried to compile hell-o.go (I guess that will become a benchmark :-) under an unadulterated Go toolchain, then under a Go toolchain built for the Plan 9 target (GOOS=plan9) and the object code produced showed distincly different sizes. I don't have the details at my fingertips now, this is from memory. And for Cinap, a challenge I wish I had the time and skills to take on myself: can linuxemu be added as a much thinner shim to 9vx to run Linux executables? I can think of one very interesting door that would open, there may be others. ++L