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.