QNX Technical Articles
QNX® Momentics® 6.3.0 SH4 Floating Point Patch Release Notes
Date of this edition: January 14, 2005
Target OS: QNX® Neutrino® 6.3.0 for SH4
Host OS: Microsoft Windows XP SP1 or SP2; Microsoft Windows 2000 SP4; Sun Solaris 7/8; QNX® Neutrino® 6.3.0; Linux (Red Hat 8/9)
![]() |
This patch and the SH4 Critical Patches are included in
QNX Momentics 6.3.0 Service Pack 1.
We highly recommend that you install SP1 instead of these patches.
For information on installing this patch, see the installation note. |
Contents...
![]() |
Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed. |
Fixed issues
The libgcc.a for gcc-2.95.3 and gcc-3.3.1 didn't correctly initialize the Floating Point Status/Control Register (fpscr) support code on SH4 for QNX Neutrino. (Ref# 21275 and 21408, respectively)
- Workaround:
Create static archives instead of shared objects or DLLs, and link statically.
Or, for user-defined shared libraries built with gcc-3.3.1,
declare a constructor that initializes the fpscr support code
correctly.
For example:
extern unsigned __fpscr_values[]; static void on_lib_load(void) __attribute__((constuctor)); static void on_lib_load(void) { __fpscr_values[0] = 0x00040004; __fpscr_values[1] = 0x000c0004; } - Solution: Apply this patch and relink all shared objects that use the fpscr.
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 affected SHLE system shared libraries, you should rebuild any target systems that use any of the shared libraries in the patch, 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 included in this patch are:
- lib/gcc/3.3.1/libcpp.so
- lib/gcc/3.3.1/libecpp-ne.so
- lib/gcc/3.3.1/libcpp-ne.so
- lib/gcc/2.95.3/libcpp.so
- lib/gcc/2.95.3/libecpp.so
- lib/gcc/2.95.3/libcpp-ne.so
- lib/dll/devn-dm9102.so
- lib/dll/devn-ne2000.so
- lib/dll/devn-speedo.so
- lib/dll/devg-coral.so
- lib/dll/devg-rotate270.so
- lib/dll/devg-smi5xx.so
- lib/dll/devg-tvia.so
- lib/dll/deva-util-restore.so
- lib/dll/npm-ttcpip.so
- lib/dll/npm-tcpip-v4.so
- lib/dll/npm-pppmgr.so
- lib/dll/npm-qnet-l4_lite.so
- lib/dll/npm-qnet-compat.so
- lib/dll/npm-tcpip.so
- lib/dll/npm-qnet.so
- lib/dll/fs-ext2.so
- lib/libasound.so.2
- lib/libusbdi.so.2
- lib/libbessel.so.1
- lib/libc.so.2
- lib/libm.so.2
- lib/libsocket.so.2
- usr/lib/malloc_g/libmalloc.so.2
- usr/lib/librpc.so.2
- lib/dll/mmedia/oggi_decoder.so
- lib/dll/mmedia/midi_parser.so
- lib/dll/mmedia/audio_writer.so
- lib/dll/gri-photon.so
- lib/dll/gri-gl.so
- lib/dll/gl/gl-mesa.so
- lib/dll/gl/gl-ph.so
- lib/dll/pi_io_png.so
- lib/dll/vpi.so
- lib/dll/phfont.so
- lib/libFF-T2K.so.2
- lib/libFF-T2K.so
- usr/lib/libavcodec.so.1
- usr/lib/libavcodec.so
- usr/lib/libvorbis.so.1
- usr/lib/libxing_audio.so.1
- usr/lib/libvorbis.so
- usr/lib/libxing_audio.so
- usr/lib/libph.so.3
- usr/lib/libAp.so.3
- usr/lib/libgri.so.2
- usr/lib/libphrender.so.2
- usr/lib/libGLU.so.4
- usr/lib/libGL.so.3
- usr/lib/libmedia.so.2
- usr/lib/libjpeg.so.3
- usr/lib/libph.so
- usr/lib/libAp.so
- usr/lib/libgri.so
- usr/lib/libphrender.so
- usr/lib/libGLU.so
- usr/lib/libGL.so
- usr/lib/libmedia.so
- usr/lib/libjpeg.so
- usr/photon/dll/shelf/pload.so
- usr/photon/dll/shelf/volume.so
- lib/gcc/3.3.1/libstdc++.so
- lib/libstdc++.so.5.0.5
- lib/libstdc++.so.5
The system shared libraries under $QNX_HOST/usr/lib/gcc-lib/ntosh/2.95.3/ml that are included in this patch are:
- libgcc.a
- fpic/libgcc.a
- fpic/fexceptions/libgcc.a
- fexceptions/libgcc.a
The system shared libraries under $QNX_HOST/usr/lib/gcc-lib/sh-unknown-nto-qnx6.3.0/3.3.1 that are included in this patch are:
- libgcc.a
- pic/libgcc.a
Known issues
None currently known.
Technical support
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.
