Hello again,
Norman thank you for this insight.
On Thu, Mar 31, 2016 at 8:46 AM Norman Feske <norman.feske@...1...> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hello,
That said I would be happy if Go worked, but to me it would be too much effort to port enough of the standard library to make Genode a viable platform for a lot of existing Go programs. I came to Go from Plan 9 and think it would hard to leverage the flexibilty of Genode with a language so strongly influenced by unix.
whereas I don't know whether or not Go would be good language to write Genode components in, I think that the ability to run Go programs directly on Genode would be very interesting. For example, the custom applications by Inversepath (e.g., for file encryption) for the USB Armory are written in Go. Right now, we need to run them on top of Linux on the USB Armory. With Genode supporting Go directly, we could eventually move those applications to the Genode world.
On a technical level, I have a question though: As far as I know, the Go tool chain produces statically-linked binaries. Is this mandatory or is it possible to produce position-independent code (to be loaded by a dynamic linker) as well? I ask because I'm planning to move Genode's kernel-specific code into the dynamic linker and keep the actual applications and libraries kernel-agnostic. If Go executables must always be statically linked, this concept wouldn't work for such programs, which would be unfortunate.
This is exactly why I needed to ask. It is possible since 1.5 version via "-buildmode=c-shared" flag. It can even export packages as static libraries as well as shared objects that can be linked into C programs. Gccgo on the other hand has had a limited corresponding option.
Unfortunately I'd need to build 1.4 version first so that it could cross-compile later versions (1.6 is current). Since 1.5 version of Golang most of C code has been replaced by go code.
I'll see if I can make a couple of tests during the weekend and will get back to y'all.
Cheers Norman
Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux)
iEYEARECAAYFAlb8wlwACgkQQwppp8aV4siiTwCfQf1ZG5biK/k+/N9j3dhPRxen vwUAnjqhg+oc3qUlbpV1DHaQ1oPYrsHj =rXt8 -----END PGP SIGNATURE-----
Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140 _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Regards, P.