2

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?

Jim McAdams
  • 1,034
  • 1
  • 14
  • 30
  • On a side note: I tested the following I compiled a relatively simple program using SDP6.6.0 and executed it on Neutrino 6.5.0. It does run with some compiler option modification (see also [here](http://stackoverflow.com/questions/30535117/qnx-runtime-error-unknown-symbol-stack-chk-guard)). – Jim McAdams May 29 '15 at 17:04

2 Answers2

5

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.

Community
  • 1
  • 1
Jim McAdams
  • 1,034
  • 1
  • 14
  • 30
1

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.

dguy321
  • 11
  • 1
  • Hi, [dguy321](http://stackoverflow.com/users/5038415/dguy321). Thanks for taking the time. ;) In fact, I'm interested in both ways backward and forward compatibility. However, I'm pretty sure I'm asking for backward compatibility (i.e. sw produced for newer systems running on older systems). Having said that, I think you would be right saying that forward compatibility does imply that older systems partly can understand data generated for newer systems. – Jim McAdams Jun 23 '15 at 14:20