Hi Efraim

You can take a binary built for linux/386, copy it to a QNX system and run 
it. The QNX loader will load and execute these binaries. Of course the 
program will not get very far during its execution, I think it crashes at 
the first "int $0x80" instruction, which is to be expected. This what I 
mean by "some success executing": instructions from the program get run 
until the process hits an instruction that does not make sense for a QNX 
process.

I also wrote

Hacking QNX syscalls via int $0x28 directly into runtime.rt0_linux_386, I 
> have been able to write to stdout and exit the program gracefully.


That means I edited rt0_linux_386.s, specifially the function 
_rt0_386_linux, which begins with the first instruction run by a Go 
program. I wrote code, in this assembler function, to synthesize an 
_IO_WRITE message and call MsgSendv through the syscall interface, which 
works by executing "int $0x28".

I never had anything close to a QNX port. The only thing I showed is that 
the output of the current linux/386 toolchain can be used to run code on a 
QNX system.

Are your port efforts public?


Cheers,
Michael

On Friday, June 24, 2016 at 8:57:21 PM UTC+2, Efraim Sealman wrote:
>
> Hello,
>
> Can you please share some info about how you made the go binary to run on 
> QNX? 
>
> Aram,
>
> Can you please share what have you done for solaris to support go 
> compiler? Watched the video that you posted and couldn't get much from it. 
> Couldn't find the slides though. We're looking to make the same thing for 
> QNX and need your help. Any info is appreciated .
>
> Thanks,
> Efraim Sealman
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to