Date of this edition: November 14, 2008
![]() |
Changes to these notes since October 31, 2006 are highlighted below
with this icon:
|
Target OS: QNX® Neutrino® 6.3.0 SP3
Host OS: Microsoft Windows Vista, XP SP2, 2000 SP4, or NT SP6a; Sun Solaris 7, 8, 9, or 10; QNX® Neutrino® 6.3.0 or later; Linux Red Hat 8 or 9, Red Hat Enterprise WS 3 or 4, Red Hat Fedora Core 3 or 4, Debian 3.1, or SUSE 10
![]() |
|
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.
Some of the items in these release notes apply only to certain editions of QNX Momentics, and are marked accordingly using “PE” (Professional Edition) and “SE” (Standard Edition) abbreviations in parentheses beside the items. Items that aren't marked apply to all editions.
For the most up-to-date version of these notes, go to our website, www.qnx.com, log into your myQNX account, and then go to the Download Center.
![]() |
Make sure that Plug and Play OS is disabled in the BIOS before you run QNX Neutrino self-hosted. |
QNX Momentics 6.3.0 Service Pack 3 is a roll-up release that incorporates 6.3.0, Service Pack 1, Service Pack 2, Documentation Update 1.0.0, and the following patches:
| Name | ID |
|---|---|
| Network Drivers Patch | 153 |
| Debug Malloc Library Patch | 155 |
| Graphics Driver Patches | 171, 268 |
| USB Driver Patch | 189 |
| qconfig Patch | 205 |
| Photon Patch for Windows | 209 |
| Hardware Update Patch | 214 |
| zip and unzip for Windows and Solaris Hosts Patch | 228 |
| Photon Security Patch | 232 |
| Maintenance Patch for QNX Momentics 6.3.0 SP2 Network Protocol Components | 234 |
| ARMLE, ARMBE, and SHLE gcc libraries for Windows Patch | 238 |
| Photon Screensaver Patch for the QNX Neutrino Core OS 6.3.2 | 241 |
| Maintenance Patch for Filesystems | 245 |
| qnx_cp for Solaris Patch | 251 |
| su and passwd Patch | 270 |
| IDE System Builder Patch | 277 |
| Device Enumeration Patch | 278 |
| cpp0 2.95.3 Patch | 280 |
| qnxactivate Patch | 282 |
| BSP Utilities Patch | 283 |
| io-graphics Patch | 290 |
| Self-hosted QNX Neutrino Installation and Booting Patch | 291 |
| startup-bios, rtc, and pci-bios Patch | 311 |
| Documentation Patch | 313 |
| pci and pci-bios Patch | 326 |
| awk for Linux and Solaris Patch | 332 |
| qaudit.sh Patch | 338 |
| io-graphics Patch | 344 |
| input-cfg Patch | 346 |
| devg-i830.so Patch | 347 |
| Device Enumerator Patch | 359 |
| Block Drivers Patch | 366 |
| RCS ID Header File Patch | 373 |
Here are the main new features in QNX Momentics 6.3.0 SP3:
![]() |
For up-to-date information on what's compatible between the latest two versions, see 6.3.0 and 6.2.1 Compatibility, available on our website. |
For more information, see the installation note for Neutrino hosts.
![]() |
For 6.3 and beyond, BSPs are available only from our website. |
The base QNX Momentics suite includes the operating system and services required for most embedded systems (e.g. filesystems, GUI, IP networking technologies). The value-added TDKs, which are available from the Download Center on our website, help you control costs and achieve overall lower TCO for QNX Momentics-based systems.
The TDKs currently include:
For more details, please contact your QNX sales representative.
![]() |
With 6.3.0 SP3, some networking utilities and
services have been moved from the base product to the
Extended Networking TDK:
Managers
Utilities
Libraries
|
![]() |
The OS images that we ship start procnto with the -v option, so that the kernel provides you with more information when a signal terminates a process. |
![]() |
The Photon Application Builder (PhAB) is available only for
Windows and QNX Neutrino hosts.
If you're using a Linux or Solaris host, but you still want to use PhAB, consider installing a QNX Neutrino host to a second partition or an x86 simulator (e.g. VMware). |
The QNX Momentics 6.3.0 development 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.
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 (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 6.3.0 Install" -e`
![]() |
In the above command, you must use the “back tick” character (`), not the single quote character ('). |
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 Concepts chapter of the IDE User's Guide.)
![]() |
Coexistence of 6.3.0 and 6.2.1 is supported only on Windows and Solaris hosts. |
Neutrino uses these environment variables to locate files on the host machine:
The qconfig utility sets these variables according to the version of QNX Momentics that you specified.
QNX Momentics 6.3.0 SP3 includes changes in these areas:
![]() |
You can use this import facility only for 6.3 (and later) BSPs. |
![]() |
You need to relink any SH4 binaries that you linked with QNX Neutrino 6.2.1 or earlier if you want to run them on SH4A targets. For more information, see “Known issues: BSPs, DDKs, and TDKs,” below. |
These utilities support a new, simplified way of packaging and installing Board Support Packages. We plan to provide a technote that describes how to use these utilities. (Ref# 28858)
![]() |
For more information on BSPs and DDKs, see their installation notes and release notes. |
or:
extern unsigned __fpscr_values[];
static void on_lib_load(void) __attribute__((constructor));
static void on_lib_load(void) {
__fpscr_values[0] = 0x00040004;
__fpscr_values[1] = 0x000c0004;
}
You can determine which shared objects use the fpscr by running this command:
ntosh-objdump -D lib_my_dll.so | grep fpscr_values
Since this bug also affects SHLE system shared libraries, you should rebuild any target systems that use any of the shared libraries in SP3, to make sure that the fixed shared libraries are used in the boot image and the target file system.
The system shared libraries under $QNX_TARGET/shle that are affected are:
The system shared libraries under $QNX_HOST/usr/lib/gcc-lib/ntosh/2.95.3/ml that are affected are:
The system shared libraries under $QNX_HOST/usr/lib/gcc-lib/sh-unknown-nto-qnx6.3.0/3.3.5 that are affected are:
nto$CPU-gcc
or:
qcc -Vgcc_nto$CPU
To get a specific version, run:
nto$CPU-gcc-$version
or:
qcc -V$version,gcc_nto$CPU
Examples:
| Command | Compiler version |
|---|---|
| ntoarm-gcc | 2.95.3 |
| ntoarm-gcc-2.95.3 | 2.95.3 |
| ntoarm-gcc-3.3.5 | 3.3.5 |
| qcc -Vgcc_ntomipsle | 2.95.3 |
| qcc -V2.95.3,gcc_ntomipsle | 2.95.3 |
| qcc -V3.3.5,gcc_ntomipsle | 3.3.5 |
![]() |
To change the default compiler in the IDE, use the Compiler Tab in the project Properties dialog. |
This behavior is being deprecated; it will be removed in a future release. The correct method is to use the -rpath-link option.
The environment variable MAKEFLAGS gives extra command-line flags to make; by setting it to -I$QNX_TARGET/usr/include, these .mk files will be found.
![]() |
Microsoft's nmake also uses MAKEFLAGS, so if there's a mixed environment, you can use GNUMAKEFLAGS, which is an extension to standard make and exists only in the QNX-supplied version. |
Starting with 6.3.0, mkifs keeps the following ELF sections by default, even without the +raw attribute:
You can use the new -s command-line option to name sections that you want mkifs to keep.
![]() |
If you specify -s, only the sections that you specify are kept. You need to explicitly specify the above names if you want to keep them as well. |
![]() |
Asynchronous messaging is an experimental feature in 6.3.0; its implementation may change. For more information, see the Asynchronous Messaging technote in the online documentation, as well as the asyncmsg_*() entries in the Neutrino Library Reference. |
![]() |
This is the reverse of the behavior of 6.2.1; the -N option formerly enabled support for long filenames. |
![]() |
The OS now prevents _NTO_SIDE_CHANNEL connections from being
duplicated (via dup(), dup2(), or
fcntl(F_DUPFD)). This is to
maintain consistency with the concept of side-channels forming
a separate file-descriptor space that isn't subject to normal
process-inheritance rules.
If you are dup()ing side-channels, then they must now be attached as normal file descriptors. Note also that the low-level ConnectAttach() doesn't allow the specification of a specific side-channel index, which is required by dup2(). |
This means that by default the highest allowable fd number for FD_SET(fd, &set) is 255.
Any use of fd_set within data structures will therefore cause a change in structure size, so you should do a global recompile.
![]() |
The global recompile should include all application code, as well as library code that would be referencing fd_set or structures containing fd_set. If you don't recompile, you may see random corruption and crashes. |
To make the value higher, #define FD_SETSIZE before including <sys/select.h>. But make sure this is done consistently throughout your modules.
If you don't want to cause a global compile, you can #define FD_SETSIZE 32 before including <sys/select.h> (or -DFD_SETSIZE=32 on the command line) to set it back to the old size, but make sure this setting is consistently applied to all your code.
This could have shown up when you used gdb to do a source-line step over a kernel call (or a library function that did a kernel call e.g. mmap()). (Ref# 19351)
On a large mmap() request, it was possible that during the mapping of that memory, there wouldn't be enough memory to allocate further L2 page tables. On L2 allocation failures, mem_virtual (x86 only) recovers by unmapping the physical address space mapped up to that point. The issue was that we allocated X bytes of physical RAM for the anonymous mapping, but managed to map only N bytes. When we freed N bytes from the page tables, we leaked the remaining X − N bytes.
Now, we reset the page table to zero out the physical addresses, free all the physical memory, and then carry on as usual. (Ref# 11408)
Instead, only the path(s) defined by the _CS_LIBPATH configuration string will be used. You can examine or modify the value of _CS_LIBPATH using the getconf and setconf utilities.
![]() |
In a buildfile, you can set the initial value of
_CS_LIBPATH via the
LD_LIBRARY_PATH= part of the
“procnto” line. For example:
PATH=/proc/boot:/bin:/usr/bin LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll procnto |
![]() |
In earlier versions of QNX Neutrino, mqueue managed message queues and named semaphores; now, procnto handles named semaphores. If your embedded system uses named semaphores but not message queues, you don't need to include mqueue in your OS image. (Ref# 21823) |
By default, the implementation of the mq_*() routines in libc is the old style, using the mqueue server to broker each transaction. To use the new-style implementation, the application(s) must be linked against the libmq library. In a manual build, specify the -l mq option; in automatic/recursive builds, use this setting in your common.mk file:
LIBS += mq
Since both variants adhere to the POSIX 1003.1 Message Passing API, no code-level changes are required in conforming applications.
The new server /sbin/mq must also be started. Although this server is not involved in each mq_send()/mq_receive()/mq_notify() operation, the server is necessary in order to maintain the queue names and create the corresponding kernel message queues. The server also presents all created queues in the /dev/mq/ directory, allowing the use of ls and rm for administration purposes (although the queue contents can't be manipulated via shell utilities). This directory could be changed to union over the directory exported by the old mqueue server by using the mq -N/dev/mqueue option, but this isn't recommended, because it may cause some user-namespace confusion.
The two POSIX message queue implementations may coexist but are disjoint. Queues created with mq_open() from libc aren't accessible to mq_open() from libmq and vice versa. When relinking applications to use the new implementation, be sure to change all affected components. We require such explicit intervention to use the alternate implementation because of potential incompatibilities if your code isn't strictly POSIX conforming.
Message queue descriptors (mqd_t) are no longer file descriptors in the alternate implementation. The POSIX 1003.1 standard makes no claim as to the underlying type of an mqd_t, and provides a specific set of functions to manipulate a message queue and its attributes based on an abstract mqd_t type.
For example, the following code modifies the nonblocking attribute of an open message queue:
mq_getattr(mq, &attr); attr.mq_flags |= O_NONBLOCK; mq_setattr(mq, &attr, NULL);
And this example attempts to obtain the count of messages in a queue:
mq_getattr(mq, &attr); nmsg = attr.mq_curmsgs;
Other examples include the historic interchangeability of mq_send() with write() and of mq_receive() with read(). There's no direct counterpart to select() when used on a mixed set of queues and file descriptors or for the transition from a full queue, although mq_notify() may be used to register an event against a message queue on transition from empty.
![]() |
The alternate implementation doesn't support the DCMD_MISC_MQSETCLOSEMSG QNX extension to inject a canned message when a queue descriptor is closed. |
The default configuration of a message queue created by mq_open(O_CREAT) with a NULL mq_attr structure has been changed, because kernel buffers for the messages are now created up-front rather than on-demand. To create a queue with a specific configuration, simply provide a non-NULL mq_attr. To force the NULL default to match that of the old implementation, use the mq -m1024 -s4096 options (which isn't recommended, because this will consume 4 MB of system memory for each such queue!).
Since the kernel primitives supporting the asynchronous message-queue facilities are non-orthogonal with respect to native QNET networking, the alternate implementation allows for message queues to be manipulated only from the local machine. Of course, distributed access and the network-qualified naming of message queues is undefined by POSIX.
The following table summarizes the main differences between the alternate implementations:
| Style | Server | Library | Pathname | mqd_t implementation | Qnet |
|---|---|---|---|---|---|
| Old (6.x) | mqueue | libc | /dev/mqueue/ | int (file descriptor) | Yes |
| New (6.3.0) | mq | libmq | /dev/mq/ | int (internal index) | No |
With the new design, the following routines are now deprecated (and they spit out a message to that effect if you call them):
They're handled automatically by the library now.
Instead of ppc7450_init_l2_cache(), use ppc700_init_l2_cache().
The startup library now enables instruction and data translation very early on for PPC 600-series chips. It also enables the data cache as well. Doing this speeds up the startup, removes code from the kernel (eventually), and lets us avoid duplicating the same routine over and over again in the startup/boards tree.
However, basically all the board startups for PPC 600 chips have to be tweaked. Since the MMU is now enabled while startup is running, you can't just in8/out8 or dereference a physical address. Instead, you must use the startup_io_map/startup_memory_map|unmap functions to gain access to the storage.
Also, callout routines should have a patcher that uses callout_[io/memory]_map[_indirect] calls to map the given physical addresses to a virtual address that the callout code can use. The kernel no longer looks for a “kernel_device” entry in the asinfo section and provides the mapping for you.
For more information, see the section “PPC chips support” in the Customizing Image Startup Programs chapter of Building Embedded Systems.
![]() |
The MIPS startup library also uses the same style of code as with the PPC to deal with chip variations. |
With Book E processors, interrupts (and all other exceptions as well) no longer start at fixed locations in low memory. Instead, there's a set of IVORs (Interrupt Vector Offset Register). There's a different IVOR for each exception class. Book E describes 16 of them and reserves another 48 for future expansion and implementation use.
Accordingly, when specifying the interrupt layout to startup you don't use the PPC_EXC_? constants on a Book E CPU. Instead, you identify the particular IVOR register that the processor will use when the interrupt goes off. For example, PPCBKE_SPR_IVOR4 is used for normal external interrupts, PPCBKE_SPR_IVOR10 for decrementor interrupts. See startup/boards/440rb/init_intrinfo.c for an example of what to do on Book E CPUs.
Note that non-root processes can use only priority levels 1 to 63. Only root processes (i.e. those whose effective uid is 0) are allowed to set priorities above 63.
You can change the allowed priority range for non-root processes with the procnto -P option:
procnto -P priority
Here's a summary of the ranges:
| Priority level | Owner |
|---|---|
| 0 | idle thread |
| 1 through priority − 1 | non-root or root |
| priority through 255 | root |
As of 6.3, these two functions are no longer used internally. However, they've been left in libc for the time being, but may be removed altogether in a future release. For reference, here is the old implementation of select():
/*
Copyright 2001, QNX Software Systems Ltd. All Rights Reserved
This source code has been published by QNX Software Systems
Ltd. (QSSL). However, any use, reproduction, modification,
distribution or transfer of this software, or any software
which includes or is based upon any of this code, is only
permitted under the terms of the QNX Realtime Platform End
User License Agreement (see licensing.qnx.com for details)
or as otherwise expressly authorized by a written license
agreement from QSSL. For more information, please email
licensing@qnx.com.
*/
#include
#include
#include
#include
#include
#include
#include
/* The routine implements the Unix select call. When
semantics differ the BSD
semantics defined in APUE (pg. 396-400) are followed.
*/
int select(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *tvptr)
{
struct sigevent event;
struct timespec ts;
if(tvptr)
{
if (tvptr->tv_sec < 0 || /* don't bother
checking upper ends, roll over will catch really bad overflows */
tvptr->tv_usec < 0)
return errno= EINVAL, -1;
ts.tv_sec= tvptr->tv_sec ;
ts.tv_nsec= tvptr->tv_usec * 1000L ;
}
event.sigev_notify = SIGEV_SIGNAL_THREAD;
event.sigev_signo = SIGSELECT; /* This signal is
always SIGBLOCKed */
/* event.sigev_value will be modified as needed by
select_sigevent() */
event.sigev_code = SI_NOTIFY;
event.sigev_priority = -1;
return _select_event(nfds, readfds, writefds, exceptfds, tvptr ? &ts : 0, &event, _select_block, 0);
}
On ARM, you can use shm_ctl() to create shared memory objects that can be mapped outside the regular process address space to overcome the 32 MB address-space limitation.
In 6.2.1, these objects, when mapped, weren't protected and were potentially accessible via their global virtual addresses from any suitably privileged process. This access was restricted to processes that had performed ThreadCtl(_NTO_TCTL_IO), so in general, this was restricted to drivers or other system processes. The SHMCTL_LOWERPROT flag lowered this restriction so that any user process could potentially access these mappings without having to use ThreadCtl(_NTO_TCTL_IO) first.
In 6.3.0, these global mappings are protected, so that only the process that performed the mmap() of the shared memory object can access it. If you have any code written for 6.2.1 that relies on the implicit access allowed by these global mappings, you must modify it to use the flags to explicitly remove the per-process protection:
In addition to the per-process protection, 6.3.0 changes the alignment of the virtual addresses where these global mappings are placed:
In 6.2.1, mmap() mapped separate objects like this:
In 6.3.0, mmap() maps these objects as:
If you have any code written for 6.2.1 that makes assumptions about the alignment of mappings or uses MAP_FIXED with non-1-MB alignment, you must modify it to comply with the new behavior.
By default, startup programs will compile and link with the 32-bit version. If a board needs 64-bit physical addresses, add the make macro PADDR_SIZE=64 to the board's pinfo.mk file (see startup/boards/440rb/pinfo.mk for an example).
Here's replacement code for SYSTEM_ENTRY(system_private)->ramsize:
uint64_t
get_total_mem(void) {
char *str = SYSPAGE_ENTRY(strings)->data;
struct asinfo_entry *as = SYSPAGE_ENTRY(asinfo);
uint64_t total = 0;
unsigned num;
for(num = _syspage_ptr->asinfo.entry_size / sizeof(*as); num > 0; --num) {
if(strcmp(&str[as->name], "ram") == 0) {
total += as->end - as->start + 1;
}
++as;
}
return total;
}
For code that scans meminfo, replace the check of the type field with a strcmp() of the appropriate asinfo entry name (as above) and scan asinfo.
The debug malloc library in 6.3.0 SP3 for SHLE passes in a special flag when it needs to allocate memory from the kernel using mmap(). This flag tells the 6.3.0 SP3 SHLE kernel not to set the contents of allocated memory to zeros. This flag will not be recognized in the later version of the SHLE kernel, therefore, will cause compatibility problems when you apply the QNX Neutrino Core OS 6.3.2 on a 6.3.0 SP3 system. The fix is to not set this flag by default. (Ref# 27639)
These header files define some macros that we use to determine the version ID of the source code used in the executables on the system. (Ref# 38433)
New drivers:
The devb-eide driver in SP3 supports the following chipsets:
| Manufacturer | Chip | Vendor Id | Device Id | Revision | Xfer Mode |
|---|---|---|---|---|---|
| Intel | 82371FB | 0x8086 | 0x1230 | BIOS | |
| Intel | 82371SB | 0x8086 | 0x7010 | MDMA 2 | |
| Intel | 82371AB | 0x8086 | 0x7111 | UDMA 2 | |
| Intel | 82443MX | 0x8086 | 0x7199 | UDMA 2 | |
| Intel | 82801AA | 0x8086 | 0x2411 | UDMA 4 | |
| Intel | 82801AB | 0x8086 | 0x2421 | UDMA 4 | |
| Intel | 82801BAM | 0x8086 | 0x244A | UDMA 5 | |
| Intel | 82801BA | 0x8086 | 0x244B | UDMA 5 | |
| Intel | 82801CA | 0x8086 | 0x248B | UDMA 5 | |
| Intel | 82801CAM | 0x8086 | 0x248A | UDMA 5 | |
| Intel | 82801DB | 0x8086 | 0x24CB | UDMA 5 | |
| Intel | 82801DBM | 0x8086 | 0x24CA | UDMA 5 | |
| Intel | 82801DB | 0x8086 | 0x24CB | UDMA 5 | |
| Intel | 82801EB | 0x8086 | 0x24DB | UDMA 5 | |
| Intel | 82801ESB | 0x8086 | 0x25A2 | UDMA 5 | |
| Intel | 82801FB | 0x8086 | 0x266F | UDMA 5 | |
| Intel | 82801EB | 0x8086 | 0x24D1 | SATA | |
| Intel | 82801ER | 0x8086 | 0x24DF | SATA | |
| Intel | 82801FB | 0x8086 | 0x2651 | SATA | |
| Intel | 82801FR | 0x8086 | 0x2652 | SATA | |
| Intel | 82801FBM | 0x8086 | 0x2653 | SATA | |
| Intel | 82801ESB | 0x8086 | 0x25a2 | UDMA 5 | |
| Intel | 82801ESB | 0x8086 | 0x25a3 | SATA | |
| Intel | 82801GB | 0x8086 | 0x27df | UDMA 5 | |
| Intel | 82801GB | 0x8086 | 0x27c0 | SATA | |
| Intel | 82801GB | 0x8086 | 0x27c4 | SATA | |
| Promise | PDC-20262 | 0x105a | 0x4d38 | UDMA 4 | |
| Promise | PDC-20267 | 0x105a | 0x4d30 | UDMA 4 | |
| Promise | PDC-20265 | 0x105a | 0x0d30 | UDMA 5 | |
| Promise | PDC-20269 | 0x105a | 0x4d69 | UDMA 5 | |
| ServerWorks | OSB4 | 0x1166 | 0x0211 | UDMA 2 | |
| ServerWorks | CSB5 | 0x1166 | 0x0212 | UDMA 4 (untested) | |
| ServerWorks | CSB5 | 0x1166 | 0x0212 | 0x92+ | UDMA 5 |
| HighPoint Tech | HPT-366 | 0x1103 | 0x0004 | 0x01 | UDMA 4 (untested) |
| HighPoint Tech | HPT-370 | 0x1103 | 0x0004 | 0x03+ | UDMA 5 |
| HighPoint Tech | HPT-372 | 0x1103 | 0x0005 | UDMA 6 | |
| HighPoint Tech | HPT-374 | 0x1103 | 0x0008 | UDMA 6 | |
| AMD | PCB-756 | 0x1022 | 0x7409 | UDMA 4 (untested) | |
| AMD | PCB-766 | 0x1022 | 0x7411 | UDMA 5 (untested) | |
| AMD | PCB-768 | 0x1022 | 0x7441 | UDMA 5 | |
| nVidia | 0x01bc | 0x10de | UDMA 5 (untested) | ||
| ACER Labs | M5229 | 0x10b9 | 0x5229 | 0x19-0xc1 | UDMA 2 |
| ACER Labs | M5229 | 0x10b9 | 0x5229 | 0xc2-0xc3 | UDMA 4 |
| ACER Labs | M5229 | 0x10b9 | 0x5229 | 0xc4 | UDMA 5 |
| ACER Labs | M5287 | 0x10b9 | 0x5287 | SATA | |
| ACER Labs | M5289 | 0x10b9 | 0x5289 | SATA | |
| ATI | (IXP-150/200/250) | 0x1002 | 0x4349 | UDMA 5 | |
| SiS | SiS-5513 | 0x1039 | 0x5513 | 0xd0 | UDMA 2/4 |
| SiS | SiS-5517 | 0x1039 | 0x5517 | UDMA 6 | |
| SiS | SiS-5518 | 0x1039 | 0x5518 | UDMA 6 | |
| SiS | SiS-180 | 0x1039 | 0x0180 | SATA | |
| SiS | SiS-181 | 0x1039 | 0x0181 | SATA | |
| VIA Tech | 82C586B | 0x1106 | 0x0571 | 82686B PCI-ISA bridge 0x40+ | UDMA 5 |
| VIA Tech | 82C586B | 0x1106 | 0x0571 | 8231 bridge | UDMA 5 (untested) |
| VIA Tech | 82C586B | 0x1106 | 0x0571 | 8233 bridge | UDMA 5 (untested) |
| VIA Tech | 82C586B | 0x1106 | 0x0571 | 8233C bridge | UDMA 5 (untested) |
| VIA Tech | 82C586B | 0x1106 | 0x0571 | 8233A bridge | UDMA 6 |
| VIA Tech | 82C586B | 0x1106 | 0x0571 | 8235A bridge | UDMA 6 (untested) |
| VIA Tech | 82C586B | 0x1106 | 0x0571 | 8237 bridge | UDMA 6 (untested) |
| VIA Tech | 8237 | 0x1106 | 0x3149 | SATA | |
| VIA Tech | 82C586B | 0x1106 | 0x0571 | 0x6+ | UDMA 2 |
| Winbond | W83C553F | 0x10ad | 0x0105 | MDMA 2 | |
| PCMCIA | Any | — | — | — | PIO 0 |
| PCI IDE | Any | — | — | BIOS |
The devb-eide driver now:
The devb-ahci driver supports the Intel AHCI SATA controller with the following device IDs:
![]() |
You need to enable AHCI mode in the BIOS. |
This driver now correctly detects the hard drive on the IBM ThinkPad T60. (Ref# 40126)
The devb-mvSata driver supports Vendor ID 0x11ab with the following device IDs:
| Device ID | Chipset |
|---|---|
| 5080 | 88SX5080 |
| 5081 | 88SX5081 |
| 5040 | 88SX5040 |
| 5041 | 88SX5041 |
If you've written a character device driver that links against the libio-char.a library, note that there has been a change in the API to accommodate power management. You need to update any driver source code originally written for 6.3.0 and earlier if you plan to compile it against the new library in 6.3.0 SP3.
![]() |
You don't need to regenerate any binaries. This is an issue only if you're rebuilding old source code on the new 6.3.0 SP3 system. |
For more information, see the release notes for the Character DDK.
| Driver | Controller | Target CPU |
|---|---|---|
| devg-chips.so (replaces devg-chip_hiqv.so) | Chips & Technologies 65550 and greater | MIPSLE, PPCBE, SHLE, x86 |
| devg-coral.so | Fujitsu Coral B & Coral P | ARMLE, PPCBE, SHLE, x86 |
| devg-i830.so | Intel 82830, 82845, 82855, 82865, 82915G, 82915GM, 82945G, and 82945GM | x86 |
| devg-orchid.so | Fujitsu Orchid | PPCBE, SHLE, x86 |
| devg-radeon.so | ATI Radeon 9200, 9600, 9800, Mobility M9, X300, X600 | PPCBE, x86 (see below) |
| devg-ravin.so | NEC RavinE | MIPSLE, PPCBE, x86 |
| devg-sis630.so | SiS 300 & 630 | x86 |
| devg-smi7xx.so | Silicon Motion 712, 722 & 731 | ARMLE, MIPSLE, PPCBE, SHLE, x86 |
| devg-smi5xx.so | Silicon Motion 501 | ARMLE, MIPSLE, PPCBE, SHLE, x86 |
| devg-tvia.so (replaces devg-igs5300.so) | TVIA 52xx and 53xx | MIPSLE, SHLE, x86 |
Other changes include:
Many drivers now have a probe_phy option. This option lets you select whether or not the PHY is probed at regular intervals to see if the duplex setting and/or the speed on the connection has changed (e.g. the cable has been unplugged and plugged into a different hub or switch.
Here's a description of the new option:
6.3.0 SP3 also addresses the following issues:
CPU targets provided: x86, ARMLE, MIPSLE, MIPSBE, PPCBE, SHLE
Location: $QNX_TARGET/x86/lib/dll/devn-asix.so, $QNX_TARGET/armle/lib/dll/devn-asix.so, $QNX_TARGET/mipsle/lib/dll/devn-asix.so, $QNX_TARGET/mipsbe/lib/dll/devn-asix.so, $QNX_TARGET/ppcbe/lib/dll/devn-asix.so, $QNX_TARGET/shle/lib/dll/devn-asix.so
Supported device IDs / chipsets:
CPU targets provided: x86, PPCBE, SHLE
Location: $QNX_TARGET/x86/lib/dll/devn-bcm43xx.so, $QNX_TARGET/ppcbe/lib/dll/devn-bcm43xx.so, $QNX_TARGET/shle/lib/dll/devn-bcm43xx.so
Supported device IDs / chipsets:
CPU targets provided: x86
Location: $QNX_TARGET/x86/lib/dll/devn-hermes2.so
Supported device IDs / chipsets: PCMCIA manufacturer ID 156 device 3 # PCMCIA Hermes2 - Proxim Orinoco 802.11b
CPU targets provided: x86, PPCBE
Location: $QNX_TARGET/x86/lib/dll/devn-i82544.so, $QNX_TARGET/ppcbe/lib/dll/devn-i82544.so
Supported device IDs / chipsets:
![]() |
The Dlink DFE-538TX Rev D2 with a NIC labeled DL10038C that also has the same vendor and device IDs as the DFE-528TX card isn't apparently 100% rtl-8139-compatible and doesn't appear to work correctly. |
CPU targets provided: x86, ARMLE, SHLE
Location: $QNX_TARGET/x86/lib/dll/devn-rtl8150.so, $QNX_TARGET/armle/lib/dll/devn-rtl8150.so, $QNX_TARGET/shle/lib/dll/devn-rtl8150.so
CPU targets provided: x86
Location: $QNX_TARGET/x86/lib/dll/devn-tigon3.so
Supported device IDs / chipsets:
CPU targets provided: x86, ARMLE, MIPSLE, MIPSBE, PPCBE, SHLE
Location: $QNX_TARGET/x86/usr/sbin/pccard-launch, $QNX_TARGET/ppcbe/usr/sbin/pccard-launch, $QNX_TARGET/shle/usr/sbin/pccard-launch
CPU targets provided: x86
Location: $QNX_TARGET/x86/sbin/pci-bios
CPU targets provided: x86
Location: $QNX_TARGET/x86/boot/sys/startup-bios
![]() |
You must have installed the QNX Neutrino Core OS 6.3.2 and enable page-table extensions (with the -x startup option) in order for the NX bit to be effective. |
You can turn off support by putting -F ~0x4000 on the startup command line. (Ref# 40162)
However, a 64-bit client application (compiled with _FILE_OFFSET_BITS=64 or using O_LARGEFILE) could seek or otherwise attempt to access a file beyond the 32-bit/2 GB limit, whereas the server is manipulating only 32 bits, resulting in an inconsistent file.
The IOFUNC_MOUNT_32BIT flag in an iofunc_mount_t is now honored, and the iofunc library detects any attempt to access beyond a 32-bit offset and fails with EOVERFLOW. (Ref# 21122)
This repeated: the second session was disconnected when the first fs-cifs detected that it had been disconnected and reestablished its link to the server. This continued back and forth each time file access was required from the server.
This issue has been fixed, and multiple CIFS sessions are supported, which can enhance performance. These modifications also allow a fs-cifs process to create a local mountpoint nested within the local mountpoint path of another fs-cifs process. (Ref# 15452, 21532)
then attempting to remove the directory no longer fails with an error of EBADFSYS. (Ref# 18786)
A new version of the NOR flash filesystem library offers significantly improved resistance to power-loss corruption. However, this improvement isn't backwards-compatible with the older version of the library.
The older library (libfs-flash.a) has been removed from this release. All flash drivers (devf-generic, devf-ram, etc.) now link against the version 3 library, i.e. libfs-flash3.a.
If your existing code links against libfs-flash.a, you must now use the version 3 library. For more information, please refer to the documentation on the new version 3 flash filesystem as well as the migration technote.
The new C Development Tools include:
![]() |
If you import an old QNX C/C++ project into the SP3 version of the IDE, you should enable Clean and specify the clean target in the Make Builder tab of the project properties. The Clean entry in the Project menu uses this setting, which is enabled by default for new projects. |
Debugging support and application launching in the CDT has been improved:
C/C++ project configuration and building have been improved:
It's now easier to edit and navigate through your C/C++ source files:
These exclusive QNX Momentics tools have also been updated and improved:
For more information, see the IDE User's Guide and the IDE's Welcome page.
![]() |
If you're using the IDE, you might want to set your preferences for QNX projects to build only for the specific target platforms you want. See: . |
The above problems have all been corrected in the io-char.a library; the changes affect all devc-* drivers (because they're statically linked against this library).
The server will now always receive an _IO_CONNECT message when a client calls name_open(). (For more information, please refer to the gns entry in the Utilities Reference.)
![]() |
The new Qnet (npm-qnet-l4_lite.so) is not compatible with the pre-6.3 versions. |
The default version is the new lightweight Qnet (npm-qnet.so is a link to npm-qnet-l4_lite.so). If you wish to use the older version of Qnet, have npm-qnet.so link to npm-qnet-compat.so and restart io-net.
![]() |
|
Here's an example:
#include <sys/netmgr.h>
#include <sys/netmsg.h>
extern int __netmgr_send( void *smsg1, int ssize1, const void *smsg2,
int ssize2, void *rmsg, int rsize);
int main (void)
{
struct _io_msg msg;
msg.type = _IO_MSG;
msg.combine_len = sizeof(msg);
msg.mgrid = _IOMGR_NETMGR;
msg.subtype = _NETMGR_QOS_FLUSH;
__netmgr_send(&msg, sizeof(msg), 0, 0, 0, 0);
}
enforce_crc=num
If you use this option in combination with do_crc, only packets that contain a valid CRC are accepted. This option has an effect only when do_crc is also set to 1. Setting enforce_crc to one causes packets that are received without a valid software-level CRC generated by the remote mode (i.e. it's running do_crc=0) to be discarded, because the packet content's integrity is unknown, and could be suspect. The default is zero, which allows received packets without a generated software-level CRC to be processed. (Ref# 39171)
This problem occurred only if the send or reply message buffer was larger than the MTU of the network being used. For example, with Ethernet, if the message buffer was larger than 1500 bytes, multiple packets needed to be sent to transmit the message. This has been fixed. (Ref# 21119, 21406)
![]() |
Although our Tiny TCP/IP stack (npm-ttcpip.so) hasn't been updated to address the TCP vulnerabilities, we anticipate that embedded devices using our tiny stack have applications that use short-lived TCP connections and are therefore not as vulnerable. |
![]() |
IPv6 is now part of the Extended Networking TDK. |
If you wish to use an older RPC application with rpcbind or to use rpcbind in combination with the Tiny TCP/IP stack, you'll need to refer to the -L and -i options to rpcbind.
![]() |
The service rpcbind must be defined for
both UDP and TCP in the /etc/services file.
While the default /etc/services provided has
these modifications, if you choose to use the current
/etc/services file at installation time,
these definitions will be missing and rpcbind
will fail to function. The required lines are:
sunrpc 111/tcp rpcbind portmap
sunrpc 111/udp rpcbind portmap
|
In 6.3, timeout and retransmission occurs at 4 seconds and doubles after that to a max of 8 seconds, resulting in 2 retransmissions. You can alter timeout values by calling the lower-level call rpc_broadcast_exp().
When received from the server, these options are passed to the /etc/dhcp/dhcp-up script. Previously, dhcp.client relied on the server's passing all options in its client definition to that client whether those specific options were requested or not. If you're adding option handling to the dhcp-up script, you must also add that option to the dhcp-options file. For more information, see dhcp.client in the Utilities Reference. (Ref# 19509)
This was a security problem, because non-privileged users could have placed their own mount command in the path and had it executed as root. This could allow a local non-root user root access. The pppoed daemon now calls mount() directly. (Ref# 21675)
In file included from /usr/qnx630/target/qnx6/usr/include/arpa/inet.h:79, from tst.cc:3: /usr/qnx630/target/qnx6/usr/include/sys/types.h:263: error: `size_t' not declared
This has been fixed. (Ref# 21204)
The arp, route and netstat utilities had been modified to supply a relative timeout rather than an absolute one. We've changed them back, so that they again use an absolute timeout value. (Ref# 22877)
The new password options are as follows:
![]() |
Sending passwords in plain text may be considered a security problem. |
![]() |
Adding the password to the log file may be a security problem if unauthorized personal have access to the log file. |
![]() |
These options aren't documented yet; for a description, see “Known issues: Network protocols,” below. |
![]() |
When using nfsd, be careful about what files are exported. If you don't have specific control over the NFS client and what files are accessed by the client, you shouldn't export directories that contain nonregular files (e.g. /dev). If these files don't have regular file semantics, nfsd may have unexpected behavior, such as becoming permanently blocked on the manager that owns the pathname. |
All existing PxConfig* calls (from pre-6.3) continue to be supported in the form of macro wrappers around the new API.
![]() |
You need to recompile your applications if you're moving to 6.3 — we encourage you to migrate to the new API, particularly for new projects. But apps that worked with the old API should continue to work with the new. |
For details on the new API, see the PxConfig* entries in the Photon Library Reference.
127.0.0.1, localhost
This will allow the IDE's help system to locate the files it needs.
Client applications may also load a private client font instance, resulting in maximum speed when making font requests. Please read the new documentation for phfont, fontadmin, and libfont (Font Library Functions, specifically Pf*Dll() API calls).
Under the 6.3 architecture, rendering plugins are utilized by phfont. These DLLs are located in /lib/dll/font. Each rendering DLL has an embedded use message; just type use dllname.
The following binaries are no longer required:
Please read the documentation on phfont for further details. Options for the DLLs are set via the fontopts file; see the docs on fontadmin for further details.
Due to the new library (libfont), when linking against a static libph you must also link against libfont.
embed_font target_root_directory
The fontview utility uses the same rendering plugins as phfont.
These are the standard display sizes for laptops with wide screens. (Ref# 25744)
To install a TrueType font:
%QNX_TARGET%\usr\photon\font_repository directory
![]() |
Since the Pg*() versions are implemented as
macros based on their *Cx() counterparts, they no
longer have symbols in the new libraries; you'll need to
recompile your code if you use these functions.
The macros are defined in the <PhProto.h> public header file. |
You can have the new window frames on the desktop and have the old window frames in PhAB by launching PhAB with the -D option (ab -D) or with any other style of window frame by using the -F framestyle option.
Note also that in 6.3, you're no longer limited to 64 KB when you cut and paste text. The limit is now your system RAM.
This change fixes these issues:
We now provide two shells:
You'll find these executables under ${QNX_HOST}/usr/bin (e.g. C:\QNX630\host\win32\x86\usr\bin). You may want to create desktop shortcuts for these or other executables you'll use often.
![]() |
Service Pack 3 includes the latest documentation, including the Documentation Update 1.0.0. Don't install the Documentation Update 1.0.0 after installing Service Pack 3, or your system's documentation will be in an inconsistent state. |
![]() |
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 Momentics 6.3.0 are:
QNX Momentics 6.3.0 SP3 contains known issues in these areas:
![]() |
We're actively investigating all known issues. |
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: We've added a new -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: Relink any SH4 binaries that you linked with QNX Neutrino 6.2.1 or earlier.
/binaries/content/file #this is a test
We do allow comments that take up an entire line, like this:
################# #Binary shiplist# ################# #/binaries/content/foo /binaries/content/foo2 #end of shiplist
(Ref# 29371)
For example, the following code applies an alignment of 8 to both my_long_long_t and the long long:
typedef long long my_long_long_t __attribute__((__aligned__(8)));
Workaround: Make a duplicate typedef of a dummy type:
typedef long long my_dummy_t; typedef my_dummy_t my_long_long_t __attribute__((__aligned__(8)));
Workaround: Add the following to your C++ shared library:
#include <dlfcn.h>
/*
* stick around for atexit(dtors)
* add to common.mk:
* CCFLAGS += -DSONAME_STR=\"$(notdir $(FULLNAME)$(VERSION_TAG_$(BUILD_TYPE)))\"
*/
extern void hackslash(void) __attribute__((constructor));
void hackslash(void) {
dlopen(SONAME_STR,RTLD_NOW);
}
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.
relocation truncated to fit: R_MIPS_GPREL16
(Ref# 22822)
Workaround: Pass the -Wac,-G4 option to qcc.
#pragma pack(1)
struct five {
unsigned char a;
unsigned b;
};
struct five five;
(Ref# 5151)
Workaround: This problem doesn't affect code generated with gcc 3.3.5.
Workaround: See “Parse errors for simple code” in gcc.gnu.org/bugs.html#known.
Workaround: Disable breakpoints in code that you're single-stepping through.
Workaround: Launch pterm windows using pwm's Desktop Menu (press Alt-Enter or right-click on the desktop background) instead of using the Terminal button on the shelf. Only pterm windows started by shelf inherit the ignored SIGUSR1.
Another option is to write a wrapper around gdb to reset SIGUSR1.
Workaround: Disable stop-on-solib-events, or download the newer version of gdb from our website; log into your myQNX account, then go to in the Download Center.
Workaround: There is no workaround (other than not following this sequence of events). If gdb does run ready, you must terminate it from the Windows Task Manager. This problem will be fixed in a future version of gdb; you can get an experimental version from the Download Center on our website; look under .
Workaround: Rebuild the startup binary using QNX Momentics 6.3.0. The resulting startup will work with both 6.2.1 and 6.3.0.
Workaround: SP3 also includes version 2.10.1, and the qcc configuration files have been set up to use the older linker only if you're using gcc 2.95.3 and C++ to build shared objects.
Workaround: Use drive-letter mountpoints instead.
Workaround: Unset the NAME environment variable before you build any executables.
-I $QNX_HOST/usr/lib/gcc-lib/powerpc-unknown-nto-qnx6.3.0/3.3.5/include
to the qcc command line. This tells qcc where to find the <altivec.h> header file. GCC doesn't need this workaround, as it knows to search its own include directories. (Ref# 26109)
Workaround: Pass the -l option to usemsg.
Workaround: Make sure the QNX Momentics Cygwin is in your PATH before the “real” Cygwin, or delete the Cygwin make.
This problem doesn't affect normal memory allocation, such as that using malloc(). When physical, contiguous allocations fail, malloc() and other normal memory-allocation operations still work. Also, this problem describes a situation when it isn't possible to allocate 4 MB physical, contiguous memory in a system that has 64 MB RAM. It may still be possible to allocate small chunks of physical, contiguous memory. As most device drivers need only small chunks of physical, contiguous memory (e.g. 32 KB), this problem may not be a concern for them either.
When creating a thread, the OS kernel uses _smalloc() to allocate memory for various internal data structures called objects. When the thread is destroyed, the kernel releases the memory to a pool of free objects for reuse the next time an object is needed. When a free-object pool reaches a certain size, the OS releases objects directly back into a kernel memory pool that only the kernel uses. The kernel does not return the memory to the free pool of general memory that all the processes in the system use. Physical memory can get fragmented when kernel holds on pages of memory here and there; eventually large (4 MB and greater) physical, contiguous allocations could start to fail. (Ref# 16405)
Workaround: Reserve enough physical contiguous memory before hand to make sure it's always available when needed.
Workarounds:
PPC targets have separate caches for data and instructions. If the IFS is copied (or decompressed) when the data cache is enabled, the startup needs to flush the data cache. The kernel maps in the code or data segment directly from IFS for XIP; if the cache isn't flushed, the instruction cache may be loaded incorrectly, because it's loaded from the underlying memory directly, which may be different from the contents in the data cache.
As the first-level data cache size is relatively small, the chance of running into this problem is low. We haven't seen any such crash in our kernel regression tests, and we aren't aware of any problem report from customers or internal sources which may be related to this problem. (Ref# 24783)
Workaround: If you aren't using a mini-driver, you can add the following code segment to the startup program startup/lib/ppc/cpu_startnext.c to flush the data cache for IFS areas:
void cpu_startnext(uintptr_t eip, unsigned cpu) {
unsigned start, size, vaddr, dcache_linesize;
/* First, flush the cache for ifs so that kernel can load executables
from it without problems.
*/
dcache_linesize = 1 << ppcv->cache_lsize;
start = shdr->image_paddr + shdr->startup_size;
vaddr = start & ~(dcache_linesize - 1);
size = shdr->imagefs_size + (start - vaddr);
for( ;; ) {
icache_flush(vaddr);
if(size <= dcache_linesize) break;
vaddr += dcache_linesize;
size -= dcache_linesize;
}
If you're using a mini-driver, please contact us for a fix.
Workaround: Don't use floating point emulation, or don't step over floating point instructions (use a run-to-breakpoint instead).
Workaround: Filter out the _NTO_TRACE_COMM_SMSG events by doing one of the following:
TraceEvent( _NTO_TRACE_DELEVENT, _NTO_TRACE_COMM, _NTO_TRACE_COMM_SMSG);
The side effect of filtering out these events is that the IDE's System Profiler won't be able to show you any message-passing.
This has ramifications not just for self-hosted QNX Momentics installations; the effects of this change on in-use runtime systems also needs to be considered. For example:
(Ref# 40378)
Workaround: Declare them in your program; for the correct prototypes, see the entries for these functions in the Neutrino Library Reference.
The prototype should be:
paddr32_t calloc_ram (size_t size,
unsigned align)
Workaround: Edit the header file and change this line:
#define ELF64_R_INFO(s,t) ((((Elf32_Xword)(s))<<32) | ((Elf64_Xword)((t)&0xffffffff)))
to this:
#define ELF64_R_INFO(s,t) ((((Elf64_Xword)(s))<<32) | ((Elf64_Xword)((t)&0xffffffff)))
Workaround: Use the file-descriptor I/O functions instead, or call ferror() to check for errors after each call to fwrite(), fprintf(), and so on.
Workaround: In the parent process, set the appropriate permissions when you create the mapping, or in the child process, use mprotect() to explicitly establish the mapping's protection attributes.
Workaround: Include <malloc_g/malloc.h> after <malloc_g/malloc-lib.h>, as follows:
#define MALLOC_DEBUG
#define MALLOC_GUARD
#define MALLOC_PC
#include <malloc_g/malloc-lib.h>
... other includes/code that depends on MALLOC_GUARD ...
#include <malloc_g/malloc.h>
Workaround: Add code to the server to handle this message. For an example, see the online documentation for name_attach() in the Neutrino Library Reference.
If a thread that's blocked on a condition variable is canceled, the thread reacquires the mutex that's guarding the condition variable, so that the thread's cleanup handlers run in the same state as the critical code before and after the call to this function. If some other thread owns the lock, the canceled thread blocks until the mutex is available.
![]() |
Make sure that the thread's cleanup handlers unlock the mutex. |
Workaround: See the entry for tmpnam(); this function and and tempnam() use the same method for determining the directory.
![]() |
The tempnam() function's behavior doesn't conform to POSIX. |
Workaround: Under Windows, use this syntax:
mkefs buildfile outputfile
instead of redirecting the output:
mkefs buildfile > outputfile
Workaround: Specify [+raw] in the build file for any executables that you compiled with the -Nstacksize option. For more information about the raw attribute, see the entry for mkifs in the Utilities Reference.
Workaround: Here are descriptions:
Workaround: Copy /etc/profile.d/qnxsdk.sh to /etc/profile.d/qnxsdk.ksh.
# date 200607191700 Wed Jul 19 17:00:01 EDT 2006 # rtc -s hw
(Ref# 26324)
Workaround: Here's the description:
Workaround: If you're using the -s option, add the -n0 option.
Workaround: See the System Analysis Toolkit User's Guide for the correct documentation.
Workaround: Be cautious when running tracelogger on procnto-800-instr kernels under low-memory conditions.
Workaround: Use the on command to adjust the priorities of the audio and graphics drivers.
(Ref# 41600)
but their entries in the Utilities Reference don't say so. (Ref# 18023)
Workaround: Do the following:
After this, you should be able to start and stop Photon on both cards properly.
You'll need to follow the steps above only if you run crttrap trap again.
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.
Workaround: Reduce the system RAM to 512 MB or use the devg-vesabios.so graphics driver.
Workaround: Use the devg-vesabios.so graphics driver instead.
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: Here's the description:
Generally the order of resolving a filename is the order in which you mounted the filesystems at the same mountpoint (i.e. new mounts go on top of or in front of any existing ones). You can specify the order of resolution when you mount the filesystem. For example, you can use:
You can also use the -o option to mount with these keywords:
If you specify the appropriate before option, the filesystem floats in front of any other filesystems mounted at the same mountpoint, except those that you later mount with before. If you specify after, the filesystem goes behind any any other filesystems mounted at the same mountpoint, except those that are already mounted with after. So, the search order for these filesystems is:
with each list searched in order of mount requests. The first server to claim the name gets it. You would typically use after to have a filesystem wait at the back and pick up things the no one else is handling, and before to make sure a filesystems looks first at filenames.
Workaround: To check out projects from CVS, use Check out Project, and then convert the projects; don't use Check out as..., which generates invalid configurations. (Ref# 18405)
Workaround: Close any project that you created on a remote drive before disconnecting the drive.
Workaround: Build only x86 variants with ICC.
Workaround: If you're using the coexistence feature in the IDE to target Neutrino 6.2.1, you should set the IDE to open the 6.2.1 version of PhAB. To do this, change the Path to Photon Appbuilder setting on the Appbuilder preferences dialog ().
Workaround: Restart the IDE.
Workaround: Build everything with debugging information, or use -gdwarf-2 instead of -gstabs with gcc 2.95.3.
Workaround: If you compile with gcc 3.3.5, the second entry doesn't appear.
Workaround: Use gcc 3.3.x instead of 2.95.3.
Workaround: Add -fmessage-length=0 to the qcc or gcc command-line options.
Workaround: Here's how to do it:
Workaround: Specify a browser for the IDE to use, by choosing , and then choosing Help from the list on the left side of the dialog. In the right part of the dialog, select Custom Browser and fill in the path to the browser below.
An unexpected exception has been detected in native code outside the VM.
This is because of a memory leak in Eclipse; we've submitted a problem report to eclipse.org. (Ref# 22396)
Workaround: Upgrade your system to Red Hat Enterprise; the VM and GTK on it are more stable.
Starting QNX Development Environment /opt/qnx630/host/linux/x86/usr/qde/eclipse/eclipse: error while loading shared libraries: /opt/qnx630/host/linux/x86/usr/qde/eclipse/libXm.so.2: cannot restore segment prot after reloc: Permission denied
This message is caused by selinux (secure Linux). (Ref# 26579)
Workaround: Install an upgrade of selinux:
yum install selinux-policy-targeted
Workaround: Use the ifconfig utility to get the host's IP address.
Workaround: Start the IDE like this:
qde -vmargs -Dos.name=Linux-all-ports
Workaround: Don't use spaces or the following characters in a project name:
| ! $ ( " ) & ` : ; \ '
* ? [ ] # ~ = % < > { }
Warning: Could not get charToByteConverterClass!
This warning is generated because we are using a non-SUN VM. This is the explanation from Aonix:
The charToByteConverterClass is an internal sun.io class that the org.apache.xml.serializer.Encodings tries to access with a Class.forName(). Of course, this won't work on any non-Sun Java VM. The exception is caught and a default converter is used instead (after printing the warning message you see).
You can ignore the warning. (Ref# 25851)
Workaround: Download the Windows 98 version of usp10.dll from support.microsoft.com/kb/q249973.
Workaround: Log in as the system administrator and delete the subdirectories in the $QNX_HOST/usr/qde/eclipse/configuration directory. Then log in as a nonadministrator and start the IDE.
Workaround: There is no workaround (other than not following this sequence of events). If gdb does run ready, you must terminate it from the Windows Task Manager. This problem will be fixed in a future version of gdb; you can get an experimental version from the Download Center on our website; look under .
Workaround: Use the -ae option to procnto to enable alignment fault emulation.
Workaround: Do the following:
Here's the list of files that you need to back up before installing the TDK and restore afterward:
Workaround: Here's a description:
The fs-nfs3 manager supports a write-caching feature (by default), which greatly enhances performance. This is accomplished by performing write operations locally and releasing the application, but delaying transmission of the write operation to the NFS server until a later time.
![]() |
You should disable this feature if multiple NFS clients will be accessing the same files on the NFS server, or else corruption may result because the server's file contents might be out of date compared to the cached version on each client. You can disable this feature using the -w sync=hard 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: Create a symbolic link:
ln -s /usr/qnx630/host/qnx6/x86/usr/bin/qcc /usr/bin/qcc
Workaround: For a PtText, add this code:
int raw_text_callback( PtWidget_t *widget, void *data, PtCallbackInfo_t
*cbinfo )
{
PtSuperClassRawEvent( PtBasic, widget, cbinfo->event );
return Pt_CONTINUE;
}
When you create a PtText widget, add this code:
PtRawCallback_t text_cb = { Ph_EV_BUT_PRESS | Ph_EV_BUT_RELEASE,
raw_text_callback };
…
PtSetArg( …, Pt_CB_RAW, &text_cb, Pt_LINK_INSERT );
… = PtCreateWidget( PtText, … );
You can use similar code for a PtNumeric widget.
Workaround: If you're using the coexistence feature in the IDE to target Neutrino 6.2.1, you should set the IDE to open the 6.2.1 version of PhAB. To do this, change the Path to Photon Appbuilder setting on the Appbuilder preferences dialog ().
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: Rebuild the OS image so that it uses floating-point emulation, by specifying the -fe option to procnto in the buildfile.
Workaround: Always specify the -pphoton option (gri-photon.so is currently the only plugin available).
Workaround: Don't use a memory context, or draw to one memory context, blit to another memory context, and then blit to the screen.
Workaround: Launch pterm windows using pwm's Desktop Menu (press Alt-Enter or right-click on the desktop background) instead of using the Terminal button on the shelf. Only pterm windows started by shelf inherit the ignored SIGUSR1.
Another option is to write a wrapper around gdb to reset SIGUSR1.
Workaround: Attach the following callback to the Pt_REALIZED resource of the list widget:
int
list_realized_cb( PtWidget_t *widget, ApInfo_t *apinfo,
PtCallbackInfo_t *cbinfo )
{
PtGenListWidget_t *list = (PtGenListWidget_t*)widget;
unsigned short *width;
// NOTE: Use the width that the user set in PhAB.
PtGetResource( widget, Pt_ARG_SCROLLBAR_WIDTH, &width, 0 );
// This code sets the actual sizes of scrollbar(s).
if( list->scrollbar )
PtSetResource( list->scrollbar, Pt_ARG_WIDTH, *width, 0 );
if( list->hscrollbar )
PtSetResource( list->hscrollbar, Pt_ARG_HEIGHT, *width, 0 );
// This is a workaround to make the list widget
// position (anchor) the scrollbars correctly (with the new size).
PtSetResource( widget, Pt_ARG_SCROLLBAR_WIDTH, *width - 1, 0 );
PtSetResource( widget, Pt_ARG_SCROLLBAR_WIDTH, *width, 0 );
return Pt_CONTINUE;
}
If you're using a compound widget such as a PtCombobox, use this code:
int combo_realized_cb( PtWidget_t *widget, ApInfo_t *apinfo,
PtCallbackInfo_t *cbinfo )
{
PtGenListWidget_t *list;
PtWidget_t *wp = widget;
unsigned short *width, list_width;
// NOTE: Use the width that the user set in PhAB.
PtGetResource( widget, Pt_ARG_CBOX_BUTTON_WIDTH, &width, 0 );
// Find the list widget in the combo
while( (wp = PtWidgetFamily( widget, wp )) ) {
if( PtWidgetIsClass( wp, PtList ) ) {
list = (PtGenListWidget_t*)wp;
break;
}
}
if( !wp )
return Pt_CONTINUE;
list_width = *width + 2;
// This code sets the actual sizes of scrollbar(s).
if( list->scrollbar )
PtSetResource( list->scrollbar, Pt_ARG_WIDTH, list_width, 0 );
if( list->hscrollbar )
PtSetResource( list->hscrollbar, Pt_ARG_HEIGHT, list_width, 0 );
// This is a workaround to make the list widget
// position (anchor) the scrollbars correctly (with the new size).
PtSetResource( wp, Pt_ARG_SCROLLBAR_WIDTH, list_width - 1, 0 );
PtSetResource( wp, Pt_ARG_SCROLLBAR_WIDTH, list_width, 0 );
return Pt_CONTINUE;
}
Workaround: Set QNX_HELP_HOME_PAGE to /usr/qnx630/target/qnx6/usr/help/product/momentics/bookset.html, and QNX_HELP_PATH to /usr/qnx630/target/qnx6/usr/help/product (assuming you installed QNX Momentics in the default location).
Workaround: Log in as root and type:
rm -r /var/help/usr
and then generate the index.
(Ref# 42105)
Workaround: Do the following:
Workaround: Modify your PATH environment variable and remove any quotation marks.
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
`eval qconfig -e -n"QNX Momentics 6.3.0"`
you get this error:
QNX_HOST=/opt/qnx630/host/solaris/sparc: is not an identifier
and your PATH isn't updated. (Ref# 20653)
Workaround: Use ksh instead of the default Solaris shell.
QNX Momentics 6.2.1 introduced a new multimedia library based on an “addon” architecture, and legacy multimedia components (pre-6.2.1) were deprecated. 6.3.0 is the last release that includes these legacy components. The deprecated items are:
You should make sure that any multimedia applications that you plan to migrate to the next release of QNX Momentics use the current multimedia library. For more information, see the Multimedia Developer's Guide.
![]() |
QNX Momentics ships with the runtime components of the current multimedia library. You require the Multimedia TDK to develop new multimedia components. |
After you've installed your development suite, you'll find an extensive set of online documentation in HTML format. Go to the help menu item (e.g. in Windows XP: ) or look under the following directory:
${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.).
You'll find the installation and release notes in the ${QNX_TARGET}/etc/readme/ directory.
![]() |
For the most up-to-date version of these notes, go to our website, www.qnx.com, log into your myQNX account, and then go to the Download Center. |
This technical note is intended to help you tune your network drivers for increased performance or reduced memory footprint using this Network Driver patch. This note includes:
First, we need to talk about network driver interface hardware chips — ASICs — which are sometimes referred to as NICs (network interface controllers, or network interface chips).
At the risk of oversimplifying, we can categorize NICs into two groups: high-performance and low-performance. We aren't talking about the media bit rate (10, 100 or 1000 Mbit) but rather the ability of the complete system, when using the NIC, to avoid packet loss.
Hardware engineers work very hard to design media that rarely lose a packet. And there is a gain, or amplifying effect: when you lose 1% of your packets, you don't lose 1% of your throughput via a protocol, you lose around 50% of your throughput, due to the incurred software-level protocol timeouts and/or retransmissions.
What we call “high-performance” NICs have the ability, in a loaded system, to not lose any packets. They generally do this by using transmit and receive descriptor rings in main memory, which in turn point to packet buffers also in main memory.
High-performance NICs use bus-master DMA (direct memory access) to transfer packet data to and from main memory entirely independent of the CPU, using the descriptor rings as laundry lists of packet transmit and receive requests to carry out.
Thus, large scheduling latencies in software that service the NIC (e.g. io-net) can be tolerated.
What we call “low-performance” NICs have been observed by users, in loaded systems, to consistently lose packets, with corresponding poor data throughput performance. These NICs don't use descriptor rings and DMA, but for simplicity, instead attempt to buffer the entire packet in a (usually limited) on-chip buffer area.
Unfortunately, these low-performance NICs, because of their low cost and size, are very attractive to board designers. Examples of these (usually older, obsolete) NICs include:
On a fast (e.g. 2 GHz) lightly loaded machine, these low-performance NICs can function adequately, without packet loss.
However on a slower (e.g. 100 MHz) machine that's CPU-bound with applications that may increase the scheduling latency of io-net, packet loss during receive can often result because the limited hardware buffer overflows.
You shouldn't use these NICs where you need high-performance data throughput. You should use them only for low-cost debug and diagnostic ports, which are often removed for production versions of boards.
If you're using NFS used with one of these low-performance NICs, you can get a great improvement by using the -B4096 or even -B2048 option to fs-nfs. Qnet in QNX Neutrino 6.3 and later generally automatically goes into “windowed mode” with these NICs to try to avoid packet loss.
Common examples of high-performance NICs include:
These NICs are all at least 10/100 Mbit, and some are gigabit, but what makes them high-performance is their ability to function independently of the CPU and use the large CPU main memory for packet buffering, which the low performance NICs by design can't.
There are two critical data-transfer interfaces to a high-performance NIC, which you must tune correctly to avoid packet loss under load:
If the latency to schedule the NIC as bus master is excessive, the FIFO will drain for transmit or will overflow for receive. Either will cause a packet to be lost.
Excessive bus master scheduling latency used to be more of a problem in QNX 4, where other devices (e.g. disk) were programmed with excessive DMA burst length; they would “park” themselves on the bus. This doesn't appear to be as much of a problem in QNX Neutrino, but you should be aware that it can be a problem if you're suffering from mysterious packet loss. The nicinfo output can often give you a clue here.
For receive, this usually happens when a high (e.g. greater than 21) priority thread runs READY and hogs the CPU for an extended period of time. This causes io-net to not be scheduled, and the receive descriptor eventually fills up as packets arrive, and the NIC bus-masters the received packets into main memory.
For transmit, this usually happens when there's an extremely large burst of transmit activity (e.g. server) and possibly some kind of backup or congestion (e.g. PAUSE frames) which simply fills up the transmit descriptor ring faster than the NIC can get it out onto the wire.
In this network driver patch, the drivers for the high-performance NICs are generally configured with a default 64 transmit descriptors and 128 receive descriptors. You can change them using the transmit=XXXX and receive=XXXX command-line options to the drivers. Generally, the minimum allowed is 16, and the maximum is 2048. Due to the hardware design, stick to a power of 2, such as 16, 32, 64, 128, 256, 512, 1024, or 2048.
Transmit buffer descriptors are generally quite small, generally in the range of 8 to 64 bytes. So, the cost of increasing the transmit=XXXX value to, say, 1024 for a server (which sees large bursts of transmitted data) is quite small:
(1024 - 64) x 32 = 30,720 bytes
for a transmit descriptor of 32 bytes.
Receive buffer descriptors are similarly quite small, however there's a catch. For each receive descriptor, the driver must allocate a 1,500 byte Ethernet packet buffer. Because the packet buffers must be aligned, they aren't permitted to cross a 4 KB page boundary, so in reality, io-net allocates a 2 KB buffer for each 1,500 byte Ethernet packet.
So, the cost of increasing the receive descriptor to 1024 from the default 128, with an almost insignificant 32-byte-sized receive descriptor is:
(1024 - 128) x (32 + 2048) = 1,863,680 bytes
or almost 2 Megabytes, which is nowhere near as much as the filesystem grabs by default for its cache, but still not an insignificant amount of memory for a memory-constrained embedded system.
For a memory-constrained system, you should carefully select the sizes of the transmit and receive descriptor rings so that they're minimum-sized, yet no packets are lost under load, with the scheduling latency for io-net on your system.
Obviously, reducing the receive descriptor ring has more of an effect than reducing the transmit descriptor ring.
In an application where memory is of no concern, but maximum performance is, generally transmit and receive descriptor rings of 1024 or even 2048 are used.
Most of the time, bigger is better. There is, however, a potential catch: for some benchmarks, such as RFC2544 (fast forwarding), we've observed that excessively large descriptor rings decrease performance because of cache thrashing.
However, that's really getting out there. Most of the time, you simply need to configure the transmit and receive descriptor ring size to suit your application so that minimum memory is consumed, and no packets are lost.
Almost all of the network drivers in this patch have been optimized for performance with respect to PHY probing.
Prior to this patch, network drivers would periodically (e.g. every two or three seconds) communicate via the MII to the PHY chip connected to the NIC, to determine the speed and duplex of the current media connection.
The problem is that, while the PHY is being probed, packet loss can occur. The drivers in this patch contain an optimization to not probe the PHY, as long as there have recently been some packets received. This gives maximum performance for most users.
However, there is a nasty scenario: the NIC is connected to a 100 Mbit full-duplex link. The cable is rapidly unplugged and immediately replugged into a 10 Mbit half-duplex hub, which also has a steady stream of (e.g. broadcasted) received packets. In this scenario, because of the steady stream of received packets, the network driver won't probe the PHY, and will still think it's in 100 Mbit full-duplex. This is a problem, because the NIC isn't listening before it transmits; it's still full-duplex, on a half-duplex link. Excessive collisions and out-of-window collisions will result in packet loss.
However, if you leave the cable unplugged for three seconds before plugging it into another hub, the driver probes the PHY and relearns the media parameters and reprograms the NIC with the appropriate duplex.
If you need to rapidly unplug and replug the cable into network boxes with different duplexes, you should specify probe_phy=1 to the network driver, to force it to always periodically probe the PHY. Packet loss may result during this probing, but you will know that the driver is always in sync with the PHY with respect to the media.
For maximum performance, the default is probe_phy=0.
Most (but not all) of the drivers in this patch support more than one Ethernet speed and duplex. The most common are 10 and 100 Mbit, and half and full duplex, though the newest NICs support 1000 Mbit (gigabit) Ethernet as well.
All of the drivers let you specify speed=XX and duplex=Z, where XX is 10, 100 or 1000, and Z is 0 (zero) for half-duplex, and 1 (one) for full-duplex. Generally most 10 Mbit links are half-duplex (to old hubs or repeaters, which is the original Xerox blue-book Ethernet) and most 100 Mbit links are full-duplex (switches with point-to-point connections). However, for maximum confusion, you will occasionally see 10 Mbit/full-duplex, and 100 Mbit/half-duplex, but not very often.
If you don't specify speed and duplex, the driver attempts to auto-negotiate the speed and duplex to the fastest possible, by an IEEE specification. Most Ethernet hardware produced in the last few years is compliant with the IEEE specification, but there is some older hardware around that isn't.
In the absence of auto-negotiation, the PHY can figure out the speed pretty easily. However, the duplex is another matter. If auto-negotiation isn't supported, the remote device is assumed to be older and thus half-duplex, not full-duplex.
The moral of the story is that 99% of the time you shouldn't specify speed and duplex; the auto-negotiation should automatically figure it out for you. If you run the nicinfo utility, it will tell you what the auto-negotiated speed and duplex is, and most of the time, it will be correct.
![]() |
It's crucial that both devices, at both ends of the link, use the same speed and duplex, otherwise heavy packet loss can occur (see above). |
So, you should specify speed and duplex to the network driver only if you have older, perhaps broken or nonstandard Ethernet hardware, and you manually control both ends of the Ethernet link. For example, a managed hub or a cross-over cable.
If you have any questions, comments, or problems with a QNX product, please contact Technical Support. For more information, see the How to Get Help chapter of the Welcome to QNX Momentics guide or visit our website, www.qnx.com.
| Change | Ref # | Fixed in |
|---|---|---|
| If you set an alias for an interface, phlip now applies it to the correct interface. | 3280 | 6.3.0 |
| When entering Direct mode, or switching to the same mode you started in (same resolution, bit depth, and refresh rate), the displayable area no longer shrinks. | 3623 | 6.3.0 |
| The usage message for fdisk has been corrected. | 4509 | 6.3.0 SP1 |
| devn-smc9000.so now handles promiscuous mode. | 6531 | 6.3.0 |
| timer_gettime() and timer_settime() no longer return invalid values. | 7613 | 6.3.0 |
| 64-bit division errors on SH4 have been fixed. | 7927 | 6.3.0 SP1 |
| phdialer no correctly converts the modem auto-disconnect time from minutes to seconds. | 8069 | 6.3.0 |
| We now ship mkfontdir for Windows and Solaris. | 8322 | 6.3.0 |
| A Photon application is now displayed in the Taskbar only if the Ph_WM_TASKBAR bit is set in the window's Pt_ARG_WINDOW_MANAGED_FLAGS resource. | 8704 | 6.3.0 SP1 |
| Compiling with optimization for SH4 platforms now works when optimizing out simple switch statements. | 8722 | 6.3.0 SP1 |
| In some cases, fs-nfs2 and fs-nfs3 wouldn't treat a TCP connection as a stream, and would expect that the entire packet should be returned with a read(). This would cause false failures, and fs-nfs2 and fs-nfs3 would remount the NFS server more times than necessary. We've fixed this. | 8873 | Patch ID 234 |
| dlsym() now resolves symbols according to the documented algorithm. | 8950 | 6.3.0 SP1 |
| It's now possible to use setrlimit() to set a process's maximum heap size (RLIMIT_DATA). | 9070 | 6.3.0 |
| The mtu option no longer makes the ARMLE variant of devn-smc9000 crash. | 9357 | 6.3.0 |
| The -p option to pidin now accepts a process name or ID as its argument. The -P option now works correctly. | 9373 | 6.3.0 SP1 |
| CPU-specific versions of gdb now load a CPU-specific profile. | 9398 | 6.3.0 SP1 |
| The Local Protect Bit (LPB) is now set correctly in full-duplex mode, so devn-ppc800.so no longer encounters transmission errors | 9569 (Ticket ID 38913) | 6.3.0 |
| qcc now correctly handles configuration files that are actually links to other files. | 9732 | 6.3.0 SP1 |
| On mipsle platforms, ftpd no longer faults whiling listing a directory. | 9771 | 6.3.0 |
| The SMC9000 driver now supports multicasting with the Lubbock BSP. | 9888 | 6.3.0 |
| PtScrollContainer now positions its scrollbars correctly when the scrollbars are set to “display always.” | 9988 | 6.3.0 |
| gdb can now successfully read memory that straddles a page. | 10120 | 6.3.0 SP1 |
| If devb-aha2 faults (e.g. if you don't have the right kind of board), the parent process now correctly gets a SIGCHLD signal. | 10388 | 6.3.0 SP2 |
| devb-aha2 no longer faults if you don't have any AHA 2 cards installed. | 10391 | 6.3.0 |
| An optimized-out switch statement no longer causes the compiler to crash. | 10467 | 6.3.0 SP1 |
| Applications that use a PtOSContainer widget no longer have problems when redrawing via phrelay. | 10628 | 6.3.0 |
| In the IDE's System Information perspective, the System Blocking Graph now shows the Blocked Folks, even for clients that are Send- or Reply-blocked. The information for a process's threads is now updated correctly. | 10772, 14428 | 6.3.0 SP2 |
| The mem_offset() and mem_offset64() functions now return the correct offset when passed a pointer addressing the syspage (i.e. via _syspage_ptr) rather than return an error. | 10862 | 6.3.0 SP1 |
| devn-speedo.so now detects the correct MAC address and works with large EEPROMs. | 10983, 12774 | 6.3.0 |
| nfsd no longer becomes permanently blocked on a FIFO if a Neutrino NFS client attempts to create and use one. | 11098 | Patch ID 234 |
| Failed mmap() calls no longer leak memory. | 11408 | 6.3.0 SP1 |
| spawnp() no fails with an error of EACCES when you try to execute a directory. | 11417 | 6.3.0 |
| Untagged shared memory images are now displayed properly in phindows and phditto. | 11489 | 6.3.0 SP1 |
| PtSlider now correctly changes its appearance when you set the Pt_GHOST flag. | 11531 | 6.3.0 |
| The devg-rotate* drivers now correctly handle scaled blits. | 11593 | 6.3.0 |
| qconn no longer crashes when you pass it long command lines. | 11712 | 6.3.0 SP2 |
| flashctl now rounds the values of the -o and -l (“el”) options down to the nearest block bound. If the range specified exceeds the partition size, it's rounded down to fit. If you use the -v option, flashctl displays what the values have been rounded to. | 11738 | 6.3.0 |
| In the IDE, the Add Include menu option now works on the word under the cursor, not just on a selected word. | 11757 | 6.3.0 SP2 |
| The Acer EIDE driver now has DMA support for CD-ROMs. | 11788 | 6.3.0 |
| When you attach the IDE's Application Profiler to a running process, the 'Thread Info' pane is now updated correctly when first drawn. | 11898 | 6.3.0 SP2 |
| The IDE's System Blocking Graph now shows multiple channels if they exist. | 12290 | 6.3.0 SP2 |
| In the IDE's Application Profiler, if you run a profiled application for an ARM target, and then try to double-click on a function in the call graph, you now get the source file coming up with annotated bars, as you do on other platforms. | 12422 | 6.3.0 SP2 |
| The devf-dbpxa20dp flash driver no longer crashes with a SIGBUS error on ARM. | 12449 | 6.3.0 |
| If you use waitfor in a startup script, processes that depend on the entry in /dev now find the entries correctly. | 12450 | 6.3.0 |
| The performance of the devn-prism.so driver is now better. | 12455, 14339 | 6.3.0 |
| The IDE's Run to Cursor command now has a button on the toolbar, an entry in the Debug menu, and a hotkey. | 12466 | 6.3.0 SP2 |
| In the IDE, the output from an application run using now consistently makes it to the console. | 12485 | 6.3.0 |
| The PtWebClient interface and the voyager server now let you match whole words when searching. | 12596 | 6.3.0 |
| The USB stack now allows multipacket interrupt transfers. | 12642 | 6.3.0 |
| The IDE's Memory Analysis perspective now makes it easier to find a memory leak in a shared object. | 12658 | 6.3.0 SP2 |
| Text boxes in Voyager no longer lose focus when scrolled off-screen. | 12713 | 6.3.0 SP1 |
| The TVIA driver now renders the image correctly with the digital interface. | 12719 | 6.3.0 |
| In the Neutrino-hosted IDE, the C Perspective layout now persists between sessions. | 12731 | 6.3.0 SP2 |
| 64-bit signed division on SH platforms now works correctly with LONGLONG_MAXC in programs compiled with gcc 2.95.3. | 12772 | 6.3.0 SP2 |
| Using the Memory Analysis perspective no longer causes the IDE to run ready. | 12794 | 6.3.0 SP2 |
| The front porch timing is now correct in the TVIA graphics driver. | 12809 | 6.3.0 |
| The autodetection scheme that npm-qnet-compat.so uses to determine whether or not the platform it's running on supports misaligned access now works on ARMBE targets. | 12989 | 6.3.0 |
| We now ship the rb, rx, rz, sb, sx, and sz utilities that qtalk needs in ZMODEM mode. | 13050 | 6.3.0 SP2 |
| The x86 version of J9 no longer crashes the kernel when it runs out of RAM. | 13280 | 6.3.0 |
| devn-sis9.so now honors the speed and duplex setting specified on the command line. | 13297 | 6.3.0 |
| Alpha maps can be put in shared memory, and the graphics framework and the PNG loader now support RGBA images. | 13362 | 6.3.0 |
| The IDE no longer stores project-specific data in .metadata. | 13365 | 6.3.0 |
| In the IDE's Debug perspective, you can now cast a selected variable to a different type in the Variables view. | 13367 | 6.3.0 |
| The network drivers now allocate 64 receive descriptors and 128 transmit descriptors by default. | 13453 | 6.3.0 |
| qconn no longer crashes in a high-activity, multiple-user environment. | 13459 | 6.3.0 SP2 |
| There are no longer any problems using PCI memory as shared memory on SH4 targets. | 13532 | 6.3.0 |
| PdCreateOffscreenContext() and PdGetOffscreenContextPtr() no work correctly on ARM targets. | 13539 | 6.3.0 |
| devc-serppc8260 and devc-serppc800 now send commands correctly. | 13741 | 6.3.0 |
| The gdb 5.2.1 nto_procfs interface now reads floating-point registers correctly. | 13744 | 6.3.0 SP2 |
| devn-fd.so now increments its packet counts correctly. | 13785 | 6.3.0 |
| In the IDE, the System Builder's New Project wizard has a clearer user interface. | 13840 | 6.3.0 SP2 |
| You can now scroll the code-completion window in the IDE running on Neutrino. | 13933 | 6.3.0 SP1 |
| Repeatedly opening a large (greater than 20 MB) log file no longer causes problems in the IDE's System Profiler. | 13952 | 6.3.0 SP2 |
| In the IDE, if you launch the Memory Analysis module, and the application is being debugged, you can now reattach the debugger when a memory error is encountered. | 13968, 14099 | 6.3.0 |
| devn-speedo.so no longer auto-negotiates when the media rate is forced on the command line. | 13970 | 6.3.0 |
| The IDE's backtrace is no longer corrupted for non-x86 targets when attached with the debugger. | 14023 | 6.3.0 SP2 |
| A useless right-click menu in the IDE's Profiler view has been deleted. | 14108 | 6.3.0 SP2 |
| devb-eide no longer faults on MIPSBE because of a command-line typo (== instead of ==). | 14114 | 6.3.0 |
| BREAK now works on the SCI AND SCIF port of devc-sersci. | 14166 | 6.3.0 |
| Bulk transfers no longer timeout on the devu-sp1161 driver. | 14197 | 6.3.0 |
| You can now build multiple projects in the IDE's C/C++ Projects view. | 14202 | 6.3.0 SP2 |
| devn-epic.so no longer drops multicast packets in promiscuous mode. | 14225 | 6.3.0 |
| devn-ns83815.so no longer drops multicast packets in promiscuous mode. | 14246 | 6.3.0 |
| devn-rtl.so no longer drops multicast packets in promiscuous mode. | 14247 | 6.3.0 |
| devn-via-rhine.so no longer drops multicast packets in promiscuous mode. | 14248 | 6.3.0 |
| In the IDE, the C-C++ editor's Code Assist now works. | 14255 | 6.3.0 SP2 |
| devn-i82544.so: _IO_NET_REMOVE_MCAST now removes (rather than adds) addresses. | 14256 | 6.3.0 |
| devn-via-rhine.so: _IO_NET_MCAST_RANGE now processes the entire range. | 14259 | 6.3.0 |
| devn-rtl.so: _IO_NET_MCAST_RANGE now processes the entire range. | 14264 | 6.3.0 |
| When you set Pt_END in the Pt_CB_LOST_FOCUS callback for a PtComboBox, the widget now correctly maintains focus instead of shifting it to the next widget. | 14286 | 6.3.0 |
| The IDE's Debugger is now faster when uploading/initializing large applications. | 14287 | 6.3.0 |
| The uncompress command is now a symbolic link to gzip. | 14301 | 6.3.0 SP2 |
| You can now control and disable the rate at which the IDE's System Information perspective collects data and refreshes the display. | 14336 | 6.3.0 SP2 |
| devb-ncr8 no longer faults in libcam.so.2 when copying files to disk. | 14388 | 6.3.0 |
| devn-fd.so no longer faults when you use it with Qnet on x86 targets. | 14389 | 6.3.0 |
| startup-bcm1250 can now detect memory properly when there's more than 256 MB. | 14404 | 6.3.0 |
| If you've disabled the “Perform build automatically on resource modification” option and you've set the “Save all modified resources prior to manual build” option, the IDE no longer does a global rebuild when you start the debugger. | 14417 | 6.3.0 SP2 |
| The translation of Photon events no longer causes problems when the emitter region is the same size as the Photon space. | 14421 | 6.3.0 |
| In the IDE's System Information perspective, the Deliver Signal option by default sends a SIGTERM signal (which terminates the process). | 14439 | 6.3.0 SP2 |
| Navigating the Help tree in the IDE is now faster. | 14506 | 6.3.0 |
| devc-sersci now sets the parity and stop bits correctly. | 14528 | 6.3.0 |
| The abs() function now has the correct prototype for use with C++. | 14582 | 6.3.0 SP1 |
| The icons in the IDE's System Builder projects now indicate the different types of files. | 14586 | 6.3.0 SP1 |
| You can't select text anymore in multiline-text (PtMultiText) widgets that aren't editable. | 14600 | 6.3.0 SP1 |
| In the Neutrino-hosted IDE's System Profiler, removing processes no longer causes j9 to run ready. | 14612 | 6.3.0 SP2 |
| The IDE's Signal Information view no longer flickers excessively when you've selected more than one process. | 14635 | 6.3.0 SP2 |
| Dual use of USB HID and bulk now works correctly. | 14644 | 6.3.0 |
| In the IDE, the checking for duplicate files that happens when you add files to System Builder projects has improved; it now warns you about files or directories with the same name only if they're in the same directory. | 14661 | 6.3.0 SP2 |
| devg-radeon.so no longer distorts images when they're scaled down. | 14662 | 6.3.0 |
| The resolv.conf file now supports a nocache keyword that prevents the socket library's resolver code from caching the nameserver's configuration. | 14686 | 6.3.0 |
| We've corrected the SH7751_PCI_STAT_* definitions for pci-systemh. | 14795 | 6.3.0 |
| Simultaneous interrupts no longer cause the system to freeze on the MGT5100. | 14823 | 6.3.0 |
| devu-ohci no longer prints diagnostics when you run the usb utility, unless you've specified the verbosity option. | 14838 | 6.3.0 |
| You can now include spaces in the ssid option for all wireless network drivers. | 14868 | 6.3.0 |
| A flood ping no longer kills devn-prism.so. | 14880 | 6.3.0 |
| The IDE's command looks for updates for Eclipse, but no longer looks for any on our website. | 14901 | 6.3.0 SP1 |
| devb-eide is now faster on PPCBE MTX platforms. | 14944 | 6.3.0 |
| In the IDE's System Builder, if you create an image with a blank in its name, the IDE no longer deletes the build script. | 14971 | 6.3.0 SP2 |
| For QNX C/C++ projects in the IDE, you can now specify an absolute path for the Installation directory (in the project Properties dialog on the tab). | 15004 | 6.3.0 SP2 |
| A blue arrow now helps you keep track of the active line of code in the IDE's Debug perspective. | 15017 | 6.3.0 |
| Spaces are now handled correctly in search paths for System Builder projects. | 15040 | 6.3.0 SP1 |
| Changes that you make to a file in the IDE's Application Profiler Editor are now correctly shown in the C/C++ Editor. | 15052 | 6.3.0 SP2 |
| dhcp.client can now reconfigure an interface that has already been reconfigured. | 15072 | 6.3.0 |
| When you mount and unmount a NFS mountpoint repeatedly for hundreds of iterations, there's no longer a potential for a resource to be unreleased, causing all further mount attempts to fail. There's still a timeout period that must expire before mounts can continue. Unless you're doing this operation in a loop, you aren't likely to encounter this timeout. | 15078 | Patch ID 234 |
| devc-sersci now has odd and even parity correct. | 15102 | 6.3.0 |
| The date on a generated temporary license no longer appears in the local format (which caused problems with Flexlm). | 15170 | 6.3.0 |
| The HID driver now enumerates USB devices correctly. | 15183 | 6.3.0 |
| The devn-prism.so driver now supports retrieving the BSSID value. | 15211 | 6.3.0 |
| mprotect() now correctly honors SHMCTL_LOWERPROT set on memory objects. | 15227 | 6.3.0 |
| devn-ne2000.so no longer makes io-net crash. | 15229 | 6.3.0 |
| The redundant Suppress Reset Vector control was removed from the Properties dialog in the System Builder. | 15267 | 6.3.0 SP1 |
| The devf-* drivers now handle the timeout that AMD flash uses after issuing an erase sequence specifying additional erase blocks. | 15279 | 6.3.0 |
| devn-tulip.so no longer takes 25 seconds to auto-negotiate the media rate. | 15286 | 6.3.0 |
| Creating a debug version of a large application no longer causes an internal compiler error. | 15296 | 6.3.0 |
| In the IDE, if you create a post-mortem debug launch configuration, and then relaunch it, you're asked to select the core file again, but the IDE remembers the directory the file was in. If you cancel the selection, you're no longer switched to the Debug perspective. | 15300 | 6.3.0 SP2 |
| You no longer get “unable to get stack depth” errors while launching the (IP - qconn) debugger with a simple C/C++ application. | 15309 (Ticket ID 61634) | 6.3.0 |
| Displaying a large .kev file in the System Profiler is faster in the Neutrino-hosted IDE. | 15315 | 6.3.0 SP2 |
| Removing a process from the System Profiler no longer causes problems in the Neutrino-hosted IDE. | 15316 | 6.3.0 SP2 |
| ping, ping6, and ftp no longer use floating-point math to calculate statistics. | 15324 | 6.3.0 SP1 |
| Attempting to grow a directory (or .inodes file) on a completely full fs-qnx4.so disk no longer leaves the directory marked as busy. | 15354 | Patch ID 245 |
| fs-cifs now supports code sharing. | 15362 | 6.3.0 |
| devn-tulip.so now works correctly on the MTX604 platform. | 15370 | 6.3.0 |
| devn-gt64260.so: mount/umount with traffic no longer locks up the board. | 15374 | 6.3.0 |
| The ARMLE kernel no longer has high latencies when a program is terminating. | 15377 | 6.3.0 |
| devn-via-rhine.so no longer faults during a benchmark test. | 15394 | 6.3.0 |
| The system now has a way to be notified when the autoip module either chooses an address or notices a DHCP server address. | 15421 | 6.3.0 |
| The snd_pcm_plugin_params() function no longer leaks playback streams. | 15445 | 6.3.0 |
| The usage messages now correctly state that you don't need to specify a server-export/mountpoint combination on the command line when you launch fs-cifs, fs-nfs2, or fs-nfs3. You can invoke the mount command later to add mountpoints. | 15446 | Patch ID 234 |
| You can now mount fs-cifs mountpoints within an existing fs-cifs mountpoint. | 15452, 21532 | 6.3.0 SP1 |
| In the IDE, the Remove executables from target option now works for serial debugging. | 15455, 15461 | 6.3.0 |
| A high-priority thread in a usleep-loop no longer causes some problems with round-robin scheduling for other threads running at a lower priority. | 15456 | 6.3.0 |
| Combo boxes now work properly in the IDE running on Neutrino. | 15465 | 6.3.0 SP1 |
| In the IDE's System Information perspective, the System Resources view no longer uses a lot of CPU even when closed. | 15489 | 6.3.0 SP2 |
| io-graphics no longer crashed when the shared-memory area is too small for the given PgReadScreen() command. | 15499 | 6.3.0 |
| The shutdown command's -S option no longer supports the photon or user type. Use phshutdown for Photon's shutdown options. | 15528 | 6.3.0 |
| Compiling large C++ sources with debugging using the Dinkumware <xmemory> header no longer results in an internal compiler error. | 15530 | 6.3.0 |
| The reboot callouts on SH boards no longer have an error accessing the system page. | 15534 | 6.3.0 |
| A flood ping no longer hangs the SMC9000 driver. | 15563 | 6.3.0 |
| The flash library now passes the correct offsets to the suspend/resume MTD functions, so the devf-generic driver longer core-dumps (a side effect from AMD MirrorBit changes). | 15566, 16060 | 6.3.0 |
| The Microsoft ISA Firewall Client is now compatible with PhAB for Windows. | 15568 | 6.3.0 |
| Calling mmap() or mmap_device_memory() with MAP_FIXED no longer causes the kernel to crash. | 15573 (Ticket ID 61868) | 6.3.0 |
| The USB interrupt transfer handler is now called correctly. | 15578 | 6.3.0 |
| It's now possible to verify that the version of /usr/lib/ldqnx.so.2 that's loaded into memory is the same as the version on the disk. | 15579 | 6.3.0 |
| io-net -dspeedo mmap no longer faults while parsing the options. | 15608 | 6.3.0 |
| In the IDE's Debug perspective, you can attach to a running process through a Debug launch configuration, not a Run launch configuration. | 15643 | 6.3.0 SP2 |
| The ecpp library now supports uint64_t. | 15653 (Ticket ID 61889) | 6.3.0 |
| The input drivers now ignore the Pause Break key; it no longer clears the Pk_KF_Compose flag forever. | 15681 | 6.3.0 |
| deflate now works as a mkefs filter. | 15683 | 6.3.0 |
| devn-el900.so no longer resets the multicast filter when promiscuous mode is disabled. | 15721 | 6.3.0 |
| devn-speedo.so no longer resets the multicast filter when promiscuous mode is disabled. | 15722 | 6.3.0 |
| devn-i82544.so now supports the DCMD_IO_NET_CHANGE_MCAST command to devctl(). | 15728 | 6.3.0 |
| devn-speedo.so now supports the DCMD_IO_NET_CHANGE_MCAST command to devctl(). | 15731 | 6.3.0 |
| GDB now correctly gets I/O privileges when single-stepping over a ThreadCtl(_NTO_TCTL_IO,0) system call. | 15735, 19351 | 6.3.0 |
| procnto no longer terminates a child process without notifying its parent process. | 15756 | 6.3.0 SP2 |
| dumpefs now has a usage message. | 15794 | 6.3.0 |
| The USB stack now correctly handles the removal and insertion of devices. | 15852 | 6.3.0 |
| Thread creation no longer fails with ENOMEM. | 15865 | 6.3.0 |
| devn-tulip.so no longer reports the wrong speed and duplex setting after a parallel detection. | 15869 | 6.3.0 |
| The USB stack now correctly send an interrupt IN request within the specified polling period. | 15871 | 6.3.0 |
| Configuring the PRISM driver no longer causes it to reset every four seconds. | 15872 | 6.3.0 |
| The startup time for devf-systemh on SystemH has improved. | 15880 | 6.3.0 |
| Our SH4 kernel calls now save the frame pointer, so gdb can now backtrace out of them. | 15882 | 6.3.0 |
| The usage message for devn-bcm1250.so now gives the correct IRQ setting (0x80050013). | 15895 | 6.3.0 |
| We've added a missing _CSTD to <netmgr.h>, so this file now compiles for C++. | 15904 | 6.3.0 |
| If you use the VESA driver on an SMP machine, your machine no longer spontaneously reboots. | 15928, 16009 | 6.3.0 |
| devg-tvia.so: we corrected some TVIA Cyberpro 5050 video overlay problems. | 16006 (Ticket ID 62284) | 6.3.0 |
| deva-ctrl-sis.so is now included in 6.3. | 16020 | 6.3.0 |
| PiFlipImage() can now flip PNG pictures. | 16059 | 6.3.0 |
| The driver for the Renesas Camelot-Biscayne no longer suffers from a DMA problem that caused “pops” and “clicks.” | 16084 | 6.3.0 |
| In PhAB, if you import a GIF with transparency as a button image, and you close that project and reopen it, the transparency in the image is now maintained. | 16097 | 6.3.0 |
| The IDE's System Resources view no longer has two columns that display the same information (i.e. heap sizes). | 16177 | 6.3.0 SP2 |
| When devn-pcnet.so runs with a big stack, it can now receive packets longer than 32 bytes. | 16187 | 6.3.0 |
| Standard utilities no longer core-dump with the SMP kernel on MIPS 1250. | 16206 | 6.3.0 |
| Phindows operations are now smoother. | 16215 (Ticket ID 61745) | 6.3.0 SP1 |
| The IDE's Debug perspective now retains the contents of the Expressions view (i.e. the expressions you want the IDE to evaluate and display) from one invocation of the debugger to the next. | 16241 | 6.3.0 SP2 |
| In the IDE's Debugger perspective, you can now add expressions in the Expressions view. | 16242 | 6.3.0 SP2 |
| The -fno-fp-moves option is now set by default for the compiler for PPC code. | 16263 | 6.3.0 |
| devn-bcm1250.so now handles multicast packets correctly in promiscuous mode. | 16293 | 6.3.0 |
| The IDE now properly builds the Renesas Biscayne BSP after you retrieve it from CVS. | 16302 | 6.3.0 SP2 |
| Running devn-speedo.so driver with two Speedo network cards no longer causes a system hang. | 16337 | 6.3.0 |
| devn-bcm1250.so: removing a Compact Flash card no longer produces an error (“Free IRQ: Invalid argument”). | 16340 | 6.3.0 |
| We corrected an problem with operator precedence in tto.c for devc-serppc8260. | 16375 | 6.3.0 |
| PhAB for Windows now handles transparent GIFs correctly. | 16392 | 6.3.0 |
| gcc now correctly recognizes the “mutable” qualifier. | 16397 | 6.3.0 |
| devc-serppc8260 now correctly unmasks the Carrier Detect and hardware flow-control interrupts. | 16431 (Ticket ID 62640) | 6.3.0 |
| We now ship a Windows version of the deflate utility. | 16457 (Ticket ID 62518) | 6.3.0 |
| In the IDE, setting or removing a breakpoint no longer suspends running processes. | 16465 | 6.3.0 |
| PgDrawPolygon() no longer draws extra lines in a polygon. | 16466 (Ticket ID 62627) | 6.3.0 |
| If you use ftp -u .... in a system call, it no longer returns an error even if it uploaded the file correctly. | 16469 (Ticket ID 62351) | 6.3.0 |
| /etc/nslookup.help is now correctly /usr/share/misc/nslookup.help. | 16481 | 6.3.0 |
| rcp no longer fails on filesystems that don't support truncate(). | 16487 | 6.3.0 SP1 |
| The PtWebClient widget, when connected to Mozilla now handles its configuration settings properly. | 16498 | 6.3.0 |
| If you specify the nomulticast command-line argument to devn-rtl.so, and you then issue a DCMD_IO_NET_CHANGE_MCAST devctl() command, the driver now correctly sets the error code to ENOTSUP. | 16505 | 6.3.0 |
| devn-tulip.so no longer incorrectly resets the multicast filter when you disable promiscuous mode. | 16509 | 6.3.0 |
| devn-tulip.so's multicast filter is no longer corrupted when you add a large number of addresses. | 16511 | 6.3.0 |
| devn-el900.so's multicast filter is no longer corrupted when you add or remove large sets of multicast addresses. | 16513 | 6.3.0 |
| Toggling promiscuous mode no longer interferes with devn-el900.so's multicast filter. | 16515 | 6.3.0 |
| If dispatch_block() is interrupted by a signal, it once again returns NULL and sets errno to EINTR. | 16531 | 6.3.0 |
| The IDE's debugger no longer uses the wrong name for the executable when you launch a Standard Make C Project. | 16535 | 6.3.0 |
| The smartset -R option to devi-elo now works correctly (i.e. it doesn't reset the device). | 16564 | 6.3.0 |
| Photon now honors the setting of the NumLock on startup. | 16583 | 6.3.0 |
| In the Windows-hosted IDE, if you edit the search paths in the properties in the System Builder, and you click Add Workspace Path, the resulting a browser now starts at the root of your workspace, instead of at the root of your filesystem (e.g. C:). | 16590 | 6.3.0 SP2 |
| In the IDE's System Builder, you can no longer set the use-in-place or copy attribute for items that you're adding to an embedded filesystem. (This setting has no meaning for an embedded filesystem.) | 16609 | 6.3.0 |
| During debugging in the IDE, the values of class members are now updated correctly in the Variables view on SH platforms, but only if you're using gcc 3.3.5 and the default debug options. | 16630 | 6.3.0 SP2 |
| Including the ha/ham.h header in a C++ application no longer causes compile errors. | 16648 (Ticket ID 62597) | 6.3.0 |
| The IDE's Build action toolbar button now has a tool tip. | 16689 | 6.3.0 SP2 |
| The IDE no longer blocks when qconn takes a long time to respond. | 16701 | 6.3.0 SP2 |
| If you try to import a QNX 4 Photon application into PhAB, and the files includes Windows end-of-line characters, PhAB no longer tries to import the application. | 16709 (Ticket ID 62828) | 6.3.0 |
| We now ship the fdformat utility for Windows hosts. | 16738 (Ticket ID 62852) | 6.3.0 |
| The Variables view in the IDE's Debugger now correctly displays multiple variables with the same name. | 16753 | 6.3.0 |
| The use command no longer crashes if you use the malloc_g library. | 16769 | 6.3.0 |
| PhAB language translation now works correctly with a widget database opened with ApOpenDBaseFile(). | 16786 | 6.3.0 |
| In the IDE's System Information perspective, a process's heap usage is now updated properly in the System Summary view. | 16792 | 6.3.0 SP2 |
| In the IDE's System Information perspective, the information about the system memory is now updated in the System Summary view. You can manually refresh the information, or you can schedule an update by using the Update Control view. | 16793 | 6.3.0 SP2 |
| If you expand and collapse an event file in the IDE's System Profiler, the editor now scrolls correctly. | 16796 | 6.3.0 SP1 |
| The devn-i82544.so driver no longer reports an error when you specify the busindex option. | 16818 | 6.3.0 |
| The IDE's System Profiler now provides hover information for thread events when the process is unexpanded. | 16820 | 6.3.0 SP2 |
| The devn-eepro.so driver no longer fails under a heavy load. | 16842 (Ticket ID 62976) | 6.3.0 |
| The rsrcdbmgr_*() functions no longer fail because of an error in sorting an internal list. | 16872 | 6.3.0 |
| Lines with a stroke width > 1 are no longer drawn 1 pixel too wide. | 16889 | 6.3.0 |
| io-graphics no longer crashes with a SIGSEGV when used with the devg-rotate90 driver. | 16892 | 6.3.0 |
| devb-eide now works correctly on the Sandpoint board (X3 and X2). | 16900 | 6.3.0 |
| devp-biscayne now has a -d option that you can use to override the default time (500 ms) that the driver waits before enumerating the cards. (The MSAC-PC2 MemoryStick adaptor requires more than 700 ms to initialize.) | 16901 | 6.3.0 |
| In the IDE, when the Target Navigator is refreshed, it no longer jumps to the currently selected item. | 16937 | 6.3.0 SP2 |
| In the Signals view in the IDE's Debugger, changing filters no longer deselects the view and the IDE itself. | 16938 | 6.3.0 SP2 |
| If you call fcntl() with F_DUPFD and a file descriptor's that's greater than the configured number of maximum open file descriptors per process, the function now sets errno to EINVAL instead of EMFILE. | 16960 | 6.3.0 |
| The gettytab file is now correctly shipped in /etc/config. | 16971 | 6.3.0 |
| PCI servers no longer SIGSEGV when you call pci_read_config8() called with length of 256 or more. | 16996 | 6.3.0 |
| A hard power-down no longer causes file corruption. | 16999 (Ticket ID 63132) | 6.3.0 |
| The IDE's editor for common.mk no longer hides all text that follows #QNX internal start. It now uses folding to hide all text until the next #QNX internal end. | 17002 | 6.3.0 SP2 |
| The Thread Info view in the IDE's Application Profiler now correctly shows rarely scheduled threads. | 17003 | 6.3.0 |
| devn-epic.so and devn-gt64260.so now have an mtu option that you can use to set the maximum transmission unit. | 17026, 17027 | 6.3.0 |
| In the IDE's System Information perspective, the filesystem plugin now restores connections when you restart the target. | 17050 (Ticket ID 63145) | 6.3.0 SP2 |
| The IDE's System Builder now supports Ctrl-C in the Serial Terminal view. | 17054 | 6.3.0 |
| Scrolling the Tasks view now works cleanly in the IDE hosted on Neutrino. | 17070 | 6.3.0 SP1 |
| cpp0 no longer fails to include some include files under Cygwin. | 17076 | 6.3.0 |
| Resetting the sample counts in the IDE's Application Profiler now zeroes out the call-count information. | 17093 | 6.3.0 |
| The IDE's debugger no longer locks up when it's disconnected from the target (e.g. when the power fails or a cable is disconnected. | 17095 | 6.3.0 |
| The bootscript editor in the IDE's System Builder now supports keyboard shortcuts for cut, copy, and paste operations. | 17096 | 6.3.0 |
| devn-i82544.so now supports promiscuous multicasting. | 17139 | 6.3.0 |
| With devn-ns83815.so, if you enable promiscuous multicast mode, and then enable and disable regular promiscuous mode, promiscuous multicast mode is now correctly still enabled. | 17141 | 6.3.0 |
| devn-speedo.so no longer hangs when you add a lot of multicast addresses to filter. | 17142 | 6.3.0 |
| PhAB now works properly with the Continuus version-control system. | 17144 | 6.3.0 SP1 |
| The devn-rtl.so now negotiates the correct duplex setting when the speed is 10 Mbit. | 17146 | Patch ID 153 |
| devn-speedo.so now displays the negotiated duplex setting in nicinfo's output. | 17151 | 6.3.0 |
| Guard pages are now properly added and removed by mmap() and munmap(). | 17165 | 6.3.0 SP1 |
| In the IDE's System Profiler, you can now create a tracelog even with interrupts disabled. | 17170 | 6.3.0 SP2 |
| If you use ifconfig to create and assign more than one VLAN interface, the assigned MAC addresses are now displayed correctly. | 17172 (Ticket ID 63323) | 6.3.0 |
| The BENQ CD rewriter can now read CD filesystems. | 17186 | 6.3.0 |
| We now ship devg-i830.so. | 17209 | 6.3.0 |
| Phindows now correctly draws lines in Pg_DRAWMODE_XOR mode. Note that Phindows doesn't support the extended drawing modes, including XOR raster operations such as Pg_DrawModeDSx. | 17217 | 6.3.0 |
| If you set Pt_SHOW_TITLE in the Pt_ARG_CONTAINER_FLAGS for a PtMultitext, PhAB no longer crops the widget's vertical scrollbar. | 17218 | 6.3.0 |
| devn-epic.so now uses the speed and duplex setting specified on the command line. | 17255 | 6.3.0 |
| devn-speedo.so no longer has transmit lockup/slowdown issues. | 17268 | 6.3.0 |
| devn-smc9000.so no longer hangs the Daytona board when you umount the device during high traffic. | 17287 | 6.3.0 |
| devg-banshee.so now handles alpha maps correctly in 8bpp mode. | 17289 | 6.3.0 |
| _mcount is now correctly defined when compiling for profiling for ARM targets. | 17298 | 6.3.0 |
| In the IDE, compile times are now shorter when you've enabled enhanced dependency checking. | 17299 | 6.3.0 |
| New RAM-detection routines now allow BCM1250E and BCM1125E to boot. | 17312 | 6.3.0 |
| Phindows now correctly handles expose events for alpha images. | 17323 (Ticket ID 63511) | 6.3.0 |
| The first insertion of a CD is now correctly detected with a Plextor CD-Writer. | 17340 | 6.3.0 |
| devf-ram now handles SRAM properly. | 17344 | 6.3.0 |
| pfm now has a filename-encoding option that lets you tell it how to treat filenames that include non-UTF characters. | 17349 | 6.3.0 |
| devn-bcm1250.so can now run port1 on BCM91125 a second time. | 17353 | 6.3.0 |
| devf-bcm91125 no longer crashes with a SIGBUS in little-endian mode. | 17358 | 6.3.0 |
| pidin now sorts its output by process ID. | 17376 | 6.3.0 |
| The IDE now gives you more control over the names of output files. | 17384 | 6.3.0 |
| The IDE now provides a way for you to add variants (QNX Projects). | 17385 | 6.3.0 |
| make clean in IDE now removes .i files. | 17388 | 6.3.0 |
| IDE now lets you specify compiler and linker options manually. | 17390 | 6.3.0 |
| The IDE's System Summary now displays the correct amount of used memory. | 17396 | 6.3.0 |
| The version of memcmp() in libmalloc now works correctly. | 17401 (Ticket ID 63540) | 6.3.0 |
| The BCM1250A BSP now properly detects noninterleaved RAM in big-endian mode. | 17414 | 6.3.0 |
| The getaddrinfo() function no longer faults if the hostname can't be resolved. | 17441 | 6.3.0 |
| In the IDE, if you select an application that depends on a shared library from another project, then click , the IDE now automatically uploads the needed shared libraries. | 17442 | 6.3.0 SP2 |
| pppd no longer crashes with a SIGBUS or SIGSEGV during connection on SHLE targets. | 17445 | 6.3.0 |
| devn-ppc405.so now reports the correct duplex setting in nicinfo. | 17478 | 6.3.0 |
| You can now load an SH4 dump file in a standard C project into the IDE's postmortem debugger launch configuration. | 17483 | 6.3.0 |
| Data corruption no longer occurs when you transfer a file to an NFS drive and the server is qnx. | 17567 | 6.3.0 |
| For devn-ns83815.so, adding or removing large sets of multicast addresses no longer corrupts the multicast filter. | 17570 | 6.3.0 |
| With devn-i82544.so, if you delete multicast addresses from an empty filter, you now get an error of ENOENT. | 17571 | 6.3.0 |
| tracelogger now supports daemon mode. | 17572 | 6.3.0 |
| devn-el900.so no longer fails with the 3COM 3CCFE575BT card. | 17573 (Ticket ID 63671) | 6.3.0 |
| libc has a better implementation of ftw() and now implements nftw(). | 17575 | 6.3.0 |
| A mmap() of physical memory now gets the right color on SH and MIPS targets. | 17582 | 6.3.0 |
| ntpd can now adjust the time backwards in very small increments. | 17593 | 6.3.0 SP1 |
| ntpd no longer displays “Can't adjust time (0 sec, -24 usec): Invalid argument” messages. | 17593 | 6.3.0 |
| With devn-tulip.so, if you start with an empty filter, force a filter overflow, and then go back to an empty filter, the protocol stack now correctly doesn't get any multicast packets, because the filter is empty. | 17598 | 6.3.0 |
| devn-epic.so now uses the correct transmission rate in duplex mode. | 17604 | 6.3.0 |
| If you use pci_attach_device() to connect a device with the PCI_PERSIST flag set, then subsequently attach with the PCI_SHARE flag set, the resources are now correctly shared. | 17606 | 6.3.0 |
| Qnet no longer leaves clients NET_REPLY-blocked if the cable is disconnected. | 17640 | 6.3.0 |
| qtalk now correctly clears the FILENAME macro after sending a file using qcp. | 17677 | 6.3.0 |
| Qnet now works correctly with two (or more) Ethernet network cards plugged into the same network. | 17763 | 6.3.0 |
| The rsrcdbmgr_attach() function now works correctly on all targets. | 17784 | 6.3.0 SP1 |
| asyncmsg_get() no longer fails on MIPS and SH targets. | 17800 | 6.3.0 SP2 |
| The bind=ip option to npm-qnet-l4_lite.so now works correctly on MIPS, ARM, and SH processors. | 17810 | 6.3.0 |
| devi-hirun no longer core-dumps if keyboard-mapping files aren't found. | 17811 | 6.3.0 |
| In PhAB, if you click a file in the Browser Files panel, the file is no longer popped up twice. | 17834 | 6.3.0 |
| Maximizing the CPU Activity pane in the IDE's System Profiler no longer makes the IDE stop updating the editor pane or run ready. | 17853 | 6.3.0 SP2 |
| devg-i830.so: the bus no longer locks when you use the overlay. | 17859 | 6.3.0 |
| If you change a PtBasic into a PtArc, the arc is no longer a very large size. | 17865 | 6.3.0 |
| devn-ppc405.so now reports the correct speed of in nicinfo. | 17877 | 6.3.0 |
| libsocket now correctly exports the symbols dn_skipname and __dn_skipname. | 17898 | 6.3.0 |
| ldqnx.so now honors weak undefined symbols, even in DLLs. | 17912 | 6.3.0 |
| If you call mmap() with the MAP_NOX64, the memory area is now correctly prevented from crossing a 64 KB boundary. | 17922 | 6.3.0 SP1 |
| Capital letters with glyphs no longer get truncated at large point sizes. | 17930 | 6.3.0 |
| When you're debugging a C++ program in the IDE, you no longer get messages of Error while reading shared library symbols: string table offset backs up at 64. | 17954 | 6.3.0 |
| mkifs now reserves enough space in the OS images for [data=uip] executables. As a result, booting with the debug shell no longer hangs the boot procedure. | 17961 | 6.3.0 |
| The pre-6.3 version of Qnet (npm-qnet-compat.so) now does some consistency checking to handle node-down situations. | 17963 | 6.3.0 |
| SMP systems now boot correctly when using procnto-smp. | 17984 (Ticket ID 64023) | 6.3.0 |
| When debugging a Photon application (using gdb), if you copy something to the clipboard, your terminal window containing gdb no longer freezes. | 17993 | 6.3.0 |
| If you use a PtTree, calling PtTreeModifyItemString() now damages the widget correctly. | 18001 | 6.3.0 |
| Using devg-i830.so with fullscreen programs no longer causes the machine to reboot. | 18013 | 6.3.0 |
| devn-i82544.so is now enumerated properly when you start your system. | 18035 | 6.3.0 |
| devg-i830.so no longer causes a test application to run READY. | 18046 | 6.3.0 |
| The res_queryN() function (called from getaddrinfo()) now allocates a larger stack, so it can run properly. | 18053 | 6.3.0 |
| The usage message for devn-i82544.so now has the correct vid, did, and pci options. | 18057 | 6.3.0 |
| The TFTP server now works correctly on Linux, Neutrino, and Solaris hosts. | 18097 | 6.3.0 |
| Using name_attach() no longer causes applications to crash. | 18161 | 6.3.0 |
| Whenever you open a file in the IDE's editor, the cursor is now correctly displayed as an I-beam, and hover help now works. | 18185 | 6.3.0 SP2 |
| If switching to disassembly fails, the IDE's debugger now displays an error message. | 18189 | 6.3.0 SP2 |
| On SMP machines, waitpid() no longer waits indefinitely if a previous waitpid() has already picked up the status of a child process that's terminating. | 18207 | 6.3.0 SP2 |
| PtMenuBar's anchor flags are now honored after you've turned anchoring off and then back on in PhAB. | 18226 | 6.3.0 |
| devg-banshee.so (with all 3dfx Interactive VooDoo3 chipsets) no longer corrupts the display when you scroll in the Voyager browser. | 18227 | 6.3.0 |
| Repeatedly mapping (MAP_FIXED) to an address returned from mmap() no longer fails. | 18230 | 6.3.0 |
| Mapping to a fixed virtual address no longer fails on MIPS. | 18231 | 6.3.0 |
| The fs-nfs3 utility no longer corrupts mountpoint directories. | 18257 | 6.3.0 |
| devn-i82544.so driver now auto-negotiates to 10 Mbps. | 18271 | 6.3.0 |
| qcc no longer crashes on Solaris when you're building in parallel. | 18299 | 6.3.0 SP2 |
| mkefs now has a maximum path length of 1024 bytes. | 18309 | 6.3.0 SP1 |
| fs-cifs no longer causes errors when you compile an application on a mountpoint. | 18337 (Ticket ID 64307) | 6.3.0 |
| mkifs now handles long filenames properly. | 18340 | 6.3.0 SP1 |
| The Qnet DNS server no longer truncates the domain if it matches the current domain. | 18343 | 6.3.0 |
| The nfsd utility no longer has trouble handling many clients. | 18369 | 6.3.0 |
| munmap() now correctly sets errno to EINVAL if you specify a size of zero. | 18413 | 6.3.0 |
| PhAB's pixmap editor no longer has a clipping problem. | 18430 | 6.3.0 |
| The System Information view now remembers its refresh rate after you restart the IDE. | 18433 | 6.3.0 SP1 |
| If you cut or copy a file in the IDE's filesystem navigator, the paste operation now works. | 18434 | 6.3.0 SP2 |
| The IDE's filesystem navigator now correctly keeps track as you add and remove files. | 18435 | 6.3.0 SP2 |
| If a sudden power loss corrupts a flash filesystem directory entry as it's being written, it's now properly detected and repaired the next time the driver is run. | 18446 | 6.3.0 |
| Holding a key no longer causes Photon to consume a lot of CPU cycles. | 18453 | 6.3.0 |
| A stack walkback using __builtin_return_address on PPC targets no longer causes a SIGSEGV. | 18457 (Ticket ID 64448) | 6.3.0 |
| devc-ser8250 no longer randomly pauses transmission for a number of seconds. | 18465 (Ticket ID 64124) | 6.3.0 |
| devf-generic's format operations no longer show an “overpoll” error on Biscayne SHLE platform (AMD MirrorBit-related). | 18477 | 6.3.0 |
| libfs-flash3 now correctly sets errno to EINVAL for unsupported XTYPES. | 18516 | 6.3.0 |
| On self-hosted Neutrino systems, there's now a symbolic link from /usr/share/bison to /usr/qnx630/host/qnx6/x86/usr/share/bison | 18563 | 6.3.0 SP2 |
| tinit -p no longer displays a text-mode login before starting Photon. | 18653 | 6.3.0 |
| phlogin now runs .profile when you log in as root. | 18716 | 6.3.0 |
| The find utility now returns 0 if all path operands were successfully traversed, or a positive number if an error occurred. | 18763 | 6.3.0 |
| In fs-qnx4.so, if you create a directory, create a file, hold that file open with O_ACCMODE, unlink that file, create the same filename, and then close any files, then attempting to remove the directory no longer fails with an error of EBADFSYS. | 18786 | Patch ID 245 |
| PhAB for Windows no longer has problems with special characters (e.g. umlauts) in its resource editors. | 18787 | 6.3.0 |
| If you formerly called pci_attach_device() more than once with the same device handle, the function disabled the device. Now, pci_attach_device() disables the device only if the flags you pass to both calls are different. | 18797 | 6.3.0 SP1 |
| ksh now works on big-endian MIPS targets. | 18801 | 6.3.0 SP1 |
| The device enumerator now starts multiple audio drivers correctly. | 18811 | 6.3.0 |
| The kernel no longer faults on SC400 boards. | 18836 | 6.3.0 SP1 |
| If you use DL_DEBUG, dlopen() now displays diagnostic messages if it can't open the library. | 18857 | 6.3.0 |
| io-usb now supports device insertion and removal. | 18891 | 6.3.0 |
| Automounting now works with USB whenever a device is inserted; devb-umass no longer crashes with a SIGSEGV when a USB device is inserted after the driver has been started with PNP and automount enabled. | 18901 | Patch ID 189 |
| devf-generic no longer runs READY on 6.2.1 Biscayne systems with Strata Flash. | 19006 | 6.3.0 |
| Recursive searches in a CD filesystem no longer return corrupted entries. | 19014 | Patch ID 189 |
| The ps utility once again displays the processes' name and arguments. | 19031 | 6.3.0 |
| The IDE's QNX Project now supports a more complex build structure. | 19060 | 6.3.0 |
| mkimage is now included in all host packages. | 19075 | 6.3.0 SP1 |
| Calling mmap() with a bad FD no longer causes a kernel fault. | 19126 | 6.3.0 SP1 |
| find now prints correct inode numbers on non-x86 platforms. | 19172 | 6.3.0 SP1 |
| mkifs no longer strips the version information (QNX_usage, QNX_info, and QNX_Phab) from binaries in an image filesystem. | 19183 | 6.3.0 |
| fs-nfs2 and fs-nfs3 no longer treat a link pathname that ends in a slash as a link rather than the directory it points to. For example, readlink() now returns an error instead of data for a path that ends in /. | 19209 | Patch ID 234 |
| If you specify O_EXCL and O_CREAT for open(), and the path names a symbolic link, open() now correctly fails and sets errno to EEXIST for fs-nfs2 and fs-nfs3. | 19210 | Patch ID 234 |
| mkfifo() now fails with EEXIST if the path names a symbolic link over fs-nfs2 and fs-nfs3. | 19212 | Patch ID 234 |
| When you now call mkdir() with a pathname, if a symbolic link already exists with that pathname, mkdir fails with the errno value EEXIST; mkdir() previously resolved the link. | 19213 | Patch ID 234 |
| If you run mkefs and specify the type=fifo attribute, the command now creates an loadable image. | 19214 | 6.3.0 SP2 |
| opendir() no longer leaks file descriptors after you call exec(). | 19223 | 6.3.0 |
| A small memory leak in npm-qnet-compat.so has been fixed. | 19242 | 6.3.0 SP1 |
| The template for PtRaw now includes the Draw, Init, Extent, and Connect functions. | 19274 | 6.3.0 |
| On Windows, deflate now cleans up its temporary files. | 19278 | 6.3.0 SP1 |
| PhAB no longer core dumps when you click Done in the Edit Template dialog and the directory is empty. | 19294 | 6.3.0 |
| In the IDE's System Profiler perspective, a right-click now changes focus to the clicked view. | 19302 | 6.3.0 SP1 |
| If you move the needle of a PtMeter in test mode, the needle no longer disappears. | 19313 | 6.3.0 |
| In the IDE, you can now remove a process from the Debug view, even if you started the process from the File System Navigator with no console. | 19371 | 6.3.0 |
| Under heavy loads, umount formerly could SIGSEGV a devb-* driver; this has been fixed. | 19387 | 6.3.0 SP1 |
| You can now switch CPUs on an SMP system in the IDE's System Profiler perspective. | 19415 | 6.3.0 SP1 |
| PhAB no longer lets you modify image dimensions before you've created a new image. | 19419 | 6.3.0 |
| We've fixed various issues that caused FFSv3 corruption. | 19421 | 6.3.0 |
| The IDE now preserves the positions of macros in common.mk files. | 19424 | 6.3.0 SP1 |
| The IDE's System Builder now locates files that you specify with an absolute path. | 19426 | 6.3.0 SP1 |
| System Builder's Serial Terminal Clear Terminal button now properly clears the terminal. | 19435 | 6.3.0 SP1 |
| When a thread is created, if the process has reached a breakpoint, the new thread is also stopped. | 19446 | 6.3.0 |
| Phindows now supports local font-lookup. | 19460 | 6.3.0 |
| The borders of a PtRectangle widget are now drawn correctly when its fill color is transparent and its inside color isn't transparent. | 19469 | 6.3.0 SP2 |
| The message that results when you free() or realloc() unallocated data has been corrected. | 19481 | 6.3.0 SP2 |
| On an SMP system, if two threads both access lazily mapped memory (e.g. stack) at the same time, one thread would successfully access the memory, but the other thread would receive a SIGSEGV signal. This is now handled properly. | 19483 | 6.3.0 SP1 |
| In the IDE, to convert a a QNX Project to standard Make C, you can now choose or . | 19504 | 6.3.0 SP2 |
| dhcp.client can now handle arbitrary options through the /etc/dhcp/dhcp-options file. | 19509 | 6.3.0 SP1 |
| The -s option to mkdir does nothing and has been removed. | 19533 | 6.3.0 SP2 |
| In the IDE's System Profiler, if you search the results for a process name, markers are now displayed on the timeline. | 19535 | 6.3.0 SP2 |
| PtPolygon and PtBezier no longer shift relative to their parent's position (if the container's position isn't (0,0)). | 19553 | 6.3.0 |
| The QNX_CONFIGURATION environment variable is now always set. | 19585 | 6.3.0 SP1 |
| io-blk.so now correctly honors the before and after keywords to the mount command's -o option. | 19606 | Patch ID 245 |
| io-blk no longer has a 10 MB cache cap; the limit is now 15% of system memory. | 19619 | 6.3.0 |
| Our implementation of gzip now handles large (64-bit) files and the most recent GNU gzip archives. | 19651 | 6.3.0 SP2 |
| io-graphics now marks images on PPC as big-endian. | 19658 | 6.3.0 |
| The devn-ne2000 driver no longer causes a ENOBUFS error under a heavy traffic load. | 19670 | 6.3.0 SP1 |
| execl() now correctly returns EACCESS when you don't have permission to search the target directory. | 19692 | 6.3.0 |
| In the IDE's System Profiler, the event selection is no longer reset when focus is returned to the window, and repeatedly using the Find command no longer causes Find to stop working. | 19694, 20629 | 6.3.0 SP1 |
| Selecting many threads in the Trace Definition dialog no longer crashes the IDE. | 19695 | 6.3.0 SP1 |
| Using the debug procfs interface to read memory from io-net (with Qnet loaded) on a remote node no longer causes a lockup. | 19697 | 6.3.0 SP1 |
| The libc version of alloca(0) now returns a usable address instead of NULL. This means that the libc version and the builtin gcc version now behave the same. | 19701 | 6.3.0 SP1 |
| The DHCP and NTP binaries now include embedded build properties (displayed by use -i). | 19705 | 6.3.0 |
| The __builtin_return_address() function now works correctly for SH targets using gcc 2.95.3. | 19706 | 6.3.0 SP2 |
| When you're building a project in the IDE, the Progress Information dialog now displays the correct make command. | 19708 | 6.3.0 SP2 |
| Changing the numeric value of a PtNumericFloat() no longer resets the value to 0.0 | 19730 | 6.3.0 |
| In the IDE, importing a C++ library project no longer turns it into a C++ application project. | 19731 | 6.3.0 |
| io-char no longer incorrectly treats a VINTR character and a physical line break as the same event. This means that the semantics of the ISIG, BRKINT, and IGNBRK flags are now honored. | 19736 | 6.3.0 SP1 |
| In PhAB, if you drag and drop a template in a template folder, the correct name is now displayed in the Selected Templates field. | 19745 | 6.3.0 |
| In the System Profiler in the self-hosted IDE, moving a window over an editor no longer causes redraw problems. | 19746 | 6.3.0 |
| qnxplayer no longer core-dumps when you run the Audio Player from Phindows. | 19777 | 6.3.0 |
| devn-pegasus.so no longer has problems registering its entry in /dev/io-net. | 19802 | 6.3.0 |
| The default C++ options for gcc 2.95.3 now include -D_PTHREADS=1. | 19811 | 6.3.0 SP2 |
| PtNumeric widget and its subclasses no longer have Pt_CALLBACKS_ACTIVE set by default. | 19814 | 6.3.0 |
| If you change a menu module or menu item in a menu module, PhAB now knows that you need to regenerate the code the next time you build the application. | 19821 | 6.3.0 |
| In PhAB for Windows, the rightmost and bottommost stripes of the PhAB window are now drawn correctly. | 19828 | 6.3.0 |
| devb-ram no longer faults on MIPS targets when you use POSIX locks. | 19868 | 6.3.0 |
| resmgr_msgread() no longer erroneously returns 0 bytes because of a boundary condition in message passing. | 19884 | 6.3.0 |
| devf-bigsur and devf-generic can now identify flash devices properly. | 19891 | 6.3.0 |
| The IDE's System Builder now provides better support for the prebuilt directory in BSP packages. | 19912 | 6.3.0 |
| Images (16- and 32-bit) are no longer inverted on PPC targets. | 19918 | 6.3.0 |
| 6.3.0 includes the J9 plugin. | 19954 | 6.3.0 |
| exec() no longer hangs if you try to execute a FIFO. | 19957 | 6.3.0 |
| The environment is now set up to allow a J9 plugin or VM to run, even from the browser. | 19963 | 6.3.0 |
| phs-to-pcl now creates better-quality lines and circles. | 19967 | 6.3.0 SP2 |
| The <kvm.h> header can now be compiled with C++ applications without resulting in an error due to undefined references. | 19974 | 6.3.0 SP1 |
| Horizontal scrolling of a Voyager window no longer corrupts the display when you're using the devg-i810 graphics driver. | 19980 | 6.3.0 SP1 |
| The IDE's System Builder now supports the [+page_align] attribute in OS images and embedded filesystems. | 19981 | 6.3.0 |
| If you change a container's name right after you create the project, the IDE no longer loses the build-configuration information. | 19982 | 6.3.0 SP2 |
| Phindows and phditto now feature write-ahead draw buffers that increase performance on a modem connection. To use this feature, specify the -N option for Phindows and phditto. | 19986 | 6.3.0 SP1 |
| In the IDE's CVS perspective, if you choose , the IDE now retains the list of variants to build. | 19992 | 6.3.0 SP2 |
| The IDE no longer gives a “string index out of range” error when you open a project's properties. | 19995 | 6.3.0 SP2 |
| In the IDE, files now inherit the Type of Build property from their project. | 20001 | 6.3.0 SP1 |
| In the Neutrino-hosted IDE, the BSP description text is now displayed when you import a BSP. | 20041 | 6.3.0 SP1 |
| If you check out a project in the IDE's CVS view, the IDE no longer creates a new empty project and asks if you want to overwrite it. | 20042 | 6.3.0 SP2 |
| In the IDE, you can create an empty file in a library project and link it by using the Extra Object Files in the project properties Linker tab. The field where you can type the filename now has a more descriptive label. | 20049 | 6.3.0 SP2 |
| Phindows exposures are now faster when the window isn't in focus. | 20070 | 6.3.0 |
| When you import a System Builder project by copying an existing .bld file from a previous installation, the project is now properly converted. | 20073 | 6.3.0 SP2 |
| devn-smc9000.so now handles the speed and duplex options correctly, and its performance has improved. | 20103 | 6.3.0 |
| Slinger CGI no longer sends corrupted data in response to POST requests. | 20118 | 6.3.0 SP1 |
| The IDE now has “All” and “All enabled” options for variants in container projects. | 20121 | 6.3.0 SP2 |
| In the IDE, if you choose , you can now choose a directory by typing in the Directory Field field. | 20123 | 6.3.0 SP2 |
| The video drivers no longer have endian problems on big-endian platforms. | 20127 | 6.3.0 |
| On Windows hosts, /tmp is now always mounted to C:\tmp. | 20130 | 6.3.0 SP2 |
| The IDE's System Builder can now find the libraries needed to build the audio drivers for the Renesas Big Sur/Amanda BSP. | 20142 | 6.3.0 SP2 |
| gcc 2.95.3 now defines __ELF__. | 20146 | 6.3.0 SP1 |
| In the IDE's System Profiler, if you set the Tracing Method to “Iterations,” using the default value of 32 iterations no longer creates an invalid .kev file. | 20147 | 6.3.0 SP2 |
| On 32-bit wide Intel flash, if an attempt to access flash using a 16-bit aligned address failed, the flash driver used to crash when it reset the hardware. The reset callback now aligns the addresses properly. | 20151 | 6.3.0 SP1 |
| Moving the mouse over the shelf in Phindows no longer causes an assertion that causes the shelf to exit. | 20152 | 6.3.0 |
| devg-ati_rage128.so no longer locks up when it exits direct mode. | 20169 | 6.3.0 |
| The IDE's Makefile parser now supports \ line continuations. | 20173 | 6.3.0 SP1 |
| Calling PgWaitHWIdle() no longer destabilizes applications. | 20192 | 6.3.0 |
| There's no longer a launchmenu or wm directory in /. | 20199 | 6.3.0 |
| We've corrected a boundary condition where an arc rendering flips over and renders the path in a clockwise fashion rather than counterclockwise. | 20200 | 6.3.0 |
| The pcterm20.phf glyph 0x00 now contains all zero bytes. | 20229 | 6.3.0 SP1 |
| In the PtTty widget, the Pt_ARG_TTY_INPUT resource no longer accepts a value larger than will fit in an unsigned short, and no longer overwrites Pt_ARG_TTY_INPUT_WRITTEN. | 20238 | 6.3.0 SP1 |
| Drawing filled polygons with more than 248 points using HW acceleration with devg-coral no longer causes the graphics driver to lock up. | 20242 | 6.3.0 SP1 |
| The devg-coral graphics driver no longer draws spurious pixels when drawing large unfilled polygons using hardware acceleration. | 20244 | 6.3.0 SP1 |
| Pasting license text into qnxactivate's Add License Key on Linux now works correctly. | 20248 | 6.3.0 SP1 |
| Resizing the Phindows window no longer breaks the blitting in PhAB for Windows. | 20250 | 6.3.0 |
| The startup for the PPC BookE board no longer fails. | 20263 | 6.3.0 SP1 |
| The IDE's System Profiler no longer incorrectly claims to have run out of memory when you're working with a large tracebuffer file. | 20264 | 6.3.0 SP2 |
| When you create new variants for BSP projects, the variant folder now gets the correct name. BSP projects also no longer ignore any advanced properties when building. | 20268 | 6.3.0 SP2 |
| The IDE System Profiler's Preferences dialog no longer lets you enter invalid text. | 20278 | 6.3.0 SP2 |
| In the IDE's System Information perspective, the Signal Information view now displays its data correctly. | 20282 | 6.3.0 SP2 |
| npm-qnet-l4_lite.so adds more debugging sloginfo events in the kernel interface layer to aid in debugging. | 20290 | Patch ID 234 |
| devf-*: when several blocks are corrupt, the flash filesystem no longer turns them all (incorrectly) into spare blocks. | 20312 | 6.3.0 SP1 |
| mozserver for Voyager can now download files. | 20355 | 6.3.0 |
| In the IDE, if you open a QNX project, add extra include paths, and then add another project folder, the parser can now interpret files from the new extra path. | 20365 | 6.3.0 SP2 |
| There's no longer potentially a very small timing window (out of the user's control) where access() could fail with EINVAL on an fs-cifs mountpoint. | 20372 | Patch ID 234 |
| Photon executables now include build properties and version information that you can display with use -i. | 20379 | 6.3.0 |
| mkimage now supports flash filesystem version 3 (FFS3) images. | 20386 | 6.3.0 SP1 |
| usemsg now reports an ldrel failure as a failure. | 20403 | 6.3.0 SP2 |
| Network drivers that autonegotiate now report the correct speed and duplex after the cable is reconnected after being disconnected for a while. | 20417, 20423 | Patch ID 153 |
| PtFileSel and PtFileSelection(): the icon for a closed folder and the icon for a symbolic link to a folder are no longer identical. | 20425 | 6.3.0 SP1 |
| TCP/IP: valid ACKs are no longer thrown out if snd_nxt is rewound. | 20430 | 6.3.0 |
| The stdio library now contains fseeko64() and ftello64(), 64-bit variants of fseeko() and ftello(). | 20437 | 6.3.0 SP1 |
| The libmmedia multimedia library can now handle MP3 files that have ID tags in the header. | 20438 | 6.3.0 SP1 |
| The Mozilla web server now properly handles a change in graphics mode. | 20441 | 6.3.0 SP2 |
| The Mozilla server can now handle a graphic-mode change without corrupting its display. | 20441 | 6.3.0 SP1 |
| gcc 3.3.x no longer ignores __attribute__((__aligned__())) in typedef declarations. | 20443 | 6.3.0 SP1 |
| In the IDE's System Profiler, if you right-click in the Timeline (or any other) pane, select , click on a color selector, and then immediately click on the corresponding item in the visible column, you're now correctly given a choice between true and false instead of a color selector. | 20448 | 6.3.0 SP2 |
| In Voyager, the Save Target As right-click menu option now works. | 20476 | 6.3.0 SP1 |
| Multimedia: wav_parser.so now processes truncated .wav files. | 20477 | 6.3.0 SP1 |
| In the IDE, if you create a QNX library project and a QNX application project, and want to link the application against the library, and you specify the library and the library path through the application's project settings by using the Project button under Extra Library Paths to do this, the IDE can now find the library and build the application. | 20496 | 6.3.0 SP2 |
| When you're setting the properties of a pterm window, the radio button for the character set appears in the correct location in the Customize Font List dialog. | 20502 | 6.3.0 SP1 |
| Closing the IDE's System Profiler no longer results in a null-pointer exception. | 20540 | 6.3.0 SP1 |
| Voyager client's menus and context menus are compatible with different browser engines. | 20549 | 6.3.0 SP1 |
| In vserver, a multitext input in a form is now displayed correctly when scrolled. | 20565 | 6.3.0 SP1 |
| If you haven't set your HOME environment variable, the SP1 installer for Windows sets it to be the directory where you installed QNX Momentics (e.g. C:\QNX630). Setting this variable prevents GDB from later becoming unresponsive. | 20566 | 6.3.0 SP1 |
| name_attach() now returns EEXIST instead of ENOTSUP if the local name already exists. | 20570 | 6.3.0 SP1 |
| If you call shm_ctl() with flags of SHMCTL_ANON | SHMCTL_PHYS, the function now correctly returns physically contiguous memory. | 20578 | 6.3.0 SP1 |
| System Builder fields now clear trailing whitespace. | 20606 | 6.3.0 SP1 |
| C++ compile namespace issues and problems with _FILE_OFFSET_BITS=64 have been resolved by including _FILE_OFFSET_BITS mappings within a namespace std wrapper. | 20624 | 6.3.0 SP1 |
| The devn-i82544 driver can now read and load status registers accurately and achieve accurate hardware checksum counts. | 20643 | 6.3.0 SP1 |
| The project-level search paths now work properly in the IDE's System Builder. | 20645 | 6.3.0 SP1 |
| If you delete a target in the Target Navigator, the IDE now prompts you to confirm the deletion. | 20667 | 6.3.0 SP2 |
| The IDE's code coverage report now includes the source code. | 20674 | 6.3.0 SP2 |
| 20689 | 6.3.0 SP1 | |
| sigsetjmp() is now a macro, as required by the C++ standard. | 20701 | 6.3.0 SP1 |
| The helpviewer's search no longer considers -, +, and . characters to be delimiters, so that it can now find terms such as io-net. | 20730 | 6.3.0 SP1 |
| libasound performs audio rate conversion properly. | 20750 | 6.3.0 SP1 |
| qcc now stores intermediate files in a /tmp directory. | 20785 | 6.3.0 SP1 |
| The stack size for the TCP/IP stack has been increased to 4096 bytes. | 20789 | 6.3.0 SP1 |
| fs-nfs3 now supports values greater than 8096 for the -B option. | 20810 | Patch ID 234 |
| ppc85xx_set_freqs() now uses the proper divisor to get the RTC frequency. | 20837 | 6.3.0 SP1 |
| The Global Name Service manager caches a list of managers and reuses a cached entry if an application looks up a service more than once. If any of the managers in the list crashes, GNS now tries the next server in the list instead of failing. | 20846 | 6.3.0 SP1 |
| If you're running Voyager with the Mozilla server and you change graphics modes, the browser's contents are now correctly updated. | 20849 | 6.3.0 SP1 |
| npm-qnet-l4_lite.so no longer uses a pulse with a hard-coded priority for the QoS transmission | 20891 | Patch ID 234 |
| phs-to-ps now correctly lines up columns in monospaced fonts that include international characters. | 20898 | 6.3.0 SP2 |
| qcc now skips the preprocessing stage when calling icc, unless you explicitly request it by using the -E or -P option. | 20955 | 6.3.0 SP1 |
| icc -gcc now works with code using <stdarg.h> or <varargs.h>. | 20981 | 6.3.0 SP1 |
| In the IDE, if you combine code coverage sessions, you no longer lose some of the data. | 21001 | 6.3.0 SP2 |
| In the IDE, code coverage now works better for C++, but only if you use gcc 3.3.x, not 2.95.3. | 21002 | 6.3.0 SP2 |
| In the IDE's Code Coverage perspective, the Save entire report button now produces a useful report. | 21004 | 6.3.0 SP2 |
| In the IDE's Application Profiler, launching is now a nonblocking, background activity. | 21023 | 6.3.0 SP2 |
| MP3 files with an invalid ID3 tag are now played at the correct speed. | 21029 | 6.3.0 SP1 |
| A race condition that caused the instrumented kernel to fail on the Renesas Biscayne board under high interrupt load has been fixed. | 21039 | 6.3.0 SP1 |
| The 6.3 IDE now works with the 6.2.1 versions of mkefs and mkifs. | 21054 | 6.3.0 SP2 |
| The System Builder Projects view no longer shows C/C++ projects, just the open System Builder projects. | 21068 | 6.3.0 SP1 |
| In the Build Console preferences in the IDE's C/C++ Development perspective, the minimum number of lines for the Build console is 10; the dialog now displays the correct range. | 21074 | 6.3.0 SP2 |
| io-char no longer discards 0x00 characters when it's in edit mode. | 21082 | 6.3.0 SP1 |
| io-char now correctly handles IGNPAR; if IGNPAR is set, io-char ignores parity errors. | 21083 | 6.3.0 SP1 |
| We fixed a memory leak in procnto that could have caused critical allocations to fail. | 21091 | 6.3.0 SP1 |
| A race condition that used to make Qnet fault io-net has been eliminated. | 21119, 21406 | 6.3.0 SP1 |
| The iofunc library now honors the IOFUNC_MOUNT_32BIT flag, in order to protect resource managers that don't support 64-bit file access. | 21122 | 6.3.0 SP1 |
| The IDE no longer loses build-variant settings when you convert a 6.2.1 workspace into 6.3. | 21125 | 6.3.0 SP1 |
| The bootpd utility is now shipped in the core QNX Momentics release. | 21126 | 6.3.0 SP1 |
| The IDE's System Information perspective now displays process IDs, not just process names. | 21132 | 6.3.0 SP2 |
| bison's support files (bison.simple and bison.hairy) are now installed on non-Neutrino host platforms. | 21138 | 6.3.0 SP1 |
| usemsg no longer fails when the pinfo file is write-protected. | 21144 | 6.3.0 SP1 |
| The devc-ser* drivers now generate Ctrl-C interrupts properly when you're using esh. | 21148 | 6.3.0 SP2 |
| In the IDE, you can now save project properties even if the project's directory has been renamed. | 21158 | 6.3.0 SP1 |
| The icc configuration files are now fixed; shared libraries created with the icc compiler work properly. | 21173 | 6.3.0 SP1 |
| The IDE's System Profiler now unbundles the idle thread's CPU usage from that for the rest of procnto. | 21175 | 6.3.0 SP2 |
| The Timebar in the IDE's System Profiler editor now provides hover help to indicate which display is active. | 21176 | 6.3.0 SP2 |
| If you try to mount an image filesystem, but you specify an invalid physical address, procnto now returns an error instead of crashing. | 21183 | 6.3.0 SP1 |
| In the IDE, build properties for source files are now inherited from their containers. | 21191 | 6.3.0 SP1 |
| <netinet6/in6.h> now compiles cleanly in C++ code. | 21204 | 6.3.0 SP1 |
| The IDE's Code Coverage now works on projects that aren't in the standard workspace directory. | 21207 | 6.3.0 SP1 |
| The devb-eide now supports SiS MuTIOL-compliant chipsets (SiS962/963/964/965). | 21212 | 6.3.0 SP1 |
| The mass-storage device driver (devb-mass) now works with Lexar, Phison, Teac CD, and Msystems Diskgo USB flash devices. | 21242 | 6.3.0 SP1 |
| Linking an application and solib against libcpp.so.3 no longer causes runtime link errors. | 21260 | 6.3.0 SP1 |
| io-char now properly handles software flow-control commands when the terminal is also controlling the flow. | 21272 | 6.3.0 SP1 |
| Using the float type with gcc 2.95.3 no longer causes memory corruption on SH4 platforms; see “What's new: Compiler and tools,” above. | 21275 | 6.3.0 SP1 |
| The PPC assembler now supports the new BookE SPRG registers. | 21286 | 6.3.0 SP2 |
| phs-to-ps now handles transparent bitmaps correctly. | 21292 | 6.3.0 SP2 |
| On FFSv3 flash filesystems, an lseek() after a chsize() (ftruncate()) now returns the correct end-of-file size. | 21303 | 6.3.0 SP1 |
| The basic player applications (phplay and mmplay) now run on SH4 platforms. | 21306, 21310 | 6.3.0 SP1 |
| <sys/resmgr.h> now includes the prototype for resmgr_unbind() | 21314 | 6.3.0 SP2 |
| You no longer get an internal error when converting a C/C++ project to a QNX project in the IDE. | 21315 | 6.3.0 SP1 |
| When a channel is destroyed, npm-qnet-l4_lite.so notifies the client node involved. If that client node is down, Qnet no longer faults logging an event regarding this scenario. | 21336 | Patch ID 234 |
| cam-cdrom no longer leaks memory in DCMD_CAM_CDROMSTART, DCMD_CAM_CDROMSTOP, DCMD_CAM_CDROMPAUSE, DCMD_CAM_CDROMRESUME, DCMD_CAM_CDROMPLAYTI, and DCMD_CAM_CDROMPLAYMSF devctl() commands. | 21340 | 6.3.0 SP1 |
| mpegs_parser.so doesn't make applications SIGSEGV anymore on ARMLE. | 21352 | 6.3.0 SP1 |
| Pt_CB_GOT_FOCUS and Pt_CB_LOST_FOCUS callbacks now work correctly in PtNumeric* widgets. | 21357 | 6.3.0 SP1 |
| <sys/cdefs.h> no longer removes all __attribute__ functions when using icc. | 21361 | 6.3.0 SP1 |
| In the IDE, you can now successfully copy a file to the target, even if the file already exists there. | 21381 | 6.3.0 SP1 |
| The Filesystem pane in the IDE's System Builder now correctly shows user-created directories that are nested inside another user-created directory called /usr when usr is at the root of the IFS filesystem. | 21394 | 6.3.0 SP2 |
| The npm-tcpip-v4.so TCP/IP stack no longer tries to apply a time of 0 seconds to ARP cache entry structures. | 21395 | Patch ID 234 |
| A problem with MAP_LAZY mappings where there's no L1 pagetable for that 4 MB range when entering message passing that could cause some boards to hang has been corrected. | 21411, 22261 | 6.3.0 SP2 |
| When you terminate pppd, the created PPP interface is now destroyed correctly, so it's no longer listed when pppd isn't running. | 21418 | 6.3.0 SP1 |
| pppd used to leak memory when used in on-demand mode, as a connection was dropped and reestablished over time. This has been corrected. | 21427 | 6.3.0 SP1 |
| io-usb no longer faults on MIPSBE SMP targets when two USB commands run at once. | 21439 | 6.3.0 SP1 |
| io-usb on MIPSBE SMP targets now correctly locates devices after you reboot the system. | 21441 | 6.3.0 SP1 |
| io-audio no longer faults if you start it without loading a driver. | 21443 | 6.3.0 SP1 |
| io-audio no longer faults on SHLE platforms when clients run at different priorities. | 21444 | 6.3.0 SP1 |
| Multidimensional arrays are now displayed correctly in the IDE's Debug Variable view. | 21446 | 6.3.0 SP1 |
| In the IDE's C/C++ perspective, if you choose Compile Selected and then Build Project, the IDE now builds the project if necessary. | 21450 | 6.3.0 SP2 |
| The IDE's System Profile is now able to read tracelogger files that were generated with the ring-buffer (-r) option. | 21453 | 6.3.0 SP2 |
| The color rendering on PowerPC for 16 bits/pixel color depth has been corrected for the PmMem*() functions. | 21468 | 6.3.0 SP1 |
| In the IDE's Debugger, you no longer get a “not responding” message in the Variable view when you switch from one thread to another while debugging. | 21478 | 6.3.0 SP2 |
| fs-nfs2 and fs-nfs3 are no longer vulnerable to improperly formatted RPC packets (e.g. those generated by a reconfigured NFS server for which the client had established a mountpoint). | 21480 | Patch ID 234 |
| If an unexpected RPC response “NFS NULL” packet arrived while there was a pending open() from a client application that the server hadn't yet responded to, fs-nfs2 or fs-nfs3 formerly could fault. This has been corrected. | 21480 | 6.3.0 SP1 |
| PhAB's Text translation editor no longer loses translation information if you click Save and then Save and Close. | 21482 | 6.3.0 SP1 |
| Passing bad values to msync() no longer makes a procnto thread loop forever, faulting. | 21484 | 6.3.0 SP1 |
| mmap() now handles errors from the resource manager when you're mapping a file. | 21521 | 6.3.0 SP1 |
| PtHelpUrl() now brings an already running helpviewer to the current console. | 21534 | 6.3.0 SP1 |
| The npm-tcpip-v4.so TCP/IP stack no longer faults if you try to get file-descriptor information (e.g. by executing sin fd) on a system where a process has called shutdown() for a TCP/IP socket descriptor, but the socket hasn't yet been closed. | 21549 | Patch ID 234 |
| PhReleaseImage() now checks to see if the alpha map is in shared memory and releases it appropriately. | 21562 | 6.3.0 SP1 |
| cc1.exe no longer dumps stack with Scansoft code and optimization of -O. | 21568 | 6.3.0 SP2 |
| Profiling using stream mode no longer fails on Solaris hosts. | 21584 | 6.3.0 SP2 |
| fs-nfs3 now supports file sizes greater than 2 GB. | 21592 | Patch ID 234 |
| npm-qnet-l4_lite.so now only periodically logs an event for misaligned packets supplied by a driver. | 21621 | Patch ID 234 |
| npm-tcpip-v4.so no longer leaks a small amount of memory when a program calls bind() for an AF_LOCAL socket. | 21639 | Patch ID 234 |
| If you connect() on an unlinked or nonexistent AF_LOCAL socket, errno is now correctly set to ENOENT. | 21664 | Patch ID 234 |
| We fixed a potential security problem with pppoed; see “What's new: Network protocols,” above. | 21675 | 6.3.0 SP1 |
| vserver used to crash continuously on the Renesas Biscayne; it no longer does. | 21677 | 6.3.0 SP1 |
| ped no longer crashes with a bus error on the Renesas Biscayne. | 21679 | 6.3.0 SP1 |
| phgrafx is no longer vulnerable to buffer-overflow attacks. | 21682 | 6.3.0 SP2 |
| calib no longer crashes with a bus error on the Renesas Biscayne. | 21687 | 6.3.0 SP1 |
| cpim no longer crashes with a bus error on the Renesas Biscayne. | 21688 | 6.3.0 SP1 |
| kpim now displays a message if the definition files are missing. | 21689 | 6.3.0 SP1 |
| vserver.file no longer crashes when running helpviewer on the Renesas Biscayne. | 21690 | 6.3.0 SP1 |
| The IDE's Filesystem pane now works for EFS-only projects. | 21693 | 6.3.0 SP1 |
| <sys/cdefs.h> now correctly defines __deprecated__ when it isn't compiled with gcc. | 21695 | 6.3.0 SP1 |
| The helpviewer no longer crashes with a memory fault if you move it and then click the restore button on SH4 targets. | 21696 | 6.3.0 SP1 |
| mixer no longer crashes with a bus error on the Renesas Biscayne. | 21697 | 6.3.0 SP1 |
| phview no longer crashes with a memory fault on SH4 platforms. | 21698 | 6.3.0 SP1 |
| The default binary parser for new Make projects is now the QNX binary parser instead of ELF. | 21699 | 6.3.0 SP2 |
| Print preview no longer crashes for a ped text file on the Renesas Biscayne. | 21700 | 6.3.0 SP1 |
| nfm-bpf.so no longer faults on SHLE or MIPSBE platforms while multicasting. | 21715 | 6.3.0 SP1 |
| In the IDE, if you check the Generate Map File checkbox under , and you're using icc as the compiler, the application no longer fails to build. | 21722 | 6.3.0 SP1 |
| PtWidgetInsert() now correctly moves the widget's region to the correct place in the region hierarchy. | 21724 | 6.3.0 SP1 |
| In the IDE, changing the build variants or compiler type no longer changes the shared library type to static. | 21734 | 6.3.0 SP1 |
| When you profile a C++ application in the IDE, sampling information and the number of calls to each function are now correct. | 21738 | 6.3.0 SP2 |
| In the IDE, you no longer get a ClassNotFound exception while browsing for the upload directory on a target (i.e. by opening the Launch Configuration dialog, selecting Download page, and then selecting Browse). | 21762 | 6.3.0 SP2 |
| ntdp now synchronizes the time correctly. | 21766 | 6.3.0 SP1 |
| chkfsys now uses less memory when checking large disks. | 21795 | 6.3.0 SP2 |
| On starting, touchscreen drivers no longer complain about finding a graphics region with no capability data. | 21822 | 6.3.0 SP2 |
| ntox86-ld-2.10.1 now has execute permissions on Linux and Solaris. | 21833 | 6.3.0 SP1 |
| helpviewer-index no longer crashes on PPC targets. | 21835 | 6.3.0 SP1 |
| The devc-ser8250 no longer lets you add data to the canonical buffer when the buffer is full. | 21859 | 6.3.0 SP1 |
| The gcc 2.95.3 compiler no longer issues erroneous warnings that variables defined in a function might be uninitialized. | 21863 | 6.3.0 SP2 |
| If your project's .cdtproject file is write-protected, and you try to add or delete a build target, the IDE now displays an error message and doesn't modify anything. | 21868 | 6.3.0 SP2 |
| In the Neutrino-hosted IDE, postmortem profiling on x86 no longer breaks with ccov enabled in the build. | 21887 | 6.3.0 SP2 |
| Voyager now correctly displays special characters (e.g. letters with accents) in its title bar. | 21893 | 6.3.0 SP2 |
| The ln-w utility now implements the functionality of symbolic links; there's a new -s option for creating them. | 21924 | 6.3.0 SP1 |
| User TCP applications that are blocked on read() no longer unblock and return 0 when you run sin. | 21962 | Patch ID 234 |
| The IDE's Process Information view now correctly displays all environment variables. | 21964 | 6.3.0 SP2 |
| Environment variables are now displayed in the IDE's Process Information view. | 21964 | 6.3.0 SP1 |
| A large HTTP GET request-URI (greater than the value of PATH_MAX) no longer overflows Slinger's internal buffer and causes a fault. | 21965 | 6.3.0 SP2 |
| QWinCfg no longer crashes when QNX_HOST or QNX_TARGET doesn't exist in the environment registry. | 21967 | 6.3.0 SP2 |
| Phindows no longer displays warnings when you start it on Windows 98. | 21976 | 6.3.0 SP1 |
| mmplay no longer shows a blank area the first time that you play an MPEG video. | 21978 | 6.3.0 SP1 |
| The IDE no longer flags “Remarks” from the Intel C/C++ compiler (icc) as errors. The compiler uses remarks to report common, but sometimes unconventional, use of C or C++. | 22012 | 6.3.0 SP2 |
| fsync() no longer causes problems on read-only media. | 22013 | Patch ID 189 |
| pax -rw now works properly on Windows hosts. | 22016 | 6.3.0 SP2 |
| Corrected a typo in the Progress Information dialog in the IDE's Application Profiler. | 22020 | 6.3.0 SP2 |
| In the IDE's Application Profiler, double-clicking main now correctly opens the corresponding source file of a C++ project built with icc 8.0. | 22034 | 6.3.0 SP2 |
| Canceling a download no longer causes Voyager to crash. | 22036 | 6.3.0 SP1 |
| In the IDE, the common.mk editor now uses folding instead of a toggle button to hide and reveal the hidden internal code. | 22044 | 6.3.0 SP2 |
| The snapshot of the Build and Debug Options tab of the Project Properties has been updated in the Working with Applications chapter of the Photon Programmer's Guide. | 22073 | 6.3.0 SP2 |
| The embedded shells (esh, uesh, and fesh) have two new built-in commands: emount and ewaitfor. | 22074 | 6.3.0 SP2 |
| Corrected the instructions for preventing users from moving or resizing an application, in the Working with Applications chapter of the Photon Programmer's Guide. | 22078 | 6.3.0 SP2 |
| The IDE's Debugger now launches the binary on the target and gdb in parallel. | 22080 | 6.3.0 SP2 |
| nftw() now recognizes readdir() failures and reports errors back to the caller. | 22084 | 6.3.0 SP2 |
| ApOpenDBase() now properly handles “Alloc” widget resources. | 22091 (Ticket ID 67098) | 6.3.0 SP2 |
| The IDE's debugger now handles conditional breakpoints in a DLL correctly. | 22097 | 6.3.0 SP2 |
| If you create a regular C make project in the IDE, invoke the Set QNX build environment function from the C/C++ Projects view, go to the next page, and then select the system default compiler, the x86 element is no longer repeated in the architecture list. | 22101 | 6.3.0 SP2 |
| devb-umass now works correctly with devices (such as the San Disk Cruzer Mini) that return invalid data for CSW. You can now specify the csw_ignore option on the command line. | 22104 | Patch ID 189 |
| The SCSI_INQUIRY command for devb-umass now requests only 36 bytes. Some devices fail when asked for the full 96 bytes. | 22105 | Patch ID 189 |
| The IDE's System Builder now recognizes backslashes as line-continuation characters. | 22123 | 6.3.0 SP2 |
| PhAB no longer crashes when you try to add menu items. | 22146 | 6.3.0 SP1 |
| usbd_urb_status() no longer returns EOK when the status function parameter indicates that the URB is still busy. | 22156 | Patch ID 189 |
| In the IDE's Memory Events view, if you resize the columns in the Allocation Trace, Unmatched Allocations, and Unmatched Deallocations, the IDE remembers the new settings when you switch to another perspective and back again. | 22162 | 6.3.0 SP2 |
| When you're adding new variants, the IDE now prompts you if it needs any extra information (e.g. source and header files in a variant or CPU directory). | 22166 | 6.3.0 SP2 |
| We removed a spurious free() in the flash filesystem code that could have corrupted the heap. | 22176 | 6.3.0 SP1 |
| The configuration files for the MIPS assembler now include the -G0 option, so options are now consistent for the assembler and compiler. | 22195 | 6.3.0 SP2 |
| The malloc_g library can now detect memory leaks on MIPS targets. | 22198 | 6.3.0 SP2 |
| fs-cifs now responds, even if left idle for several hours. | 22226 | Patch ID 234 |
| npm-qnet-l4_lite.so now lets you specify the maximum transmission unit (MTU) of a Qnet packet via the mtu_en=num option. | 22250 | Patch ID 234 |
| npm-qnet-l4_lite.so now supports a maximum of four network interfaces. | 22269 | Patch ID 234 |
| In the IDE, System Builder project properties are now saved and restored properly. | 22276 | 6.3.0 SP2 |
| Missing parentheses have been added to the definition of __PASS_AS_FLOAT() in <sh/platform.h>. | 22289 | 6.3.0 SP2 |
| use no longer crashes with a SIGSEGV if the usage message doesn't contain a newline character. | 22299 | 6.3.0 SP2 |
| A client USB driver no longer gets an extra insertion callback if it's started while the USB stack is enumerating a device. | 22307 | Patch ID 189 |
| gcc 2.95.3 no longer hangs when you use the -O2 or -O3 option. | 22316 | 6.3.0 SP1 |
| We removed some undefined weak symbols from libgcc.a for gcc 3.3.5 that were being set to 0, causing a SIGSEGV when they were called. | 22355 (Ticket ID 67274) | 6.3.0 SP2 |
| The coverage annotation at the end of a program is now accurate in the IDE's Code Coverage perspective. | 22391 | 6.3.0 SP2 |
| In the debugger on MIPS and SH, if you single-step from one instruction onto an instruction where you have a breakpoint set, the second instruction is no longer left as a breakpoint trap instruction. | 22392 | 6.3.0 SP1 |
| The IDE's System Builder now uses an extension of .srec instead of .ifs when you're creating an S-record image. | 22537 | 6.3.0 SP1 |
| mmplay no longer locks up if you queue an mpv file to it before the previous mpv is finished. | 22548 | 6.3.0 SP1 |
| Writing to a 0-sized unlinked file no longer makes fs-ext2.so crash. | 22593 | Patch ID 245 |
| If an application is executed from an NFS-mounted filesystem, and has its binary code changed on the filesystem while maintaining the same path and filename on the filesystem, executing the application a second time no longer causes the already executing instance of the application to fault. | 22601 | Patch ID 234 |
| In gdb, you can now successfully step from within a shared library to another function. | 22622 | 6.3.0 SP1 |
| devc-serpsc no longer runs out of interrupts on the Freescale Lite5200EVB. | 22630 | 6.3.0 SP2 |
| The permissions for the default /etc/rc.d/rc.local file are now 750 (read, write, execute for the user; read, execute for the group; no permissions for others). | 22665 | 6.3.0 SP1 |
| fs-ext2.so no longer runs READY if you try to create too many files and inodes. | 22676 | Patch ID 245 |
| PhAB no longer causes j9 to hold 92-98% of the CPU when working with the IDE. | 22679 (Ticket ID 66319) | 6.3.0 SP2 |
| When you build a Container project in the IDE, the top-level container no longer reports a Pass when some projects fail. | 22720 | 6.3.0 SP2 |
| The stat() times of a file accessed over the network using fs-cifs on a PPC target are now correctly decoded. | 22726 | Patch ID 234 |
| pci-mgt5200 now supports the Silicon Motion Lynx chipset | 22732 | 6.3.0 SP2 |
| Moving a large image in PhAB for Windows no longer causes Photon to crash. | 22832 | 6.3.0 SP1 |
| In the IDE's System Profiler, selection in the timeline is now based on the nearest event instead of the nearest, next event. | 22872 | 6.3.0 SP2 |
| route, arp, netstat, and npm-tcpip-v4.so once again use a monotonic clock and timeouts. | 22877 | Patch ID 234 |
| If a container project is read-only, and you try to save it, the IDE now asks if you want to make your project read-write. | 22888 | 6.3.0 SP2 |
| In the IDE's Container Import Wizard, the Location button is now enabled all the time. | 22890 | 6.3.0 SP2 |
| We addressed a rare corner case where many equally sized, noncontiguous, RAM sections in the syspage (8×4 MB) could have resulted in a kernel error assertion during bootstrapping on ARM or x86 targets. | 22907 | 6.3.0 SP2 |
| socket() no longer sets errno incorrectly when the system is out of memory for AF_LOCAL sockets. | 22917 | Patch ID 234 |
| The IDE's System Optimizer dialog no longer always displays “No libraries can be removed.” | 22923 | 6.3.0 SP2 |
| hogs no longer crashes in a system with more than 200 processes. | 22950 | 6.3.0 SP2 |
| If you edit the properties of an OS image in the IDE's System Builder perspective, the combobox of procnto variants is now correctly filled in. | 22957 | 6.3.0 SP2 |
| stat() no longer fails on fs-dos.so directory names that contain UTF-8 characters. | 22959 | Patch ID 189 |
| A typo has been fixed in the error message that appears in the IDE's QNX C/C++ Properties dialog when you select more than one variant for code coverage. | 22961 | 6.3.0 SP2 |
| We fixed a typo in an IDE error message that appears when you choose Import QNX Sources but don't select any packages. | 22968 | 6.3.0 SP2 |
| A typographical error has been corrected in the Launch Configuration's Tool tab in the IDE. | 22974 | 6.3.0 SP2 |
| In the IDE, removing projects from a container project's configuration no longer corrupts the container project. | 22995 | 6.3.0 SP2 |
| The IDE no longer locks up when you delete a large number of open files from the workspace. | 22997 | 6.3.0 SP2 |
| The SMP kernel no longer locks up while in clock_slock. | 23001 | 6.3.0 SP2 |
| The IDE System Builder's Console View is now forced-front when you're building an image. | 23012 | 6.3.0 SP2 |
| In the IDE, Check Dependencies now works properly when Share all project properties is off. | 23023 | 6.3.0 SP2 |
| If you import an existing project, the IDE now preserves the Check Dependencies On status in the right-click menu. | 23025 | 6.3.0 SP2 |
| The Photon libraries and PxLoadImage() now support all BMP formats. | 23057 | 6.3.0 SP2 |
| Packet processing now occurs only after the devn-pcnet.so driver has fully registered with io-net, in order to prevent an assertion with the debug version of io-net. | 23068 | Patch ID 153 |
| Signal handlers that process interrupts no longer corrupt the Freescale MPC8540 CPU's count (CTR) register. | 23089 | 6.3.0 SP2 |
| fs-nfs3 no longer (depending on the server implementation) causes an application calling readdir() for a NFS-mounted directory to loop forever. | 23092 | Patch ID 234 |
| Some USB devices don't handle string descriptors properly, so libusbdi.so now checks to see if the string index fields for Manufacture or Product are set. If they aren't, the library doesn't try to read the language table (index 0) on the string descriptor. | 23097 | Patch ID 189 |
| We've added a new -o timeout=num_seconds option to fs-cifs that lets you specify the timeout to apply if the CIFS server can't be reached, or isn't responding. | 23115 | Patch ID 234 |
| If you use the -N option to qcc to specify the stack size, the size is now specified correctly in applications for PPC BE targets. | 23120 | 6.3.0 SP2 |
| The Launch configuration dialog now properly restores saved target download directories. | 23124 | 6.3.0 SP2 |
| The nfsd server no longer faults when listing the contents of directories when the pathnames exceed 255 characters. | 23248 | Patch ID 234 |
| The IDE's Select Source Projects dialog now scrolls properly after you've imported a BSP. | 23265 | 6.3.0 SP2 |
| The IDE no longer has problems copying shared libraries when you're running a debugging session on a target. | 23267 | 6.3.0 SP2 |
| In the IDE, for QNX Projects, the default debugger is the QNX Debugger; for Standard Make projects, it's the GDB debugger. | 23277 | 6.3.0 SP2 |
| Binaries that you build in the IDE now indicate the architecture they were built for. | 23287 | 6.3.0 SP2 |
| As of 6.3.0, Neutrino supports 256 priorities. If you're logged in as root, nice now lets you set the priority to any value in the new range. | 23294 | 6.3.0 SP2 |
| If you try to mount a corrupt filesystem that has a bad mode for its root directory, the mount fails with an EBADFSYS error instead of crashing fs-ext2.so. | 23302 | Patch ID 245 |
| fs-ext2.so no longer runs ready if it encounters invalid (0-length) directory records; it now flags them as being EBADFSYS. | 23303, 23304 | Patch ID 245 |
| Drag-and-drop from the IDE's Target File System Navigator now works properly. | 23309 | 6.3.0 SP2 |
| The Optimize button in the IDE's System Builder now works correctly. | 23319 | 6.3.0 SP2 |
| In the IDE, after you disable a breakpoint (by right-clicking on it or via the Breakpoints view), it no longer flickers between being enabled and disabled. | 23321 | 6.3.0 SP2 |
| The IDE's System Builder editor with 2 or more images now displays the contents of an embedded filesystem correctly. | 23324 | 6.3.0 SP2 |
| npm-tcpip-v4.so by default uses sequential IP header IDs. You can now enable random IP header IDs, by using the sysctl utility or the sysctl() function. | 23328 | Patch ID 234 |
| npm-tcpip-v4.so would always respond to the ICMP timestamp request. You can now turn this feature off with the sysctl utility or the sysctl() function. | 23329 | Patch ID 234 |
| npm-qnet-l4_lite.so's priority inheritance now works correctly for messages being sent with a priority greater than 63. | 23352 | Patch ID 234 |
| The usage message for fs-nfs3 now correctly says that the -s option, which specifies to use a soft mount, is a mountpoint option, not a global option. | 23381 | Patch ID 234 |
| The IDE's System Builder now supports the prefix attribute in buildfiles. | 23394 | 6.3.0 SP2 |
| asyncmsg_put() and asyncmsg_get() now work properly when you put multiple messages and get them later. | 23406 | 6.3.0 SP2 |
| The IDE's System Builder now lets you select the compression method to use for an OS image. | 23416 | 6.3.0 SP2 |
| phs-to-ps no longer drops elements such as text at the end of a file. | 23418 | 6.3.0 SP2 |
| If you use the DPI setting to increase the print quality, polygons are no longer printed with some extra stray lines. | 23420 | 6.3.0 SP2 |
| When implementing asynchronous write (write caching), fs-nfs3 now correctly submits cached NFS write operations with the user ID of the application performing the write instead of root. | 23425 | Patch ID 234 |
| io-blk.so now locks a vnode when it's created, to prevent a crash that could occur if a high-priority sync tried to use the vnode before it was initialized. | 23462 | Patch ID 245 |
| usemsg now properly embeds inline usage messages when building source. | 23495 | 6.3.0 SP2 |
| The IDE's Application Profiler no longer crashes on the Renesas Biscayne. | 23560 | 6.3.0 SP2 |
| A certain pattern of read(), seek(), and ftruncate() no longer potentially returns corrupt data when you call read() with fs-nfs2. | 23581 | Patch ID 234 |
| A certain pattern of read(), seek(), and ftruncate() no longer potentially returns corrupt data when you call read() with fs-nfs3. | 23582 | Patch ID 234 |
| qconfig.mk now defines CP_HOST as qnx_cp -vfpc (i.e. without -u). | 23592 | 6.3.0 SP2 |
| In the IDE, “Save all modified resources automatically prior to manual build” now works correctly with container projects when the build is done from the container project's build configuration. | 23617 | 6.3.0 SP2 |
| For io-blk.so, if you don't specify a full path for the device in the automount option, io-blk.so uses the value of its devdir option as a prefix. | 23626 | 6.3.0 SP2 |
| All MirrorBit flash drivers now implement a 4-us delay after sending a suspend/resume command to the board. | 23629 | 6.3.0 SP2 |
| tracelogger now works correctly when you add it to an image for PPCBE targets. | 23657 | 6.3.0 SP2 |
| The AC97 mixer now works properly on playback on the Freescale Total5200. | 23698 | 6.3.0 SP2 |
| If you're using fs-cifs to rename a file in the same directory, while changing only the case of letters in the filename (e.g. file to FILE) and the server is Windows, the file is no longer deleted. | 23706 | Patch ID 234 |
| On fs-ext2.so, dt no longer reports data errors with large files on a full disk. | 23718 | Patch ID 245 |
| When fs-cifs has a connection to the network server, and the server is rebooted, or some kind of temporary network failure occurs, fs-cifs tries to reestablish the connection and resume the operation it might have been doing. If that operation is a readdir(), fs-cifs no longer loses its place in the directory. | 23729 | Patch ID 234 |
| You can now change the kernel in the Properties view in the IDE's System Builder. | 23734 | 6.3.0 SP2 |
| In the IDE's Debug perspective, when you disconnect from a process, you no longer get an error message: The target is not suspended. | 23786 | 6.3.0 SP2 |
| fs-ext2.so no longer deadlocks during a truncate() on a full disk. | 23791 | Patch ID 245 |
| You no longer get a SIGSEGV if you call asyncmsg_put() after calling asyncmsg_connect_detach(). | 23798 | 6.3.0 SP2 |
| Bulk/interrupt transfers now correctly set the direction for zero-length transfers; if you're using the OHCI controller, and you print to a USB printer, the printer no longer blocks. | 23802 | Patch ID 189 |
| The usemsg utility no longer leaves temporary files behind. | 23803 | 6.3.0 SP2 |
| The IDE's Application Profiler no longer reports that some functions have been called when they haven't been. | 23815 | 6.3.0 SP2 |
| gcc 2.95.3 no longer has a problem with template declarations that are nested within structs. | 23823 | 6.3.0 SP2 |
| The inline Assembly functions in the MIPS, PPC, and SH versions of <sys/cache.h> no longer cause problems with the C++ preprocessor. | 23843 (Ticket ID 68460) | 6.3.0 SP2 |
| We've added the max_tx_bufs=num option to npm-qnet-l4_lite.so. This option specifies the number of tx buffers that Qnet holds in reserve before allocating more. | 23852 | Patch ID 234 |
| The IDE's Application Profiler no longer hangs occasionally. | 23859 | 6.3.0 SP2 |
| When you use the fastforward option to npm-tcpip-v4.so or npm-tcpip-v6.so, the TCP/IP stack now correctly marks a route as being down and sends an ICMP-unreachable packet back to the source if the next hop gateway isn't responding to an ARP request. | 23864 | Patch ID 234 |
| MsgReadv(), MsgWritev(), and devctl() commands with very little transport data (512bytes) now take less time on SH4A targets. | 23866 | 6.3.0 SP2 |
| npm-tcpip-v4.so now returns a ICMP_UNREACH_NET code if a packet is forwarded, and there's no route specified on the gateway. | 23900 | Patch ID 234 |
| If you start devc-sersci with two interfaces, /dev/ser2 now works correctly. | 23993 | 6.3.0 SP2 |
| The public header files no longer contain //-style C++ comments. | 24049, 24474 | 6.3.0 SP2 |
| devu-ohci.so now correctly handles zero-length packets for the Philips ISP1562 USB PCI chipset. | 24062 | Patch ID 189 |
| devu-ehci.so now correctly handles large transfers for the Philips ISP1562 USB PCI chipset. | 24062 | Patch ID 189 |
| The io-graphics initialization sequence no longer breaks some graphics drivers, such as devg-smi7xx. | 24084 | Patch ID 290 |
| mkxfs now correctly parses for the ETFS buildfile attributes. | 24147 | 6.3.0 SP2 |
| We corrected a problem with the DCMD_FSYS_DIRECTIO command to devctl() that caused data-transfer errors when the filesystem's block size wasn't the same as the device-sector size. | 24149 | Patch ID 189 |
| We corrected a problem with the DCMD_FSYS_DIRECTIO command to devctl() that caused data-transfer errors when the filesystem's block size wasn't the same as the device-sector size. | 24149 | Patch ID 245 |
| The IDE's System Builder no longer creates the wrong directory structure when you switch build variants for a BSP. | 24175 | 6.3.0 SP2 |
| The ETFS filesystem no longer faults in io_fdinfo(). | 24213 | 6.3.0 SP2 |
| fs-cifs no longer faults when you use a password longer than 32 characters. | 24252 | Patch ID 234 |
| fs-cifs now supports mmap() properly. | 24255 | Patch ID 234 |
| The devn-rtl.so driver now works on MIPSBE targets. | 24259 | Patch ID 153 |
| A certain pattern of read(), seek() and ftruncate() no longer returns corrupt data when you call read() with fs-cifs. | 24275, 23583 | Patch ID 234 |
| A problem with dependency-checking has been fixed in the IDE. | 24365 | 6.3.0 SP2 |
| In the IDE, if you delete a project, the container project it belonged to is now automatically updated so that it no longer refers to the project in its build configurations. | 24421 | 6.3.0 SP2 |
| Large executables (larger than 11 MB) no longer fail with an EBADFD error when loaded from either a DOS or QNX 4 filesystem on SH7770. | 24434 | 6.3.0 SP2 |
| A conflict between kernel calls and the timer tick's interrupt that caused sporadic scheduling not to work properly has been corrected. | 24456 | 6.3.0 SP2 |
| In the IDE, adding a usage message to a binary in a C/C++ project no longer fails when the message is located in the C file. | 24468 | 6.3.0 SP2 |
| Client drivers are now prevented from attaching to USB hubs. | 24552 (Ticket ID 69035) | Patch ID 189 |
| In the IDE, standard make projects now use the QNX Binary Parser by default. | 24564 | 6.3.0 SP2 |
| The Windows-hosted version of the addvariant script no longer relies on xargs (which isn't included on Windows hosts). | 24569 (Ticket ID 69055) | 6.3.0 SP2 |
| The PCI server on SH4A now supports legacy I/O devices. | 24611 | 6.3.0 SP2 |
| The IDE's Debugger no longer displays Not Responding instead of the value of some local variables. | 24644 | 6.3.0 SP2 |
| qcc -V now correctly reports which targets are available. | 24753 | 6.3.0 SP2 |
| The IDE's Variables view now correctly displays arguments that were passed by reference. | 24871 | 6.3.0 SP2 |
| When multiple threads at the same priority send data on a stream socket, the data is no longer sometimes intermixed in a nonintuitive way when received at the peer. | 24873 | Patch ID 234 |
| The system uptime is now computed correctly in the IDE's System Profiler, so it's no longer reported as being greater than 100%. | 24878 | 6.3.0 SP2 |
| We've changed the possible values for the periodic_ticks option to npm-qnet-l4_lite.so from 1, 2, 5, or 10 to any value from 1 to 1000. | 24893 | Patch ID 234 |
| npm-tcpip-v4.so no longer causes io-net to run READY when using the SO_BINDTODEVICE socket option. | 25036 | Patch ID 234 |
| 25057 | Patch ID 381 | |
| The IDE now correctly generates target names when you switch the debug and release variants on and off. | 25157 | 6.3.0 SP2 |
| npm-tcpip-v4.so no longer faults when you use the ioctl() SIOCGIFALIAS to get information on an address that doesn't exist. | 25166 | Patch ID 234 |
| The Dinkum <new.h>, <iomanip.h>, <iostream.h>, and <fstream.h> are now correctly in usr/include/cpp/embedded. | 25167 | 6.3.0 SP2 |
| Using the -w size=num and -w number=num options to fs-nfs3 to change the size of the cache for asynchronous write operations no longer causes internal cache corruption. | 25186 | Patch ID 234 |
| The IDE now builds a project properly after you've used Compile Selected on one of its files. | 25238 | 6.3.0 SP2 |
| cpp0, the preprocessor for gcc 2.95.3, can now handle long filenames when searching the paths for include files. | 25322 | Patch ID 280 |
| When the number of interfaces is greater than 8, the npm-tcpip-v4.so stack no longer incorrectly assigns two interfaces with the same interface index. | 25359 | Patch ID 234 |
| NFS requests always have a unique identifier (xid) value. If a NFS server stops responding (for example because of a temporary network failure) fs-nfs2 and fs-nfs3 try to remount the server and resend the request. We've found that some servers refuse to reply to a request if the request's xid hasn't been changed after a remount, which is against the NFS specification. We've added an -x option to work around this problem; it causes the client to change the xid of the request after a remount. | 25402 | Patch ID 234 |
| When using fs-cifs on PPCBE targets, fs-cifs no longer returns an unexpected errno back to applications that are trying to connect to resource-manager processes, but resolve the manager pathname via the CIFS mountpoint rather than the manager process if that process isn't running. | 25447 | Patch ID 234 |
| The IDE's Memory Analysis now correctly displays allocation data for SH targets. | 25470 | 6.3.0 SP2 |
| In the IDE, if you add subfolders to a project and create them as links to existing folders, and then edit the project properties and add extra source paths and extra include paths that point to folders inside the previously added (linked ) folders, and then click Apply, you no longer get an exception. EXTRA_INCVPATH and EXTRA_SRCVPATH items no longer show up inside the project. | 25606 | 6.3.0 SP2 |
| The IDE no longer omits the lines for the postbuild target when it generates common.mk. | 25609 | 6.3.0 SP1 |
| The timestamp of created files is no longer incorrect when the server or client (fs-cifs) system has its time zone set to something other than GMT. | 25619 | Patch ID 234 |
| If two drivers attempt to abort an endpoint at the same time, the devu-ehci.so driver no longer loops while disabling and enabling the schedule. The client drivers no longer remain blocked forever waiting for the abort operation to complete. | 25647 | Patch ID 189 |
| io-graphics now supports the WXGA (1280x800), WXGA+ (1440x900), WSXGA+ (1680x1050), and WUXGA (1920x1200) wide-screen video modes. | 25744 | Patch ID 290 |
| fs-nfs2 and fs-nfs3 now recover properly if the NFS server terminates and is restarted while the client is actively exchanging data with the server. Attempts to access files over the NFS link used to result in errors, with errno set to EPERM. | 25765 | Patch ID 234 |
| mketfs now correctly embeds IFS image files on Windows hosts. | 25770 | 6.3.0 SP2 |
| npm-qnet-l4_lite.so no longer has a calculation issue when determining whether to retry during a node resolution. | 25781 | Patch ID 234 |
| The line .set PPC_UTIL_AH_INCLUDED,1 has been corrected in /usr/include/ppc/util.ah. | 25835 | 6.3.0 SP2 |
| sendnto once again supports RAW images. | 25850 | 6.3.0 SP2 |
| npm-tcpip-v4.so no longer sometimes generates a double reply in response to sin fd queries. | 25856 | Patch ID 234 |
| The io-graphics server no longer locks up Amanda PCI, MGT5200 and other boards. | 25861 | Patch ID 290 |
| In the IDE, libraries are no longer included in the building dependencies by default. | 25868 | 6.3.0 SP2 |
| We've included a qaudit.sh script that lists the QNX products that you've installed on your system. | 26136 | Patch ID 338 |
| In the IDE, if you choose Check out as.... and then QNX C Project, the .cdtproject file is now created properly. | 26147 (Ticket ID 69975) | 6.3.0 SP2 |
| If the export in the /etc/exports file is a link to another directory, showmount now correctly displays the link pathname instead of the target pathname. | 26149 | Patch ID 234 |
| When you import a file into a project in the IDE, the list items are now aligned properly. | 26208 | 6.3.0 SP2 |
| The default versions of gcov are now set correctly. | 26213 | 6.3.0 SP2 |
| gunzip, uncompress, and zcat are all links to gzip on Neutrino, Linux, and Solaris hosts, and copies of gzip on Windows hosts. | 26222 | 6.3.0 SP2 |
| In the IDE, including from other projects work again when gcc 3.3.5 is selected. | 26442 | 6.3.0 SP2 |
| In the IDE, if you create a QNX application or library project for one platform, create a folder named .abc in the variant directory, open the properties for this project, and then press OK, the IDE no longer creates a new variant, abc. | 26474 | 6.3.0 SP2 |
| When npm-tcpip-v4.so runs out of threads, the situation is logged to sloginfo. | 26556 | Patch ID 234 |
| We've changed the source to npm-tcpip-v4.so to be compatible with gcc 3.4.4. | 26682 | Patch ID 234 |
| chkdosfs no longer causes devb-eide to run READY in some cases. | 26855 | Patch ID 245 |
| The power is now turned on for at least one port for USB hubs that have ganged power controls. | 27117 | Patch ID 189 |
| If there's been a successful mount of an fs-cifs share, and then the share is umounted, subsequent mounts of that same share no longer succeed if the user and password credentials specified are incorrect or missing. | 27151 | Patch ID 234 |
| We added code to check PCI capabilities for power-management features and power-up USB devices if they're powered down. | 27273 | Patch ID 189 |
| The procmgr_event_notify() function has a new flag, PROCMGR_EVENT_PATHSPACE, that you can use to ask for notification when a resource manager adds or removes an entry (i.e. mountpoint) to or from the pathname space. | 27379 | 6.3.0 SP2 |
| The enumeration code no longer retries or delays if a USB device has been removed. | 27409 | Patch ID 189 |
| The debug malloc library for SHLE no longer passes in a special flag when it needs to allocate memory from the kernel using mmap(). | 27639 | Patch ID 155 |
| The devn-pegasus.so driver now works with newer 8513-based chips. | 27727 | Patch ID 153 |
| We fixed a toggle problem for USB transfers that span multiple TDs. An URB transfer spanning more than one memory page with an odd number of packets would have the expected data toggle set incorrectly. | 27856 | Patch ID 189 |
| fs-cifs no longer faults if an empty password ("") is passed on the command line. | 27957 | Patch ID 234 |
| io-blk.so now delays the completion of the lock mount option if no CD is currently installed. | 28037 | Patch ID 245 |
| io-net no longer fails with a SIGBUS on startup with the devn-pcnet.so network driver on the MIPSLE Malta boards using QNX Neutrino 6.3.2. | 28177 | Patch ID 153 |
| If a USB device has multiple interfaces and alternate settings on the second interface, selecting one of alternate settings n |