[odb-users] Support for ODB on QNX

Boris Kolpackov boris at codesynthesis.com
Wed Aug 26 08:55:46 EDT 2020

Juan Pablo Samper <jp.samper at apex.ai> writes:

> I also get that we have to be careful to not use platform-specific
> constructs; however, QNX defines its own timeval, which wraps the
> platform-specific part (e.g. __time_t).
> The ODB compiler seems to be using information from the underlying Linux
> implementation of timeval which negates the QNX wrapper.

Yes, it uses Linux headers since you built the ODB compiler to use
host's GCC. If your QNX cross-compiler is also GCC and has plugin
support enabled, then theoretically you could build ODB to use that
(and thus QNX headers), however, we never tried anything like that.

Note also that depending on platform-specific definitions has other
drawbacks. For example, POSIX does not define the size of types used
in the timeval definition and the implementation is free to change
them from release to release. So you may end up with different and
incompatible database schemas on, say, qnx6.0.0 and qnx7.0.0.

Overall, depending on platform-specific definitions for database
mapping is a can of worms that we strongly recommend one does not

More information about the odb-users mailing list