What's the difference between QNX 6.5.0(SP1) and 6.6.0 (backwards compatibility)?

自古美人都是妖i 提交于 2019-12-11 03:59:46

问题


Couldn't find actual release notes that point out the exact difference between QNX 6.5.1 and 6.6.0. I know that Photon's not supported anymore.

So far, I've got SDP 6.6.0 but it might be that I need my software also to run on 6.5.0. So what is the actual backward compatibility level to 6.5.0? Some state that "6.6 is binary compatible with 6.5" [1] - can anyone support this with official documents?

Since QNX follows the POSIX standard, I suppose that the APIs are the same and should be indeed provide backwards compatibility. So the programs created for 6.6.0 should basically also run on 6.5.0, right?


回答1:


Differences I discovered so far.

  • using SDP 6.6.0 (i486-pc-nto-qnx6.6.0-g++) and running software on QNX 6.5.0:
    • gcc stack protector has to be disabled: qcc .. -fno-stack-protector (see also here)
    • when using dlopen() [1] to link against shared libraries SDP 6.6.0 will use libcpp.so.5 while QNX 6.5.0 only provides libcpp.so.4.

Additionally: I found a forum thread where Ryan Mansfield (QNX compiler lead maintainer, I think) says:

One problem [one] might hit trying to get 6.6.0 binaries to run on 6.5.0, is that everything is built is with -fstack-protector, which relies on support in libc. This wasn't in the 6.5.0 libc but IIRC, 6.5.0SP1 added.




回答2:


What you're asking about is 'forward' compatibility. 6.6.0 is backwards compatible with earlier versions of QNX which means software written on 6.5 or 6.4 will run on 6.6.

If you need sw to run on older systems, it is better to build it on the OS at that version level and still be able to deploy your sw on later versions of the OS.



来源:https://stackoverflow.com/questions/30460288/whats-the-difference-between-qnx-6-5-0sp1-and-6-6-0-backwards-compatibility

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!