QNX SDP 8.0.4 Release Notes
QNX SDP is a cross-compiling and debugging environment, including an IDE and command-line tools, for building binary images and programs for target boards running the QNX OS 8.0.4. These release notes describe the key features of this new release and the notable improvements since the previous release, and provide installation instructions.
Date of this edition: April 8, 2026
Target hardware
This product can run on x86_64 hardware platforms and AArch64 platforms that support the ARM 64-bit (A64) Instruction Set.
Development Host Operating Systems (OSs)
You must install QNX SDP 8.0.4 onto a development host with one of the following 64-bit operating systems:
- Microsoft Windows 11, or Windows 10
- Ubuntu Desktop 24.04 LTS, Ubuntu Desktop 22.04 LTS, or Red Hat Enterprise Linux 9
Contents
What's new in QNX SDP?
This minor update to QNX SDP 8.0 focuses primarily on addressing a set of issues identified within several QNX OS components, to improve overall stability and reliability.
Installing QNX SDP
To use QNX SDP 8.0.4, you need to have QNX Software Center 2.0.4 or later. For
information about installing and using this other product, refer to the Install and launch the QNX Software Center
chapter in the QNX
Software Center User's Guide.
To install the QNX SDP 8.0.4 packages as a new baseline product, open the QNX Software
Center and click Add Installation on the left to launch the
New Installation Wizard. In the first dialog, expand
QNX Software Development Platform 8.0 and select QNX
Software Development Platform 8.0.4. Follow the prompts (i.e., the
Next and Install buttons) to perform the
installation. Select any of the options from the Update Policy
dropdown. For more information, refer to the Install the QNX Software Development Platform
chapter in the QNX
Software Center User's Guide.
To update your existing QNX SDP 8.0.3 installation to version 8.0.4, use the provided patch set. To install the patch set, open the QNX Software Center, select the installation you want to update in the Active Installation dropdown on the Welcome page and click Install New Packages. The QNX SDP 8.0.4 patch set is found under Available -> QNX Software Development Platform - Minor Release -> Patchset.
After the installation, you can access information about its results under Installed -> QNX Software Development Platform -> Software Development Platform.
To access the contents of this release, go to the All tab and search for GA8.0.4. For each listed package, right-click, choose Properties, and then click Package Contents. Some of the packages may contain references to contained packages (or subpackages) instead of files, in which case the contents page displays a note that says so. To access the list of subpackages, right-click the package, choose Properties, then click Package Dependencies. Because the baseline OS product has many inter-package dependencies, sometimes you have to go through multiple levels of subpackages to access the included files.
You can also obtain the maturity statuses of files by generating a manifest
report. For more information, refer to the Manifest Reports & File Lookup
chapter of the QNX Software
Center User's Guide.
Each package has its maturity level. You can learn
this by right-clicking the package, choosing Properties, then
clicking General Information. In the Legal and
Regulatory Information panel, there's a Status
field. For details about the possible values of this field, refer to Package
status
in the Deploy licenses to users
section in the QNX Software Center User's
Guide.
Debug information for shipped binaries
The QNX SDP target binaries are generated with debug information (-g), with the debug form of the binary stored in a separate binaryName.sym file. The non-sym form is stripped of the debug and .ident information (use -s works only on files containing the .ident section).
Most target packages include debug information (.sym files). The binaries and their .sym files are linked, so gdb understands where to find the symbol data. There's no need to store .sym files for the binaries on a target.
If the debug symbols are especially large, there might be a separate debug package in the QNX Software Center. To install debug symbols in this case, select your installation from the toolbar, then go to the Advanced tab. Click Edit Installation Properties. In the property dialog that opens, ensure that the Install debug symbols checkbox is selected (this box is selected by default). Click OK.
If you decide to not install the debug information but later want it, you can right-click a package and choose Install debug symbols.
Discontinued and deprecated items
For documentation on all items that are no longer shipped in this release or will be removed in a future release, refer to the QNX Software Development Platform 8.0: Discontinuation and Deprecation Notice.
Experimental items
Some experimental items are implemented in the packages of the baseline product. This means these items are installed when you install QNX SDP and, hence, there's nothing else you must do to be able to use them. Other experimental items are contained in their own packages that aren't installed when you install QNX SDP. To locate and install these packages so you can use the items they contain, go to the Available tab in QNX Software Center and search for part or all of the package name. Then, click the package in the search results and then the Install button in the bottom right corner.
The table that follows lists the experimental items by functional area and indicates whether each one is contained in an additional package that must be installed separately.
| Functional area | Item description | Additional package |
|---|---|---|
| BSP & Drivers | Added Dynamic Interrupt Manager (DIM) | None |
| Networking | Texas Instruments Jacinto 7 network drivers (devs-cpsw-j721e.so, devs-cpsw-j784s4.so, devs-cpsw-j721s2.so) | None |
| Networking | Texas Instruments Sitara network driver (devs-cpsw-am62x.so) | None |
| Networking | Marvell Network PHY driver (devs-marvell_phy.so) | None |
| Networking | RT9010 network PHY driver (devs-rt9010phy.so) | None |
| Networking | DWC gmac network driver (devs-dwc.so) | N/A |
| Networking | RNDIS USB network driver (devs-urndis.so) | N/A |
| Screen | Support for the core Wayland communication library and the Weston compositor for Screen | QNX SDP 8.0 Wayland/Weston |
| Screen | Tools for using Wayland on Linux 64-bit hosts | QNX SDP 8.0 Wayland host tools (Linux 64-bit) |
| Screen | Tools for using Wayland on Windows 64-bit hosts | QNX SDP 8.0 Wayland host tools (Windows 64-bit) |
Fixed issues
| Description | Applicable Architecture(s) | Application-Level Impact | System-Level Impact | Reference Number |
|---|---|---|---|---|
| Fixed an issue related to file-backed memory objects that could cause a double free error. | Generic | None. | Rebuild with the updated packages. | 3017517 |
| Eliminated a race condition between a pending interprocessor interrupt (IPI) and a CPU going offline. | Generic | 3015760 | ||
| Fixed an issue that could create a priority inversion when releasing a mutex. | Generic | 3013895 | ||
| Fixed an issue that could cause an application that registered for PROCMGR_EVENT_PROCESS_* notifications, such as PROCMGR_EVENT_PROCESS_DEATH, to not receive a notification. | Generic | 3010636 | ||
| Fixed an issue that prevented the termination of the kernel tracing purger thread. | Generic | 3008677 | ||
| Fixed an issue that could cause delays or cause the system to hang when a message or a pulse was sent or received on a channel and various conditions were met. | AArch64 | 3007752 | ||
| Fixed an issue where Thread Local Storage (TLS) variables may not be properly aligned. | x86_64 | 3004969 | ||
| Fixed a race condition that would cause one thread to handle priority inheritance on behalf of another thread. | Generic | 3003703 | ||
| Fixed an issue where an out-of-memory condition could cause the server-monitor to fail to take action when a server specified by name failed to unblock a client. | Generic | 2998343 | ||
| Fixed an issue that could result in a shutdown delay after a critical process dies because of a core dump or from waiting for other threads in the process to die (e.g., a lower priority thread, or one stuck as REPLY-blocked). | Generic | 2998100 | ||
| Fixed an issue where TLS variable usage may cause unintentional changes to floating pointer registers. | Generic | 2989846 | ||
| For AArch64 targets, fixed an issue with address translation that could result in a stale value being read from the PAR_EL1 register. | AArch64 | 2983397 | ||
| Fixed a race condition that could result in a kernel exception when offlining a CPU. | Generic | 3013969 | ||
| MsgQueueClose() now sets errno to EBADF if the rcvid parameter is not -1 and does not identify an existing connection. | Generic | 3012703 | ||
| The kernel now raises an exception if the scheduler sends an IPI (inter-processor interrupt) to an offlined CPU. | Generic | 3008402 | ||
| MsgQueueSend() and MsgQueueReceive() now validate the addresses provided by the user. | Generic | 3005781 | ||
| Fixed an issue with the way memory pages are invalidated that created performance issues when using functions such as mprotect(). | AArch64 | 3005621 | ||
| Fixed an issue in systems where the hardware for an interrupt source can fail to perform a mask or unmask operation, which caused some interrupts to not be processed or received after calls to InterruptMask() and InterruptUnmask() failed. | Generic | 3001948 | ||
| Fixed a race condition between two threads handling transitive priority inheritance. | Generic | 2993102 | ||
| Fixed an issue related to cached memory that could make a call to mmap_handle() take a long time to return. | AArch64 | 2990144 | ||
| The sysconf() _SC_NPROCESSORS_ONLN value now reports the correct CPU count when CPUs have been made offline. | Generic | 2984746 | ||
| Fixed an issue with an include guard in interrupts.h. | Generic | 2976746 |
Known issues
The known issues for this release are described in the QNX Software Development Platform 8.0: Known Issues document that's stored in the QNX Download Center at: https://www.qnx.com/download/group.html?programid=74127
Licensing information
The QNX SDP licensing, packaging, and fulfillment model from the previous release has been carried forward to this release. That is, QNX SDP will be available in the QNX Download Center and QNX Software Center as a new product baseline. Additionally, the license agreements will include a few enhancements for clarifications but otherwise will remain unchanged.
Getting started with the documentation
The QNX SDP 8.0 documentation is found on our public website at https://www.qnx.com/developers/docs/8.0/com.qnx.doc.qnxsdp.nav/topic/bookset.html.
This roadmap
page contains links to the various booksets that accompany the
QNX OS. For a short tutorial that will help you set up a
QNX OS target and run a simple program, refer to the
Quickstart Guide. Then you can access the other key documents
(QNX OS System Architecture, Programmer's
Guide, C Library Reference, and more) to learn about how the
QNX OS is designed and how to write programs that run on
it.
Technical support
To obtain technical support for any QNX product, visit the Support area on our website: https://blackberry.qnx.com/en/support. You'll find a range of support options.
For product experience and roadmap information, please contact QNX Product Management.
