QNX Technical Articles
QNX® SDP Host Tools (7.0 BuildID 1037): Release Notes
Date of this edition: October 9, 2019
The QNX SDP Host Tools package contains tools and utilities (compiler, debugger, make, etc.) for use on development hosts.
Target OS: This product is compatible with targets that run QNX® Neutrino® 7.0.
Host OS: To install this product, you must have installed the QNX Software Development Platform 7.0 on one of the following development hosts:
- Microsoft Windows 10 Pro 64-bit, Windows 8.1 Pro 64-bit, or Windows 7 Professional 64-bit
- macOS version 10.10, 10.11, 10.12
- Linux Red Hat Enterprise Linux 7 64-bit, Ubuntu Desktop 18.04 LTS 64-bit, or Ubuntu Desktop 16.04 LTS 64-bit, on x86_64 processors (QNX SDP 7 isn't supported on ARM-based Linux hosts)
Contents
Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our technical support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.
See also the release notes for the following:
What's new in this update?
- New QNX Development License Agreement (QDL)
-
This update of the QNX SDP 7.0 Host Tools is licensed under a new version of the QNX Development License Agreement (QDL). The new QDL is designed to help with license compliance, address new privacy laws, and offer greater flexibility to customers who require a mix of development seat licenses. For example, the new QDL:
- removes the six-month transfer restriction that applied to named user licenses
- clarifies the definition of a project; it now refers specifically to “development project”
- now refers to development servers as build servers
- contains updated language that applies to the deployment of floating seats
- includes a new clause to enable future updates to the QDL (e.g. to accommodate changes in law or business practices)
- governs confidentiality through the Blackberry Privacy Policy, which has been updated to comply with new privacy laws, such as the European Union's General Data Protection Regulation
You can download the new QDL from the QNX Licensing Information page.
- License checking
-
The
qcc, q++, mkefs, mketfs,
mkfatfsimg, mkifs, mkqnx6fsimg,
and mkxfs utilities now check for a valid QNX license key before performing any operation.
If a license check fails, the utility stops running and displays a diagnostic message.
A license check can fail if:
- your license key is expired, missing, or not currently activated, or if it doesn’t contain the permissions needed to run the utility
- your evaluation period has expired
- the available number of floating multiuser licenses has been exhausted (applies only to customers using multiuser licenses)
The license checking now performed by the above utilities is similar to the license checking already performed by the QNX Momentics IDE.
Package contents
To view the contents of the Host Tools update, right-click the package and select
.Fixed issues
- qcc, q++
-
We fixed some issues that caused qcc/q++ to:
- mishandle some EOL characters in command files (Ref# J2540215)
- crash when called from a .sh script in Windows (Ref# J2580292)
- terminate with a segmentation fault when compiling extremely large source files (Ref# J2529811)
Known issues
- g++
- We identified a number of issues in our g++ toolchain during ISO/IEC 14882:2014 compliance testing. These issues have been sent upstream and are monitored internally as "fixed upstream in an upcoming release" (Ref# J2509996) and "tracked upstream with no fix yet available" (Ref# J2512827).
- mkefs, mketfs, mkfatfsimg, mkifs, mkqnx6fsimg, mkxfs
-
-
If you use the symbolic form to set file or directory permissions
(the perms or dperms attribute), and if the permissions specification
contains a setuid, setgid, or sticky-bit element, then all previous terms in the specification are overwritten.
For example, the follow specifications should all result in permissions of 03707:
- [perms=u=rwx,o=rwx,g=g] results in 03000
- [perms=u=rwx,g=g,o=rwx] results in 03007
- [perms=g=g,u=rwx,o=rwx] results in 03707
The same applies for u=s and o=t. (Ref# J2479118)
Workaround: Use the numeric form for all permissions that require the setuid, setgid, or sticky bit to be set:
- setuid: 04000
- setgid: 02000
- sticky: 01000
- These utilities don't warn you if you provide invalid parameter values, such as a nonnumeric value or an empty string for the gid attribute. Even if you provide a syntactically correct value, these utilities can't necessarily tell if the value is valid; for example, they can't determine if the group with a given ID exists. (Ref# J2369526)
-
If you use the symbolic form to set file or directory permissions
(the perms or dperms attribute), and if the permissions specification
contains a setuid, setgid, or sticky-bit element, then all previous terms in the specification are overwritten.
For example, the follow specifications should all result in permissions of 03707:
- qcc, q++
- If you use both the -p and -r options with
qcc or q++, the -p option isn't passed
to the compiler.
(Ref# J2239400)
Workaround: Use the options in two distinct steps in the build.
Technical support
To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.