15. x86-64 QNX 7.1.0

The x86_64-pc-nto-qnx710 Ferrocene target provides support for QNX on x86-64 processors.

Note

QNX SDP only supports x86-64 Linux (glibc) and x86-64 Windows as host platforms.

Currently, Ferrocene only tests cross compiling from x86-64 Linux (glibc) to x86-64 QNX 7.1.0. Compiling from x86-64 Windows will be tested in the future.

QNX does not support Apple Silicon macOS as a host platform. QNX is deprecating support for x86-64 macOS as a host platform.

15.1. Prerequisites

This target requires QNX Software Development Platform 7.1.0 (QNX SDP 7.1.0) to be installed.

Typically this is done through QNX Software Center.

Ferrocene is qualified using a specific version QNX SDP version. In safety critical contexts you must ensure 7.1.0.00472T202006132107S (also known as 7.1 BuildID 472) is used.

QNX_VERSION="7.1.0.00472T202006132107S"

qnx/qnxsoftwarecenter/qnxsoftwarecenter_clt \
    -installBaseline com.qnx.qnx710/$QNX_VERSION \
    -destination qnx/qnx710-472 \
    -cleanInstall

In an existing QNX 7.1.0 install you can check for the presence of the .packages/metadata/com.qnx.qnx710/7.1.0.00472T202006132107S/ directory.

Ferrocene documents how our internal QNX toolchains are installed and configured in internal procedures (QNX). Your organizational and licensing needs may differ.

15.2. Archives to install

The following archives are needed when installing this target as a cross-compilation target:

  • rust-std-x86_64-pc-nto-qnx710

15.3. Required shell environment

To use the target, the following procedures must be undertaken in the shell running the build.

You must ensure $HOME is set to a valid path, then source qnxsdp-env.sh from your QNX SDP 7.1.0 installation:

source $QNX_SDP_710_INSTALL/qnxsdp-env.sh

On x86-64 Windows, there exists a qnxsdp-env.bat if required. Ferrocene is internally tested using bash.exe provided by Git for Windows.

15.4. Required compiler flags

To use the target, the following additional flags must be provided to rustc:

  • --target=x86_64-pc-nto-qnx710