![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Date of this edition: May 25, 2009
Target OS: This development platform produces software that's compatible with targets that are running QNX® Neutrino® 6.4.1.
Host OS: You can install this package as a self-hosted QNX Neutrino® development system, or on one of the following development hosts:
You can also install the QNX Neutrino RTOS as a virtual machine on VMware Workstation 6.5, VMware Player 2.5 and Microsoft VirtualPC 2007. We provide a VMware image of a runtime installation of QNX Neutrino; for more information, see “Using the VMware image of a QNX Neutrino runtime system,” below. If you find problems with any virtualization environment, please post your findings in one of the forums on our Foundry27 community website.
![]() |
|
![]() |
If you installed an alpha version of this software, uninstall it before installing the production version. |
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.
For the most up-to-date version of these release notes, go to our website, www.qnx.com, log into your myQNX account, and then go to the Download area.
![]() |
Make sure that Plug and Play OS is disabled in the BIOS before you run QNX Neutrino self-hosted. |
The QNX Software Development Platform bundles the QNX Momentics Tool Suite, the QNX Neutrino RTOS, or both, as shown below:
On Linux and Windows: | On QNX Neutrino: |
---|---|
QNX Momentics Tool Suite | QNX Momentics Tool Suite QNX Neutrino RTOS |
The QNX Momentics Tool Suite includes the following:
On Linux and Windows: | On QNX Neutrino: |
---|---|
Command-line tools Libraries, documentation, and other development components Integrated Development Environment |
Command-line tools Libraries, documentation, and other development components |
We no longer include the IDE on self-hosted QNX Neutrino systems.
The key improvements in 6.4.1 include:
![]() |
|
![]() |
MIPS binaries from QNX Momentics 6.3 aren't compatible with 6.4.1 because of changes to the runtime environment (ABI) |
For more details, see the following sections:
The two bugs were:
Both these problems resulted in intermittent crashes (SIGSEGV) in applications that mapped global memory because the incorrect domain field in the L1 page table descriptor would prevent access by the application. (Ref# 60487)
New utilities include:
![]() |
Invoke this command as applypatch, not applypatch.py as indicated in the Utilities Reference. (Ref# 68568) |
We've updated the following:
The named-xfer ancillary agent for inbound zone transfers is now obsolete.
(Ref# 63686, 65079)
By specifying a larger block size, you can transfer files that are larger than 32 MB. (Ref# 54779, 64021)
For information about: | See: |
---|---|
scp | http://netbsd.gw.com/cgi-bin/man-cgi?scp++NetBSD-5.0 |
sftp | http://netbsd.gw.com/cgi-bin/man-cgi?sftp++NetBSD-5.0 |
ssh | http://netbsd.gw.com/cgi-bin/man-cgi?ssh++NetBSD-5.0 |
ssh-add | http://netbsd.gw.com/cgi-bin/man-cgi?ssh-add++NetBSD-5.0 |
ssh-agent | http://netbsd.gw.com/cgi-bin/man-cgi?ssh-agent++NetBSD-5.0 |
ssh-keygen | http://netbsd.gw.com/cgi-bin/man-cgi?ssh-keygen++NetBSD-5.0 |
ssh-keyscan | http://netbsd.gw.com/cgi-bin/man-cgi?ssh-keyscan++NetBSD-5.0 |
sftp-server | http://netbsd.gw.com/cgi-bin/man-cgi?sftp-server++NetBSD-5.0 |
ssh-keysign | http://netbsd.gw.com/cgi-bin/man-cgi?ssh-keysign++NetBSD-5.0 |
sshd | http://netbsd.gw.com/cgi-bin/man-cgi?sshd++NetBSD-5.0 |
/etc/moduli | http://netbsd.gw.com/cgi-bin/man-cgi?moduli+5+NetBSD-5.0 |
/etc/ssh/sshd_config | http://netbsd.gw.com/cgi-bin/man-cgi?sshd_config+5+NetBSD-5.0 |
~/.ssh/ssh_config, /etc/ssh/ssh_config | http://netbsd.gw.com/cgi-bin/man-cgi?ssh_config+5+NetBSD-5.0 |
![]() |
The default is format=udf:rrip:joliet:iso9660e:iso9660:audio. For backward compatibility, set the format to format=udf to disable the CD/ISO formats. |
(Ref# 65320)
This filesystem also has a new vcd=num option that you can use to set the number of raw VCD 2352-byte deblocking buffers. (Ref# 15071, 67230)
For more information, see the Utilities Reference.
export PH_WFRAME_STYLE=wframe_updated.so
(Ref# 66257)
Function | Default | V | R |
---|---|---|---|
calloc(n, 0) | Non-NULL | NULL | No effect |
malloc(0) | Non-NULL | NULL | No effect |
realloc(NULL, 0) | Non-NULL | NULL | No effect |
realloc(non-NULL, 0) | Non-NULL | NULL | NULL |
In all the above cases, if the function returns a non-NULL pointer, it's valid only for a corresponding call to free() or realloc().
![]() |
The default behavior of realloc(non-NULL, 0) has changed in this release. Calls like this used to return NULL. |
(Ref# 64337, 64338)
![]() |
These functions are in libc.a, but not in libc.so (in order to save space). |
![]() |
If you're using posix_spawn() and the experimental memory partitioning features provided in 6.4.0, you will need to recompile any source. |
New drivers:
We've also addressed the following:
The new drivers include:
We've also addressed the following:
The new drivers include:
The devnp-e1000.so and devnp-i82544.so drivers are similar:
The enumerators currently start devnp-e1000.so for Intel Gigabit Ethernet controllers, but you might want to switch to devnp-i82544.so, depending on your hardware.
We've also addressed the following:
This release addresses the following security concerns:
We provide a VMware image of a QNX Neutrino runtime system in target/QNX_Eval_RT.zip on the installation DVD; it's also available in the Download area of our website.
To install this image, do the following:
Or:
If you find problems with any virtualization environment, please post your findings in one of the forums on our Foundry27 community website.
The changes to the QNX Momentics Tool Suite include the following:
For more details, see the following sections:
The QNX Momentics Tool Suite 6.4.1 includes the following versions of the compiler and tools:
Other changes include:
Starting with QNX SDP 6.4.1, we're generating binaries with debugging information (-g) and map files. With few exceptions, all binaries are available with debugging information, but this data as well as the .ident information are stripped and stored in a separate binaryName.sym file. These files are linked together, so gdb understands where to find the symbol data.
There's now no need for a separate debug version of all the binaries. There's a separate tar file containing all the .sym files that will untarred alongside each binary. This file is available in the Download area of our website, as well as in the debugging_info directory on the QNX SDP 6.4.1 DVD.
What it means to you:
These *-buildid.sym files are in CPU-specific tar files. The usage of these tar files is straightforward. Suppose you want to debug the ls command for x86. You could just add the entire set of debug files to your target (you need to be root, of course):
Then ntox86-gdb $QNX_TARGET/bin/ls would load the debugging symbols from the .sym file automatically. Since this is the full debugging information, you can point gdb at the location of source for ls.
You don't have to extract the entire tar file. In fact all that matters is that the .sym file be in the same directory as the binary. So you could simply copy $QNX_TARGET/x86/bin/ls and the x86/bin/ls-*.sym file (from the debug tar file) to your current directory, and then run gdb there.
In order to get a list of the source files used to build a binary (e.g. to determine the associated licensing), use the .sym file instead of the binary. So continuing with the example above, to get a list of the source files used in building ls, type:
use -s $QNX_TARGET/x86/bin/ls-*.sym
This version of the IDE includes the following fixes for previously reported issues:
For more information, see the What's New in the IDE appendix of the IDE User's Guide.
The QNX Momentics Tool Suite lets you install and work with multiple versions of Neutrino (from 6.2.1 and later). Whether you're using the command line or the IDE, you can choose which version of the OS to build programs for.
![]() |
Only versions of Momentics with different medial version numbers can coexist. For example, 6.3.2 can coexist with 6.2.1, but not with 6.3.0. However, 6.4.0 can coexist with 6.4.1. Coexistence with 6.2.1 is supported only on Windows hosts. |
When you install QNX Momentics, you get a set of configuration files that indicate where you've installed the software. The QNX_CONFIGURATION environment variable stores the location of the configuration files for the installed versions of Neutrino; on a self-hosted Neutrino machine, the default is /etc/qnx.
On Windows hosts, you'll find a configuration program called QWinCfg for switching between versions of QNX Momentics. You launch QWinCfg via the start menu (e.g.
).For details on using QWinCfg, see its entry in the Utilities Reference.
If you're using the command-line tools, use the qconfig utility to configure your machine to use a specific version of Neutrino:
eval `qconfig -n "QNX Software Development Platform 6.4.1" -e`
![]() |
In the above command, you must use the “back tick” character (`), not the single quote character ('). The string that you pass to the -n option is the Installation Name field as printed by qconfig. |
This command affects only the shell in which you ran qconfig. Other windows, for example, will be unaffected. To change environments in all your windows, you can run the command in your shell-initialization script or in your .profile. You can also define separate users who use different coexisting versions.
When you start the IDE, it uses your current qconfig choice as the default version of the OS; if you haven't chosen a version, the IDE chooses an entry from the directory identified by QNX_CONFIGURATION. If you want to override the IDE's choice, you can choose the appropriate build target. (For more information, see the section “Version coexistence” in the IDE Concepts chapter of the IDE User's Guide.)
![]() |
Experimental software is primarily provided for customers and the community to try out, and perhaps to get a glimpse of what might be in store for the future. For information about the use of experimental software, see the Commercial Software License Agreement (CSLA) or Partner Software License Agreement (PSLA) in the Licensing area of our website, http://www.qnx.com/legal/licensing/. |
The experimental items in QNX SDP 6.4.1 are:
QNX SDP 6.4.1 contains known issues in these areas:
![]() |
We're actively investigating all known issues. |
chmod a+rw /etc/qnx/license/licenses
(Ref# 62419)
Workaround: To display the text correctly, open a web browser and view the license agreement .txt files located in base_dir/install/qnxsdp/6.4.1, where base_dir is where you installed SDP.
If you uninstall 6.4.1, the uninstaller checks to see if 6.3.2 is present. If so, it moves the cleanup utility back to its original location.
./uninstaller.bin -W beanDeleteConfigDir.active="False"
If you uninstall 6.4.1, the uninstaller checks to see if 6.3.2 is present. If so, it restores uninstaller.bin.
(Ref# 58784, 60037)
Workaround: Remove the extra qconfig string from the value of QNX_CONFIGURATION.
qnx632_base_dir/_uninstall/qnx632/uninstaller.bin -W beanDeleteConfigDir.active="False"
(Ref# 56879)
It does let you boot off an IDE CDROM, but won't let you install to an IDE disk; even if the real physical storage is an IDE device, VMware presents it virtually as one of the two aforementioned devices. (Ref# 51509)
Workaround: In order to install Neutrino on a VMware VM using the BusLogic SCSI controller emulation, you must first apply a driver update. We've included this update on the installation media:
For more information on installing driver updates, see “Updating disk drivers” in the Controlling How Neutrino Starts chapter of the QNX Neutrino User's Guide.
Workaround: Open the QNX SDP Activation dialog by selecting
from the Start menu, or by entering the following at the command prompt:drive:\Program Files\QNX Software Systems\bin\qnxactivate -a
Workaround: Launch a web browser and go to http://www.qnx.com/641foryou.
cd /net/remote_machine/tmp find . -type f | xargs grep FAIL > report.txt /bin/sh: cannot fork - try again
It seems to be a problem with permissions. Piping the output of xargs to less works. (Ref# 29834)
Workaround: Log in as root.
(Ref# 29440, 29380)
Workaround: A requirement of startup code for PowerPC-based boards is to configure the DBAT0 register. The register is currently configured for a minimum size of 256 MB. Initializing DBAT0U[BL] to the exact (power of 2) size of physical memory will eliminate this situation from producing a machine check exception. Alternatively, if possible on the particular board, disabling the assertion of TEA will also prevent the errant (speculative load for a branch not taken) machine check when this specific situation occurs. This option should be considered in the context of the entire system. Please contact QNX for specific questions about these and other workarounds.
Workaround: Press F5 to start the debug shell; it simply starts fesh just after mounting the filesystems. If you want to run a consistency check a filesystem, run /sbin/chkfsys after the shell starts.
Workaround: Run the driver in PIO mode.
Workaround: Replace the partition boot loader. From a working system, run:
dloader /dev/part pc2
where part is the device name of the partition you need to boot.
Workaround: We've added an -R command-line option to diskboot and a new “Hit space...” option, F3. Using these prevents diskboot from restarting a devb- driver. The drivers are restarted if only a CD-ROM is found. In the case of this issue, the restart means devb-ahci and devb-eide compete for the same bus, which results in a hang.
Workaround: Contact Technical Support to get a customized utility that enables the interrupts.
Workaround: Disable legacy USB support in the BIOS.
Workaround: Look for this line in the source code:
mattr.flags = PTHREAD_RECURSIVE_ENABLE;
and change it to this:
pthread_mutexattr_setrecursive( &mattr, PTHREAD_RECURSIVE_ENABLE);
Workaround: Relink any SH4 binaries that you linked with QNX Neutrino 6.2.1 or earlier.
Workaround: If you see problems (such as relocation-truncation errors) at link time when building shared objects, consider splitting your shared object into multiple shared objects.
# uname -a QNX renesas_sh7785 6.4.0 2008/09/26-04:27:12EDT SDK_7785 shle # uname -a | grep renesas QNX renesas_sh7785 6.4.0 2008/09/26-04:27:12EDT SDK_7785 shle # uname -a | grep shle QNX renesas_sh7785 6.4.0 2008/09/26-04:27:12EDT SDK_7785 shle # uname -a | grep renesas | grep shle #
(Ref# 62242)
Workaround: Rebuild the startup binary using QNX Momentics 6.4.1. The resulting startup will work with 6.2.1, 6.3, and 6.4.1.
The PCI server code allocates one byte low of PCI memory and one byte high of PCI memory and keeps these values as the range of low and high PCI memory. It does the same for I/O space. The server then scans all devices in PCI space and checks the I/O and memory ranges for each device against the stored range values to see whether they're valid or not. If a range check fails, the device is placed in the disabled state and is initialized when an application calls pci_attach_device(). The PCI server code is standard across all platforms and only the low-level, hardware specific portion changes, so there is a generic portion to all the drivers. (Ref# 50790)
(Ref# 61821)
Workaround: Relink the driver binaries on Neutrino 6.4.1. For updated source code, see Foundry 27 on our website, or contact Technical Support.
Workaround: Use the on command to adjust the priorities of the audio and graphics drivers.
(Ref# 41600)
Workaround: Use the devc-con-hid console manager instead.
Workaround: Use the devg-svga.so or devg-vesabios.so graphics driver instead, or manually edit /etc/system/config/display.conf to find a display mode that works with devg-radeon.so.
Workaround: Use phgrafx to change the driver to devg-i830.so. You can also avoid the problem by exiting to text mode, and then typing shutdown at the command prompt.
Workaround: Use the onboard graphics controller instead. If you set the onboard display as the primary controller, any installed PCI graphics cards will still be detected / trapped.
If you also have a Microsoft USB mouse connected, you get a “devh-usb.so - Unable to attach to USB device 1 (10)” message. (Ref# 41122)
Workaround: Force the driver to use speed and duplex settings that it supports (10 and 100 Mbit/s).
Workaround: We've temporarily changed the PPC version of this driver to use 64 Tx descriptors by default (on other targets, the default is 128). This may result in lost packets for high-throughput transmit operations.
Workaround: Use kill -9 instead to kill io-net.
Workaround: Fully specify the vendor ID, device ID, bus number, and device number to the driver when starting (e.g. vid=0x0bda,did=0x8150,busnum=1,devnum=2,lan=2).
Workaround: If you encounter problems with this driver, use the io-net driver devn-asix.so instead.
Unable to find remove id ###
may appear on the console. This error message comes from the enumerator and is not an indication of an error condition. (Ref# 61971)
In this release, umount() sets errno to EBUSY if any pending or in-progress flash filesystem operations exist on the filesystem unless you specify _MOUNT_FORCE. The same applies for scripts that call the umount utility without the -f option. This has implications for applications that expect _MOUNT_FORCE behavior but don't specify it.
The IDE contains the following known issues:
See also the list of host-specific issues, later in these notes.
Subscription License Expired - Your QNX License could not be obtained, some QNX functionality will be disabled.
This message appears only if QNX Software Systems has a contract with you to support server-based licenses. It indicates one of the following:
(Ref# 51688)
Workaround: Close any project that you created on a remote drive before disconnecting the drive.
An exception occurred while launching help. Refer to the log for more details.
The problem could be that the IDE couldn't find your default browser. Check the web browser listed in your preferences (see
) to make sure it's a browser that's installed on your system.If this doesn't fix the problem, check the log file; see
. If you've installed the Eclipse SDK, use the Error Log view. (Ref# 29971)Workaround: Build everything with debugging information, or use -gdwarf-2 instead of -gstabs.
Workaround: For priority labels, you need to generate the log file in wide mode.
Workaround: Close and then reopen the System Profiler perspective to restore the summary information.
Workaround: Run the process as the root. If the process is launched using qconn, then qconn should be run as root.
Workaround: Use a unique file for MAT output (device or filesystem).
Workaround: If your program uses fork, you must disable the control thread of the Memory Analysis Tool (from the Launch Configuration, select
and disable Create control thread).In addition, it is not possible to attach to this type of process because the Memory Analysis Tool needs to run a control thread.
ld: cannot find -lmy_lib
This error occurs because the build that the IDE performs from the Project Settings dialog doesn't re-build any dependent projects.
Workaround: Select your project from the Projects view, right-click and build your project by selecting Build Project from the context menu. (Ref# 45556)
Workaround: Don't disable the setting Always clear before each build.
all : cc2 cc2 : cc2.o cc2.o : cc2.cpp
then the link stage doesn't work properly. (Ref# 62006)
Workaround: To avoid this, use an explicit rule for linking:
cc2 : cc2.o $(CXX) -o cc2 cc2.o -lang-c++
Workaround: Use an explicit target in the make command.
Workaround:
To check out an existing PhAB project from CVS:
If you choose an existing location, select Use existing repository location.
(Ref# 42437)
Workaround: Change the memory location to 8c004000 from 8c002000 (e.g. [image=0x8c004000]).
Workaround: If you need a mini serial port driver for the Media5200b, you can modify the one for the Lite5200B. You need to change the interrupt number to 68 and use PSC6, GPIO6.
Workaround: You need change the baud rate to the correct one below:
Workaround: Change the following code so that it doesn't disable Rx (SH_SCIF_SCSCR_RE).
In mini_serial.c:
if (state == MDRIVER_INTR_ATTACH) { set_port16(mdata->port + SH_SCIF_SCSCR_OFF, SH_SCIF_SCSCR_RE|SH_SCIF_SCSCR_RIE, 0); return 1; }
In minidriver-serscif.c, change this:
out16(port + SH_SCIF_SCSCR_OFF, SH_SCIF_SCSCR_RE|SH_SCIF_SCSCR_RIE);
to this:
out16(port + SH_SCIF_SCSCR_OFF, in16(port + SH_SCIF_SCSCR_OFF)|SH_SCIF_SCSCR_RIE);
The baud rate and clock for Biscayne should be 57600 and 33333333.
Workaround: Use the -ae option to procnto to enable alignment fault emulation.
Workaround: Use the if_up -p command instead. For example, instead of waitfor /dev/io-net/en0, use if_up -p en0.
ifconfig iface_name up
ifconfig iface_name up
don't work individually for WiFi drivers. (Ref# 61246)
Workaround: Combine the commands:
ifconfig iface_name up scan
Workaround: When you're using Qnet with an Ethernet driver that's enabled to use jumbo packets, you should set the cluster size (the mclbytes option to io-pkt*) to be the same as the packet size (the ifconfig if_name mtu command for the driver). This ensures that the packet buffers that Qnet uses are contiguous in memory.
If you specify a jumbo packet size larger than 4 KB (the default page size), you must additionally specify the pagesize=X option to io-pkt, with the same value as the mclbytes=X option. For example, to use 8100-byte packets with devnp-i82544.so, do the following:
io-pkt-v4 -d i82544 -p tcpip pagesize=8192,mclbytes=8192 ifconfig wm0 mtu 8100 mount -T io-pkt lsm-qnet.so
![]() |
Be sure to mount Qnet after you change the MTU of the interface with ifconfig. |
If you now type:
cat /proc/qnetstats
you can see that the Qnet L4 has an MTU of 8096, which it learned from the driver (remember the 4 bytes for the trailing CRC).
![]() |
All the Qnets on your LAN must have exactly the same MTU. |
You can specify a particular MTU to Qnet (which can be the same or less than the driver-advertised value) with the mtu_en=X option.
Workaround: Start separate client (fs-nfs2, fs-nfs3) processes for each server you wish to mount.
Workaround: Your resource manager must handle the raw QNX messages until this is corrected.
Workaround: Drivers must accommodate for this by checking the length of the data in the mbuf and ignoring the mbuf if the length is zero.
Workaround: Disable hardware flow control by clearing ihflow and ohflow:
stty -ihflow -ohflow < /dev/ser1
Workaround: You can increase the timeout to 3 seconds by using pppoectl:
pppoectl pppeo0 lcp-timeout=3000
Workaround: Log in as root, and then correct the permissions:
chmod 0755 /var/chroot/sshd/
Workaround: Relink the applications against the newer version of imglib.a.
Workaround: Use Windows Security Properties to set the file permissions to give other users access.
Workaround: Configure Windows to unblock. Once you've done this, Windows won't display the security warnings when you restart PhAB.
PhAB: Can't open: "clipboard.phab" (Permission denied). Please resolve the problem and re-try this operation. (No error)
Thus, copying and pasting is impossible. (Ref# 39879)
Workaround: Make sure that your HOMEDRIVE and HOMEPATH environment variables are set to point to a directory that you have permission to write into.
PhAB for Windows uses the HOME environment variable if it's set, otherwise it internally sets HOME to HOMEDRIVE followed by HOMEPATH. If these aren't valid, then PhAB will encounter difficulties.
Workaround: Set QNX_HELP_HOME_PAGE to /usr/qnx641/target/qnx6/usr/help/product/momentics/bookset.html, and QNX_HELP_PATH to /usr/qnx641/target/qnx6/usr/help/product (assuming you installed QNX Momentics in the default location).
Workaround: Click the Options button, click the Others tab, and then increase the size of the image cache. Alternatively, you can view the documentation in a web browser.
For information about creating a runtime QNX Neutrino system, see the How to create a Runtime Kit from the QNX Software Development Platform technote in the installed documentation.
Workaround: Use nondirect map mode instead.
dloader /dev/part pc2
where part is the device name of the partition you need to boot.
(Ref# 61707)
Workaround: Log in as root, and then do the following:
cd / ln -s . x86
Workaround: This may be related to Phindows and PhAB's use of Direct3D double buffering, which is redundant when the Vista Aero compositing is enabled. To disable double buffering:
Workaround: If you want to work with Microsoft Visual Studio (MSVS) after installing QNX Momentics on the same system, do the following:
set MAKEFLAGS=saved_makeflags_value
Workaround: To disable UAC on your Windows Vista configuration:
You can reenable User Access Control by selecting the Enable UAC line and then clicking the Launch button.
![]() |
Disabling UAC bypasses some of Vista's security features. |
Workaround: Modify your user permissions. For instructions about changing these permissions, see the steps in the workaround for the problem (Ref# 44027) above.
Workaround: If you want to use the QNX utilities for find, sort, and split from a command prompt or shell prompt, specify a fully qualified path to any of the QNX executables.
Workaround: See the detailed documentation at http://ctags.sourceforge.net/ctags.html.
Input file specified ctags: cannot sort tag file : No error
The ctags utility still generates tag files; however, they won't be sorted. (Ref# 43530)
Workaround: Manually call the QNX sort on the tags file.
Workaround: Log out and back in again before trying to activate.
Workaround: Log out and back in again before trying to activate.
Workaround: Log out and back in again, and then start the activation program manually:
/etc/qnx/bin/qnxactivate -a
Workaround: Do the following:
sudo apt-get install xulrunner
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner/xulrunner
After you've installed QNX SDP 6.4.1, you'll find an extensive set of online documentation in HTML format. You can read it in the Integrated Development Environment's help system on Linux and Windows development hosts; on self-hosted QNX Neutrino systems, you can read it in the Photon helpviewer, or you can use a web browser to display:
${QNX_TARGET}/usr/help/product/momentics/bookset.html
This “roadmap” page contains links to the various HTML booksets that accompany the OS (e.g. System Architecture, Programmer's Guide, Library Reference, Utilities Reference, etc.).
![]() |
For the most up-to-date version of the installation and release notes, go to our website, www.qnx.com, log into your myQNX account, and then go to the Download area. |
To obtain technical support for any QNX product, visit the Support + Services area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.
The problems fixed in QNX SDP 6.4.1 include the following:
Change | Ref# |
---|---|
We no longer support the PowerPC 900 series of processors, so we've deprecated procnto-900 and procnto-900-smp. | 68225 |
With the integrated graphics chipset on the E5400 Dell Latitude Laptop the hardware cursor did not appear. (PCI vendor device 0x2A42) This device will now default to software cursor. You can try to force the hardware cursor to see if it works on your particular device using the graphics configuration under Photon. | 67809 |
The IDE Debugger now correctly displays the contents of arrays with more than 100 elements. (Ticket ID 88014) | 67613 |
For memory analysis (librcheck), we've added a MALLOC_START_TRACING environment variable that controls whether or not tracing starts at the beginning. When you set it to 0, tracing doesn't start, which lets you start it later within the application, using the API or from the IDE's Memory Analysis tool when attaching. | 66929 |
The PtSlider now calls its callback the correct number of times when you click in the slider trough. (Ticket ID 86631) | 66900 |
If you unset the QNX_* environment variables, the IDE now asks you if you want to exit, instead of simply exiting. | 66779 |
Static constructors no longer crash when you compile C++ code with debugging. | 66706 |
Photon window frames have been reworked to reduce CPU loading, and improve redraw speed. If you prefer the older look, you can do the following before starting Photon: export PH_WFRAME_STYLE=wframe_updated.so | 66257 |
A serious race condition, and potential deadlock circumstance, has been corrected in libgf and io-display with the usage of the following routines: gf_draw_begin(), gf_draw_finish(), gf_draw_flush(), gf_draw_end(), and gf_layer_flushrect(). If you've linked your Advanced Graphics application against libgf.a or libgfS.a, you need to relink it. |
66160 |
Some deadlocks under heavy usage in the F3S filesystem (devf) have been corrected. | 65991 |
We've fixed some issues with copying multiple files in the IDE's Target Filesystem navigator. | 65370 |
The ph script no longer requires that io-display be running if io-graphics doesn't need to be started. This means that you can now use Phindows to log into a target that isn't running io-display. | 65352 |
We now ship <fstab.h>, and we've added getfsent(), getfsspec(), getfsfile(), setfsent(), and endfsent() to the static libc. | 65331 |
The Thread State Snapshot view has been updated to support multiple selection and now displays the priority of running states. | 65322 |
Slinger no longer crashes if the query string to a CGI script is too long, or if you use CGI or SSI and the current working directory has been invalidated. | 65316 |
We've removed some unused Pa*() routines from libph, as well as the <photon/Pa.h> header file. | 65206 |
The IDE now correctly supports EXTRA_SRCVPATH for variants in a QNX project. | 65025 |
The filters view now appears in the System Profiler perspective. | 64975 |
The slog kernel event is now supported. | 64922 |
The filters view now provides the ability to use filters between multiple trace files and the ability to import/export filters and share them with other users. | 64815 |
The user is prompted to switch to the System Profiler perspective when a kernel trace is opened. | 64745 |
We've corrected a problem associated with using mmap() to create a mapping beyond the current end of the file. (This is legal according to POSIX, but you'll get a SIGBUS if you actually try to touch the page). When the kernel frees the internal structures for the memory-mapped file, it now correctly removes the physical memory that was allocated for the potential file data. | 64718 |
The IDE's Memory Analysis Toolkit no longer crashes in librcheck.so when used with MALLOC_USE_CACHE=0 (turning off pointer caching). (Ticket ID 86739) | 64629 |
PHF font file stem names are now constructed properly by PfFindFont*() and PfGenerateFontName*(). | 64417 |
We now include a FontFusion reference manual. You can find it in $QNX_TARGET/usr/help/FontFusion/FF_Ref_Guide.pdf. | 64352 |
If you resize a non NULL pointer to size 0 via realloc(p, 0), realloc() now returns a non-NULL pointer, just as malloc() does. This pointer is valid only for passing to free() or realloc(). | 64337 |
The libimg library now properly returns an error if the input stream is truncated. (Ticket ID 86523) | 64296 |
Pressing (in sequence) Alt, Space, the up arrow, and then the down arrow no longer causes PtList to crash. | 64174 |
The IDE now ignores invalid files in $QNX_HOST/etc/qcc/ (previously this caused all compiler configuration to be corrupted). (Ticket ID 86414) | 64170 |
The dhcpd daemon no longer runs ready if the lease file is corrupt. | 63918 |
The IDE's System Summary view has a new “Stack” column that shows the processes' allocated stacks. (Ticket ID 86335) | 63788 |
System Profiler has improved support for systems with Adaptive Partitioning. This includes the ability to filter based on partitions and to generate partition-based statistics. | 63673 |
phs-to-pcl for PPCBE is now included in the distribution. | 63636 |
The usage message for pidin now includes the f (process flags) and q (backtrace) formats, as well as the backtrace argument. | 63488 |
You can now control the compression quality on the img_codec_jpg.so codec. | 63481 |
The High Availability Manager now triggers the correct condition after another condition is freed. | 63468 |
We've improved the aggregated results in the IDE's Application Profiler for multithreaded applications running on one CPU. | 62785 |
The IDE's Application Profiler now uses thread names instead of IDs if the trace is imported from a kernel log. | 62784 |
8888 alpha images are now displayed correctly in print previews. | 62613 |
MsgSend*v*() and MsgReceive*v*() now indicate an error of EOVERFLOW instead of overflowing a buffer if the sum of the user's IOV lengths exceeds INT_MAX. | 62575 |
New Advanced Graphics image API img_crop() has been implemented. | 62571 |
PgReadScreen() now works in direct mode. | 62282 |
We've corrected the default values for the irq_threshold and transmit options in the usage message and documentation for devnp-i82544.so. This driver doesn't support the promiscuous option. | 62229 |
New flag Pg_OSC_MEM_LINEAR_ACCESSIBLE has been added for PdCreateOffscreenContext() in order to specifically request linearly accesible memory. | 62196 |
If you add a license in text mode (e.g. on the console or via a telnet session) using finstall -l, you can now properly activate. | 62147 |
HP xw4600 x86 desktop with nVidio Quadro FX 1700 platforms have stability issues when utilizing the devg-svga.so driver. We recommend using the devgvesabios.so driver (default). | 61690 |
We now ship the fontinfo utility, which you can use to display the details about font files. | 61470 |
We've addressed an issue with FIFO scheduling on SMP systems. | 61367 |
Switching from devg-matroxg to devg-svga via modeswitching no longer causes io-graphics and/or io-display to fault. | 61152 |
In the IDE's launch configurations, you can now specify the adaptive partition the process should run in. This functionality is available in the APS tab of the Tools tab. | 60661 |
The /dev/console interface no longer limits the buffer size to _SLOG_MAX, so slogger no longer loses characters. (Ticket ID 85121) | 60653 |
We've implemented some errata workarounds for wait-for-interrupt issues on some ARM926 processors. The fix is implemented within the startup callout used to invoke the wait-for-interrupt operation and requires rebuilding the BSP startup program with an updated libstartup containing the new ARM926 cpu support code. | 60487 |
Attempting to launch a program from the IDE on a target that doesn't have a pty device now fails, and consequently doesn't break other functionality such as System Information. You now get an error message indicating that you must have a pty device (such as devc-pty) running on the target when launching. | 60458 |
The Code Coverage tooling now works properly for applications (e.g servers) that don't exit. | 60457 |
The setkey utility now supports the 3des-deriv encryption algorithm. | 60289 |
In the IDE's System Profiler, thread names are now preserved when you save a selection of a .kev file. (Ticket ID 84937) | 60269 |
The df utility has a new -h that makes df display the sizes in human-readable form, using bytes, KB, MB, or GB as the units. | 60077 |
We've corrected the information, in the SPI (Serial Peripheral Interface) Framework technote, about what the spi_read(), spi_write(), spi_xchange(), spi_cmdread(), and spi_dma_xchange() functions return. (Ticket ID 84471) | 59977 |
The PtFileSel widget now consistently handles the root item when the Pt_FS_NO_ROOT_DISPLAY flag is set. | 59670 |
PpGetCanvas() now properly processes the width and height of a canvas in landscape mode. | 58706 |
phs-to-pcl: Issues related to text layout have been resolved. | 58180 |
phs-to-pcl: Improper text clipping resolved. | 57113 |
phs-to-pcl: Fill patterns are now processed. | 52878 |
We've updated the filters in the IDE's Memory Analysis memory events charts to add pointer filtering. You can now search for events using this filtering mechanism. | 52701 |
The Disassembly view in the IDE's Debug perspective now has a Go To Address action. After the assembly code is located, you can select Open Source from the context menu. If the source code is available, the IDE opens the source file and highlights the appropriate line. | 52681 |
The diskboot utility now has a -u option that you can use to override the default options passed to io-usb. (Ticket ID 80346) | 52436 |
Copying files over Qnet is faster with devnp-bge.so than it was with devn-tigon3.so. (Ticket ID 80016) | 50454 |
You can now fold compound statement blocks in C/C++ code in the IDE's Editor view. This type of folding has to be enabled in the global preferences first. | 50023 |
The stencil buffer is now cleared correctly for the Carmine board. (Ticket ID 77993) | 47115 |
It is possible now to copy the .boot file to the target filesystem using drag-and-drop (as well as other files, in read-only directories, but in which files have write access). | 46882 |
The IDE has new launch configuration Group Launch that lets you launch several processes simultaneously (or sequentially). | 45543 |
The libphrender library now writes a message on the system log if your graphical operation exceed the buffer limits in io-graphics. You can use the -p option to io-graphics to change the buffer size. (Ticket ID 76000) | 44030 |
In the IDE, the APS view's CPU Usage chart no longer shows the usage for each partition returning to zero at the right side of the chart; the lines now correctly end at the last point of data collected. | 42656 |
The etfsctl utility can now read and write the ETFS image file from/to stdin or stdout. Note that etfsctl will not recover from a bad block if writing an image from stdin. | 41317 |
The CPU Usage graph in the APS view now displays the partition's budget along with its CPU usage. | 40275 |
Destructors in shared objects are now executed on SH platforms. | 40137 |
The System Resources view now presents a graph of CPU usage for the target system. | 39113 |
You can now create more than one writeable mapping to a file. | 29565 |
The IDE's System Information perspective's Malloc Info view is now updated correctly when Memory Analysis Tooling is active on the same process. | 28712 |
The PWM_PRINTSCRN_APP environment variable now specifies (as documented) the application to launch when you press the Print Screen key. | 28500 |
You can now successfully install the QNX Software Development Platform on Windows systems that use multibyte characters. (Ticket ID 70136) | 27993 |
We've removed the -L (landscape) option from the phs-to-* printer filters. Use PpSetPC() to set the orientation in the printer draw stream to Pp_PORTRAIT, Pp_LANDSCAPE, etc. (Ticket ID 69400) | 25697 |
Searching for macros now works properly in the IDE. | 23596 |
If you have two breakpoints exactly one instruction apart, the second breakpoint now correctly stops the debugger. | 20833 |
Slinger now correctly sets the SERVER_ROOT environment variable when you use CGI or SSI. (Ticket ID 65719) | 20795 |
The phs-to-pcl utility now correctly processes colors on PPCBE platforms. (Ticket ID 63022) | 16990 |
When two or more threads in a process wait for a child process to die, they now correctly come back with the child's exit status instead of all but one remaining blocked. | 10381 |
Change | Ref# |
---|---|
The documentation now points out that resmgr_attach() copies the pointers to the resmgr_connect_funcs_t and resmgr_io_funcs_t structures, not the structures themselves. You should allocate the structures, declare them to be static, or make them global variables. If your resource manager is for more than one device with different handlers, create separate structures that define the handlers. | 68115 |
The documentation for devg-vmware.so now points out that VirtualPC and VMWare require a Windows session that's operating with 32-bit graphics. | 68050 |
The name_attach() function can indicate an error of EBUSY if it couldn't create a channel. | 67878 |
The .altboot file is for the QNX 4 filesystem. We've updated some references to it in the documentation to also cover the Power-Safe (fs-qnx6.so) filesystem. | 67803 |
The phs-to-bjc, phs-to-bmp, phs-to-escp2, phs-to-ijs, phs-to-pcl, phs-to-ps utilities no longer support the -L option. (Ticket ID 69400) | 67579 |
The documentation for gf_surface_get_info() now says that you should use the paddr member of the gf_surface_info_t structure only if GF_SURFACE_PHYS_CONTIG is set in the flags member. | 67561 |
In the chapter Developing C/C++ Programs in the IDE User's Guide, documentation was added to “Building from the command line” that describes how to build one or more projects in the IDE workspace from the command line. | 67259 |
We've updated the documentation for arp and dhcp.client to reflect the current usage messages. | 67256 |
Legacy io-net drivers create entries under /dev/io-net, not under /dev/io-pkt. | 67249 |
We've corrected some mathematical errors in the maximum file sizes for the Power-Safe (fs-qnx6.so) filesystem in the QNX Neutrino User's Guide. | 67237 |
We've corrected the example in the documentation for name_attach() so that it cleanly compiles. | 67167 |
You can find unsupported editors and other third-party software in the Bazaar project on our Foundry 27 website. | 66957 |
The -S option for ldrel adds a note that specifies the maximum (not minimum) stack size. If you don't specify -L, the stack is specified as non-lazy. | 66928 |
For detailed documentation about the GNU binutils (addr2line, ar, c++filt, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings, and strip), see the GNU website at http://www.gnu.org/. | 66865 |
We've updated the options for io-blk.so; for more information, see the Utilities Reference. | 66861 |
We've corrected the information about the flags for resmgr_attach(): use the flags whose names don't start with an underscore (RESMGR_FLAG_*) in the flags member of the resmgr_attr_t structure; use the flags whose names do start with an underscore (_RESMGR_FLAG_*) in the flags argument to the function. | 66755 |
When setting the time for use with pthread_cond_timedwait(), you can use nsec2timespec() to convert times in nanoseconds to a timespec structure (and timespec2nsec() to convert them back again). | 66700 |
We've added the language codes for Chinese, North Korean, and South Korean to the table in the International Language Support chapter of the Photon Programmer's Guide. | 66427 |
The entry for fs-qnx6.so in the Utilities Reference now describes the required device properties for the Power-Safe filesystem. | 66339 |
If the RLIMIT_DATA limit set with setrlimit() is exceeded, the brk(), mmap(), and sbrk() functions fail with errno set to ENOMEM. | 66278 |
An error of EPERM from InterruptAttachEvent() indicates that the process doesn't have I/O privileges. | 66260 |
The cron utility has a -s option that makes cron poll for jobs every minute. | 66201 |
The entry for resmgr_detach() in the QNX Neutrino Library Reference now describes the _RESMGR_DETACH_CLOSE flag, which closes all bindings when detaching. | 66106 |
The entry for gcc in the Utilities Reference now describes the -mno-fp-moves option (a QNX Neutrino extension), which prevents the code generator from using floating point registers to move integers. | 66031 |
In the chapter Preparing Your Target in the IDE User's Guide, documentation was added to “Networking QNX Neutrino using PPP” to describe how to set up and use the IDE from a Windows configuration to an embedded target over a PPP serial link. | 66023 |
The documentation for devf-generic now describes the -d option, which controls logging, and the -e option, which controls the enumeration and automounting of partitions. | 66019 |
The documentation no longer says that iofunc_lock() isn't implemented. | 65936 |
The integer that's passed to the handler you register with InterruptHookTrace() is a combination of the buffer index and the sequence number; to extract each, pass the integer to the _TRACE_GET_BUFFNUM() and _TRACE_GET_BUFFSEQ() macros. | 65935 |
The output from fsysinfo now includes statistics about the number of pages mapped in and released by the heap-allocation subsystem. | 65687 |
We've corrected the sample code for using images in columns in a PtTree so that it correctly sets Pt_ARG_TREE_COLUMN_ATTR. | 65613 |
You can now use mmap() to get more than one writeable mapping to a real file. | 65582 |
In the chapter Analyzing Your System with Kernel Tracing in the IDE User's Guide, documentation was added to “Filtering using partitions” to describe partition based filtering, which lets the current editor panes and views that support filtering to only show data related to selected partitions. | 65546 |
In addition to supporting UDF (OSTA-UDF/ECMA-167) filesystems, fs-udf.so now supports ISO-9660 (base 1998 spec, 1999 spec, Joliet extensions, Rock Ridge extensions). As a result, it has several new options, as described in the Utilities Reference. | 65320 |
The mkqnx6fs utility has new -O and -o options that you can use to change booting and filesystem options for the Power-Safe filesystem. | 65319 |
We've corrected the description of the sync option for fs-qnx6.so. | 65318 |
You can use the devn-el509.so and devn-sis9.so drivers with any variant of io-pkt, not just io-pkt-v4. | 65311 |
In the chapter Analyzing Your System with Kernel Tracing in the IDE User's Guide, documentation was added to “Trace Event Log view” to explain an example of an event configuration file by describing it's contents. | 65302 |
The filesystem (fs-*) entries in the Utilities Reference now have links to the Filesystems chapter in the System Architecture guide and the Understanding System Limits chapter of the QNX Neutrino User's Guide. | 65275 |
We've corrected the documentation for enum-devices: when specifying a device, vend should actually be ven. | 65255 |
We've removed references to the ntomulti-* variants (which we no longer ship) of addr2line, ar, gprof, nm, objcopy, objdump, size, strings, and strip. | 65152 |
We now link to version 5.0 of the NetBSD documentation for ftp. | 65106 |
The QNX Neutrino Library Reference now includes entries for resmgr_msgreply() and resmgr_msgreplyv(). | 64924 |
On ARMv6 platforms, the maximum number of processes (actually address spaces) is 255; we've updated the Understanding System Limits chapter of the QNX Neutrino User's Guide. | 64899 |
The documentation for the USB DDK no longer states that isochronous and split isochronous transfers are unsupported. | 64842 |
The entry for mksbp in the Utilities Reference now describes how to build a System Builder project that's inside an IDE workspace or just logically linked to one. | 64806 |
The Using PhAB Under Microsoft Windows appendix of the Photon Programmer's Guide now says you should run mkfontdir, not mkfontdir.exe (Ticket ID 86748) | 64792 |
The devc-con, devc-con-hid, devc-par, and devc-serpci drivers are for x86 targets only; devc-serzscc is for PPCBE and x86 targets. | 64730 |
We've updated the documentation for wpa_supplicant to reflect the NetBSD 5.0 version of the daemon. | 64602 |
We've updated the list of supported options for pppd, including the list of those that are specific to QNX Neutrino. | 64519 |
Use ioctl_socket() instead of ioctl() in Packet Filter (pf) or Berkeley Packet Filter (bpf) code. | 64503 |
We've updated the IP Tunneling (Generic Routing Encapsulation) technote. | 64212 |
In the chapter Finding Memory Errors in the IDE User's Guide, documentation was added to “Using a file to log the trace” to describe how to use the LD_PRELOAD command from the command line, as well as updates to the list of supported options for librcheck in “Memory Analysis GUI flags and corresponding environment variables”. | 64172 |
The entry for mmap() in the Neutrino Library Reference now describes the MAP_BELOW, MAP_ELF, MAP_FILE, MAP_NORESERVE, and MAP_RENAME flags. | 64168 |
In QNX Neutrino, RLIMIT_DATA covers all mappings made by the process that are MAP_ANON | MAP_PRIVATE that aren't MAP_STACK, which corresponds typically to heap allocations. | 64135 |
In the chapter Managing Source Code in the IDE User's Guide, documentation was added to “Importing a BSP or other QNX source packages” to describe how to import a BSP or source package from Foundry27. | 64093 |
The documentation for mmap() now describes how the function handles typed memory objects. | 64076 |
The io-pkt-v4, io-pkt-v4-hc, and io-pkt-v6-hc stacks now process some generic driver options for all USB drivers using the NetBSD-to-QNX conversion library to let you identify a particular USB device. For more information, see the Utilities Reference. | 64022 |
We now use the latest version of the tftp client, which supports a new -e option and port argument, and new blksize, tout, and tsize commands. | 64021 |
The io-pkt-v4, io-pkt-v4-hc, and io-pkt-v6-hc stacks now process a name= driver option that lets you specify the interface names. | 64020 |
We've added entries for ApInitialize() and ApLinkWindow() to the Photon Library Reference. (Ticket ID 86422) | 64014 |
The entry for pidin in the Utilities Reference now describes the q format and the backtrace argument. | 63487 |
The entry for pidin in the Utilities Reference now describes the mapinfo shorthand. | 63486 |
We've added more details to the technote on creating your own runtime kit. | 63296 |
All our disk filesystems except fs-qnx4.so use UTF-8 encoding for presentation of their filenames; attempts to specify a filename not using UTF-8 encoding will fail (with an error of EILSEQ) on these filesystems. (Ticket ID 85972) | 62919 |
The Using Qnet for Transparent Distributed Processing chapter of the QNX Neutrino User's Guide now includes more details about the way that /net gets populated. | 62899 |
In the chapter Using Code Coverage in the IDE User's Guide, documentation was added to “Enabling code coverage for Make projects” to describe how to configure code coverage, additional options to specify, and detailed comments were included in the example Makefile. | 62762 |
The documentation for tr now says that you can specify ranges of characters with or without square brackets. | 62731 |
In the chapter Profiling an Application in the IDE User's Guide, documentation was added to “Building with profiling enabled” to describe how to configure a Makefile to do profiling for function instrumentation. | 62721 |
The entry for dlsym() in the QNX Neutrino Library Reference now describes the special RTLD_NEXT flag. The entry for dlopen() and the Dynamic Linking chapter of the System Architecture guide now describe how LD_PRELOAD is used when resolving symbols. | 62713 |
We've removed a reference to vmware.boot, which we no longer ship, from the documentation for mkifs. | 62596 |
The documentation for pidin now describes the channels argument. | 62504 |
We've corrected the entry for /etc/inetd.conf in the Utilities Reference; a server doesn't need to explicitly leave the master socket open when it exits. | 62469 |
The Photon Programmer's Guide has a new chapter, Understanding Encodings, Fonts, Languages and Code Tables. | 62462 |
The QNX Neutrino Library Reference now includes entries for mq_timedreceive_monotonic() and mq_timedsend_monotonic(). These functions are similar to mq_timedreceive() and mq_timedsend(), but they use CLOCK_MONOTONIC, so the timeout isn't affected by changes to the system time. | 62417 |
We've restored the “Setting up a restricted ftp subtree” section that was removed from the documentation for ftpd in QNX SDP 6.4.0. | 62329 |
The System Architecture guide now says that if a thread sends a message with an “nc” (non-cancellation point) variant of MsgSend*(), then when the server replies, the thread is placed at the front of the ready queue, rather than at the end. If the scheduling policy is round-robin, the thread's timeslice isn't replenished. | 62293 |
The usage message and documentation for ldrel no longer include the discontinued -S 0 option. | 62258 |
The Utilities Reference now includes an entry for top. | 62233 |
The entry for mkefs in the Utilities Reference now describes the -c option, which you can use to specify the directory in which to cache compressed files. | 62221 |
The documentation for io-usb now describes the -P option, which you can use to specify the priority of the server. | 62206 |
Even with exceptions disabled, the new() operator throws a std::out_of_memory exception if there isn't enough memory. If you want new() to return NULL instead of throwing an exception, overload the new() operator with your own. (Ticket ID 85592) | 62050 |
You should allocate mutexes, condvars, barriers, reader/writer locks, semaphores, objects you plan to use atomic operations on, and the control structure for pthread_once() only in normal memory mappings. On certain processors (e.g. some PPC ones), atomic operations and calls such as pthread_mutex_lock() will cause a fault if the object is allocated in uncached memory. | 61585 |
The Utilities Reference now includes an entry for qbinaudit. You can use this script to compare your binaries with the official released versions. | 61572 |
The documentation for cam-disk.so now explains how you can specify a starting device number in the name= option. Note that you should do this only in closed systems where you know which devices and indexes are present. (Ticket ID 85444) | 61524 |
The documentation for io-blk.so now explains how you can use the naming= option to change the naming scheme used for devices and partitions. Note that you should do this only in closed systems where you know exactly which devices will be present. Some system components may make assumptions about the naming scheme. (Ticket ID 85444) | 61523 |
We've added an entry for devg-poulsbo.so to the Utilities Reference. | 61490 |
The wait(), wait4(), waitid(), and waitpid() functions suspend the calling thread, not the calling process. | 61293 |
ThreadCtl() and ThreadCtl_r() indicate an error of EINVAL if the specified runmask is invalid. | 61290 |
If you use ConnectAttach(), your application needs to include <sys/netmgr.h>, in order to define ND_LOCAL_NODE. | 61282 |
The entry for devc-con and devc-con-hid now describes how to specify international keyboard layouts. | 60636 |
The QNX Neutrino Library Reference now includes an entry for getpagesize(). | 60431 |
The QNX Neutrino Library Reference now includes an entry for fchdir(). | 60375 |
The documentation for mkifs now explains how you can specify the compression algorithm for the compress attribute. | 60348 |
We've added more details to the documentation for pidin about the output from the memory argument. | 60155 |
The documentation for phlocale now mentions that this utility creates or updates /etc/country to indicate the country you're in, based on your selection of the time zone. | 59765 |
The entries for mkefs, mketfs, and mkifs in the Utilities Reference now state that you can specify a filter of none. (Ticket ID 84523) | 59663 |
We've added an entry for ldd to the Utilities Reference. This utility lists the shared libraries that a program requires. | 59506 |
The Conventions for Recursive Makefiles and Directories appendix of the QNX Neutrino Programmer's Guide now describes how to use the JLEVEL macro to enable parallel builds. | 59372 |
In the chapter IDE Concepts in the IDE User's Guide, documentation was added to “Considerations for project development” to include additional information that developers should know/consider for project development. | 59277 |
We've updated the list of algorithms that setkey supports. | 58728 |
Some examples of override files set VERSION_REL, which specifies the version of QNX Neutrino that you're building for. This variable is primarily for internal use at QNX Software Systems; it indicates that make is running on a build machine instead of on a developer's desktop. If you set this variable, make becomes a lot more particular about other settings (e.g. it will insist that you set PINFO). | 58620 |
The fildes argument to mmap() can be the file descriptor for a file, shared memory object, or typed memory object, or NOFD if you're mapping physical memory. | 58550 |
The options for tail now conform to POSIX; we've updated the documentation. | 57975 |
The IDE User's Guide now explains how to change the order in which extra libraries are linked against. (Ticket ID 75996) | 57550 |
In the IDE, if you build a make project, and then modify and build the project outside of the IDE for a library that it needs to link against, when you attempt to select Build Project in the IDE, it won't reissue the make all command for the project. The IDE will ignore the explicit user-specified build request for this particular scenario. | 57485 |
We've added an entry for op to the Utilities Reference. Note that this utility is a security hole and requires some setup (described in the documentation) to make it functional. We recommend you use su instead of op. | 56022 |
The fdisk info command displays a warning if the number of sectors reported by the device doesn't match the product of the number of cylinders, the sectors per track, and the number of heads. This is expected for hard drives that use zoned bit recording. | 54075 |
The on utility now has a -P option, which spawns the process, setting the SPAWN_PADDR64_SAFE flag to indicate that the process is known to operate safely with 64-bit addressing or doesn't care about the physical memory location. | 53500 |
The Writing a Resource Manager guide now includes a section on handling mount requests. | 46791 |
In the chapter Building OS and Flash Images in the IDE User's Guide, documentation was added to “Image and item properties” to describe all of the properties for images. | 45710 |
The entry for timer_getoverrun() in the QNX Neutrino Library Reference now points out that pulses are queued for a process, so timer overruns occur only for signals. | 44817 |
The High Availability Manager can see death messages only from tasks that are running in session 1, and daemon() doesn't put the caller into that session; use procmgr_daemon() instead if you want to use your application with the HAM. If you want to use inetd under control of the HAM, specify the -D option when you start inetd. | 42701 |
If you use Overrides directories in a buildfile in the IDE, and you want to build your project from the command line, you need to use the -r option to specify the path to the overriding directories. We've updated the IDE User's Guide. (Ticket ID 74804) | 41527 |
Because of the nature of time measurement, timers might actually expire later than the specified time, and delays might be longer than specified. The QNX Neutrino Programmer's Guide now includes a chapter that explains the kernel's concept of time. | 41038 |
The IDE User's Guide now explains the difference between shared objects and DLLs. (Ticket ID 74157) | 40841 |
The Writing an Interrupt Handler chapter of the QNX Neutrino Programmer's Guide and the Customizing Image Startup Programs chapter of Building Embedded Systems now include more information about interrupts on multicore systems. | 40481 |
All PCI servers (e.g. pci-bios) have an -x option that prevents the server from removing devices from the PCI bus while enumerating them. | 40300 |
The micro-embedded shell, uesh, now accepts a script file as an argument. Since this shell doesn't support filename expansion, * and ? aren't special characters. | 38216 |
The System Resources view now provides a processes' CPU usage as a % of non-idle time. | 37587 |
By default, filesystems are mounted as read-write if the physical media permit it. You can use the -r option for mount to mount the filesystem as read-only. The io-blk.so library also supports an ro option for mounting block I/O filesystems as read-only. | 36077 |
MsgDeliverEvent() and MsgDeliverEvent_r() can give an error code of EINVAL if the given event isn't valid. | 29974 |
The documentation for the Advanced Graphics API now includes the correct header files. | 29734 |
The Writing a Resource Manager guide now includes more details about unblocking your resource manager's clients. | 29263 |
The Utilities Reference now includes entries for ed, getty, indent, ldd, ln-w, mcs, op, patch, and unifdef. | 29234 |
The documentation for iofunc_notify() now describes the _NOTIFY_CONDE_* (extended) flags. | 27315 |
The QNX Neutrino Library Reference now includes an entry for resmgr_msg_again(). | 26868 |
The System Architecture guide and the entries for ChannelCreate(), ConnectAttach(), and MsgSend*() in the QNX Neutrino Library Reference now mention that if a process wants other processes to communicate with it, it can use name_attach() to create a channel and associate a name with it. The sender process can then use name_open() to locate that name and create a connection to it. (Ticket ID 70168) | 26438 |
The documentation now explains why the nanospin*() functions wait for at least the specified time, but not necessarily for exactly the specified time. | 25817 |
We've corrected the types of the members of the timeval structure in the entries for gettimeofday() and settimeofday() in the QNX Neutrino Library Reference. | 25655 |
We've corrected the list of errors that ttyname() and ttyname_r() can indicate. | 24628 |
The Pt_ARG_REGION_DATA resource isn't implemented, so we've removed it from the Widget Reference. | 24315 |
The entry for traceroute in the Utilities Reference now describes the -d and -P options. | 23311 |
The entry for iofunc_notify() in the QNX Neutrino Library Reference now describes the IOFUNC_NOTIFY_DISARM() and IOFUNC_NOTIFY_INIT() macros, which disarm and initialize a notification list. The entry for iofunc_notify_trigger() now describes the IOFUNC_NOTIFY_INPUT_CHECK(), IOFUNC_NOTIFY_OBAND_CHECK(), and IOFUNC_NOTIFY_OUTPUT_CHECK() macros, which check a notification list to see if it's worthwhile calling iofunc_notify_trigger(). | 22781 |
The entries for ntpd and ntpdate now refer you to the FreeBSD documentation for information about the ntp.conf and ntp.keys configuration files. | 22587 |
The entries in the Utilities Reference now indicate which host OSs the utilities run on. | 22137 |
The documentation for mmap() now mentions that you can use MAP_SHARED | MAP_ANON to create a region to be shared by forked applications. | 20273 |
If the given msg_len is less than the mq_msgsize for the given queue, mq_receive() sets errno to EMSGSIZE, not EINVAL. | 18626 |
The Processes chapter of the QNX Neutrino Programmer's Guide now includes a section on manipulating threads via the /proc/pid/as files. | 17722 |
The documentation for pthread_attr_setstackaddr() and pthread_attr_setstacksize() now points out that the system uses some of the provided stack for objects such as thread local storage and an initial stack frame, so less than the entire buffer is available to the thread. | 16694 |
We've added more details to the entry for fdisk in the Utilities Reference, including information about partition types, the corresponding filesystems, and the commands you use to initialize the filesystems. | 16356 |
The documentation for mmap() now describes the MAP_NOSYNCFILE flag. | 14493 |
The documentation for ls now points out that if you're using Qnet, doing something like ls -R /net can take a very long time because it recursively lists all the directories on all the machines on your network. | 10380 |