On Fri, Jan 17, 2020 at 5:41 AM Steve Simon <quint...@gmail.com> wrote:
>
> There was an RTEMS port as a GSOC project about 10 years ago, this was a port 
> of gccgo to x86.
>
> I would like to be able to run go apps under RTEMS on Arm, but have no real 
> understanding of the effort required
> to do so. Would anyone be able to summerize in a few sentences?
>
> I could use an external linux box to run my app and access RTEMS over the 
> wire but it would be cleaner and easier
> to maintain if I could run my go app hosted on RTEMS itself.

This would be a port to a new, entirely different, operating system.
If you look at the runtime package, it would require writing entirely
new versions of os_linux.go and sys_linux_arm.  You would likely need
something to replace netpoll_epoll.go; I forget how RTEMS handles
select/poll.  You would need a new implementation of the syscall
package, appropriate for RTEMS.  More broadly, anywhere you see a
*_linux.go or *_unix.go file in the standard library, you would likely
need a new implementation.

So: a fair amount of work, but certainly doable.  As you say, it was
done once before, although porting gccgo was likely easier than
porting the gc toolchain.

Hope this helps.

Ian

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAOyqgcVF3w2znkHGxPNJTJUXP7YgZYXkiaMKa_x9UZuzL%2B9Row%40mail.gmail.com.

Reply via email to