14. Armv8-A QNX 7.1.0

The aarch64-unknown-nto-qnx710 Ferrocene target provides support for QNX on ARMv8-A processors operating in Aarch64 mode.

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 Armv8-A QNX 7.1.0. Compiling from x86-64 Windows will be supported 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.

14.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 documents how our internal QNX toolchains are installed and configured in internal procedures (QNX). Your organizational and licensing needs may differ.

14.2. Archives to install

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

  • rust-std-aarch64-unknown-nto-qnx710

14.3. Required shell environment

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

You must source qnxsdp-env.sh from your QNX SDP 7.1.0 installation:

source $QNX_SDP_710_INSTALL/qnxsdp-env.sh

CC_aarch64-unknown-nto-qnx710=qcc
CFLAGS_aarch64-unknown-nto-qnx710=-Vgcc_ntoaarch64le_cxx
CXX_aarch64-unknown-nto-qnx710=qcc
AR_aarch64_unknown_nto_qnx710=ntoaarch64-ar

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

14.4. Required compiler flags

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

  • --target=aarch64-unknown-nto-qnx710