= 4.10 Release Notes = [[TOC(TBR/UserManual/4.10_Release_Notes, depth=2)]] The 4.10 branch was cut in June 2010. 4.10.2 was cut on 14 December 2011. 4.10.2 is the third release from the 4.10 Release Series. Please help by reporting success and updating the list at the bottom of this page. Latest: http://www.rtems.org/ftp/pub/rtems/4.10.2 This page lists the changes and improvements that were been made to the RTEMS development source since the 4.9 release branch was made. As usual, there will be submissions that are not expected and incorporated as ready into the 4.10 releases. In keeping with project history, the feature set of the 4.10 release series will be largely be driven by user submissions and requests.
The RTEMS project provides '''built tools sets''' that are available for download. For Linux the RPM package format is supported and available from the [wiki:TBR/Website/APT/Yum_Repository APT/Yum Repository]. For Windows [wiki:TBR/UserManual/MinGW_Tools_for_Windows MinGW Executable Installers] are available.
If any changes or enhancements are missing in this list, feel free to add them. After all, that's why this is a Wiki. = Tool Improvements = Thanks again to Ralf, it is possible to provide target specific versions of the development tools. This is important when GCC drops support for an old architecture or we are avoiding target specific bugs in a particular tool version. Nominally, most RTEMS targets will use the same tools and they have been upgraded to the following versions: * autoconf 2.68 * automake 1.11.1 * binutils 2.20.1 * gcc 4.4.x or C/C++ with newlib 1.18.0 * gdb 7.1 The latest patch for each tools is in rtems/contrib/crossrpms/patches. = RTEMS Improvements = In this section, we discuss public API level changes as well as improvements to the implementation of those API routines. Public API changes usually fall into one of the following categories: * Addition of new methods * Modifications to prototypes * Deletion of obsoleted methods Implementation improvements usually fall into one of the following categories: * Algorithm improvements in execution time or memory usage * Critical section reduction = API Changes = * A number of RTEMS specific types have been deprecated which are no longer necessary based upon the types provided by C99. user is encouraged to use C99 types. If you have application that uses these types, you can defined (RTEMS_DEPRECATED_TYPES when building your application to enabled them. They will be removed completely in a future release series and this is intended to be a transition release. The following types have been deprecated: * boolean, rtems_boolean (use bool, instead) * single_precision, rtems_single (use float, instead) * double_precision, rtems_double (use double, instead) * rtems_initialize_data_structures() now takes no arguments. This should impact no application or BSP as this was only referenced in shared framework code. * Region Manager directives now use uintptr_t instead of size_t. The size_t type is defined to be able to represent the size of a SINGLE allocatable object. A region instance is intended to be able to hold multiple allocatable object instances and allocations from it should be able to represent pools of objects. This change should be transparent to the user. This impacted the following directives: * rtems_region_create * rtems_region_extend * rtems_region_get_segment * stat buffer returns the device the file subject to the stat is on in st_dev and if the file is a device node the device details are returned in st_rdev. RTEMS incorrectly returned the device details in the st_dev field. * The interrupt handler type of the [http://www.rtems.com/onlinedocs/doxygen/cpukit/html/group__rtems__interrupt__extension.html Interrupt Extension API] changed. * The file ops table has been extended with a rename and statvfs handler. * The mount call has been changed. It does not return a mount table and file operations tables are not needed. An rtems_filesystem_register call has been added to add file systems. A number of file system initialize calls have changed and access to the file ops tables for some file systems have been removed. * The TFTP file system is not forced to be mounted to "/TFTP". It operates more like a normal file system. See PR 1536 for details. = API Additions = * Wei Shen submitted an implementation of POSIX pipes. * [wiki:TBR/User/JoelSherrill JoelSherrill] submitted an implementation of getrusage(). = API Implementation Improvements = * TBD = Configuration Changes = * The capability to have RTEMS operate with the RTEMS Workspace and C Program Heap as a combined pool. Historically, RTEMS has had separate memory pools for the RTEMS Workspace and C Program Heap. Having separate pools does have some advantages in the event a task blows a stack or writes outside its memory area. However, in low memory systems the overhead of the two pools plus the potential for unused memory in either pool is very undesirable. Similarly, in high memory environments, this is desirable when you want to use the RTEMS "unlimited" objects option. You will be able to create objects until you run out of all available memory rather then just until you run out of RTEMS Workspace. Define CONFIGURE_UNIFIED_WORK_AREAS to enable this configuration. * STACK_CHECKER_ON renamed to CONFIGURE_STACK_CHECKER_ENABLED. * Filesystem support can be controlled by the user. By default, filesystem infrastructure is included, define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM to disable filesystem support. * RTEMS now has a device-only filesystem which is smaller in size than miniIMFS and IMFS, define CONFIGURE_USE_DEVFS_AS_BASE_FILESYTEM to enable this configuration. * The Configuration Table has had the pointers to the Classic, POSIX, and ITRON API Configuration Tables removed. RTEMS now directly references the configuration information using variables which are assumed to have the names generated by confdefs.h. This resulted in a small reduction in data space and about 4.5% off the code space for minimum and hello on the SPARC with lesser reductions on the Thumb. * Provide a C linkage Init task prototype. By default the Init task now expects a pointer to a global command line string. Set this pointer to NULL if no command line is present. A shared BSP Init task is also provided with weak external linkage so you can now write an application that enters with main rather Init. * ITRON configuration defaults to "no". One now has to explicitly pass --enable-itron to configure to build it. * The BDBUF cache options CONFIGURE_HAS_OWN_BDBUF_TABLE, CONFIGURE_BDBUF_BUFFER_SIZE, and CONFIGURE_BDBUF_BUFFER_COUNT are no longer valid and generate a compile time error. The options CONFIGURE_SWAPOUT_WORKER_TASKS, CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY, CONFIGURE_BDBUF_CACHE_MEMORY_SIZE, CONFIGURE_BDBUF_BUFFER_MIN_SIZE and CONFIGURE_BDBUF_BUFFER_MAX_SIZE are available to the user to configure the cache. * File systems need to be configured and added to the default file system configuration table. The default is just the IMFS. = RTEMS Shell Improvements = The following improvements were made to the RTEMS Shell: * Reduced non constant memory usage. * New command fdisk. * External mount helpers can be hooked onto the mount command. * Login check function is now configurable. = General = * SuperCore Timestamp Handler added. This includes the capability to select struct timespec or int64_t as the data type used for internal RTEMS time management. * Heap and region now use uintptr_t for size of memory pools and individual allocations. size_t is only defined to have a range large enough to represent the size of a SINGLE allocated object so this is necessary for correctness and to fix breakages on 16-bit targets. * RTEMS now supports configuring less than 256 priorities. During the 4.10 development cycle, all tests were run in a configuration that had a maximum of 16 priorities. This involved improvements to the tests to react to the number of priority levels not being a static value and fixed some bugs in the POSIX and ITRON API implementations. * New API to manage partitions of disk devices. The MBR and GPT partition formats are supported. Currently the GPT support is not implemented. * New API for Universally Unique Identifiers. * RTEMS file system generics have changed removing the {{{rtems_filesystem_evaluate_parent. This call found the parent by evaluating the path ".." on a node how-ever some file systems cannot do this. The {{{rmnod and {{{unlink calls now evaluate the parent path first then the child node with a relative evaluation from the parent. To do this a path length was added to the evaluate call and all file system handlers. Note, some file system such the NFS client still have a work around. * The IMFS file system now handles all POSIX flags correctly in the chmod call and ignores flags that are not permission flags. * The RAM disk device path has changed to {{{/dev/rd[abcd] where the RAM disk drives are numbered 'a', 'b' etc. This brings the RAM disk inline with the hard disk device naming. The flash disk is now {{{/dev/fdd[abcd] and the Non-volatile disk is {{{/dev/nvd[abcd]. * The libblock BD buffer cache has been changed to support demand driven variable size buffers. There is now only a single pool of buffers and the user configures the minimum and maximum buffer size plus the amount of memory in the cache. Driver now have a media block size and file systems can set a block size. Driver need to be able to handle the new block size. * The RTEMS File System or RFS had been added to RTEMS. This is a block based file system capable of handling small to large disks. * Restored the default behaviour of BOOTP/DHCP to loop for-ever when a failure occurs. If an error occurs, such as no suitable interface is detected, a panic occurs and the target resets. Users can call BOOTP directly to handle system specific cases of BOOTP/DHCP that may not loop for-ever. * Libblock devices must be added as block type I/O device. The FAT and RFS file system expect the device nodes to be block. * The IMFS now has a correctly working rename call. It did not handle the rename of a directory that was not empty. The MSDOS file system has a working rename that does not use the link hack. = CPU Support = * SIMD Support for select CPU architectures has been implemented in RTEMS-4.10. This means that RTEMS automatically preserves the SIMD register context across context switches and exceptions/interrupts. Here is more information about [wiki:TBR/UserManual/RTEMS_SIMD_Support SIMD support]. * The powerpc port now supports AltiVec. * The i386 port now supports SSE. = BSPs and Device Drivers = * General * Consolidation of various ''bsp_cleanup()'' implementations and a general push for as many BSPs as possible to use shared implementations. [Effort underway] * All BSPs have been modified to use the BSP Framework to allocate memory to RTEMS and the C Program Heap. It is now assumed that each BSP will provide an implementation of bsp_get_work_area() and it is HIGHLY encouraged that you use the shared one in libbsp/shared. * With the move to have more BSPs provide bsp_get_work_area() and use more of the BSP Framework, some BSPs no longer required BSP specific actions in bsp_start(). Now there is a stub implementation of this method for BSPs not requiring it. * Similarly, with the move to have more BSPs use more of the BSP Framework, most BSPs no longer require a BSP specific implementation of bsp_pretasking_hook() and can use the shared stub implementation. * NOTE: Please check all BSP calls to boot_card. The boot_card call has changes and now only takes a single pointer to the boot command line. If your BSP does not support a command line pass NULL to boot_card. * LibI2C: Bus mutexes will be created now once during registration and not on the fly. Maybe addition of an asynchronous data transfer API. * SD Card Driver: Overall cleanup. * New BSPs * ARM/LPC24XX * Drivers: Clock, Console, SSP (SPI mode), I2C, RTC, Ethernet (transmit DMA not supported), DMA * ARM/LPC32XX * Drivers: Clock, Console, Ethernet, RTC * lm32/lm32_evr * Working drivers for Lattice timer (clock), serial port (console), network * thread aware gdb-stub support * Significant updates to existing BSPs * PowerPC/MPC55XX - Overall cleanup and improvements. * Removal of obsoleted BSPs * PowerPC/mbx8xx - http://www.rtems.com/ml/rtems-users/2008/december/msg00066.html * i386/pck6 - pc386 build variant deemed not worth building anymore * pc386: Added support for the multiboot kernel command line. The options now supported are: * --console=: The options can be console for the PC console, and com1 or com2 for serial port consoles. * --ide=: List of IDE controller to initialise. For example --ide=1,2 for both IDE1 and IDE2 and --ide=2 for just IDE2. * i386 architecture BSPs: * Changed interrupt support to use the generic implementation in {{{c/src/lib/libbsp/shared. They support now also the [http://www.rtems.com/onlinedocs/doxygen/cpukit/html/group__rtems__interrupt__extension.html Interrupt Extension API]. = Test Suites = * Many tests have been added since the 4.9 release series. These tests are focused on improving test coverage. = RTEMS API Changes = This section covers the API changes between the 4.9 and 4.10 release series which are expected to have an impact on application source code. This section does NOT cover additions to the API. * There are no API changes. = Changes Per Point Release = = Release 4.10.3 Changes = This release will be the fourth in the 4.10 series and has not been cut yet. This section describes changes on the 4.10 CVS branch made AFTER 4.10.2 was released. Significant changes between 4.10.2 and 4.10.3 include the following: Issues With Problems Report Numbers * [http://www.rtems.org/bugzilla/show_bug.cgi?id=2010 2010/bsps] - LEON3: change d-cache snoop detect implementation * [http://www.rtems.org/bugzilla/show_bug.cgi?id=2009 2009/bsps] - LEON3: CPU index intialization moved to bspstart.c * [http://www.rtems.org/bugzilla/show_bug.cgi?id=2008 2008/bsps] - LEON3: fix compiler warning in SHM driver * [http://www.rtems.org/bugzilla/show_bug.cgi?id=2006 2006/bsps] - LEON3 BSP MP: may wake one more CPU than expected Issues Without Problems Report Numbers * TBD = Release 4.10.2 Changes = This release is be the third in the 4.10 series and was cut on 13 December 2011. This section describes changes which are in the 4.10.2 release. Significant changes between 4.10.1 and 4.10.2 include the following: Issues With Problems Report Numbers * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1984 1984/doc] - Change CONFIGURE_MINIMUM_STACK_SIZE to CONFIGURE_MINIMUM_TASK_STACK_SIZE. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1968 1968/filesystem] - RFS seek does not move the block referenced. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1961 1961/cpukit] - Use buffer list not pending count to close windows in message queue * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1957 1957/cpukit] - Add missing parentheses on a couple of macro uses for protection * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1957 1954/cpukit] - lm32: Add missing parentheses on a couple of macro uses for protection * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1955 1955/cpukit] - lm32: Convert CPU_swap_u16 to static inline * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1952 1952/cpukit] - Add missing return code to untar.c * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1948 1948/filesystem] - RFS mount options for configuration. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1934 1934/bsps] - libchip ns16650 driver needed to use unsigned type * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1895 1895/cpukit] - Ensure partial ticks are accounted from ticks conversions. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1890 1890/cpukit] - mq_receive and variants should allow NULL for msg_prio. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1867 1867/cpukit] - Support the case where a thread is joinable but calls pthread_exit() before a thread has attempted to join. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1864 1864/doc] Add missing documentation for CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS,, CONFIGURE_MAXIMUM_POSIX_BARRIERS , CONFIGURE_MAXIMUM_POSIX_SPINLOCKS, CONFIGURE_MAXIMUM_POSIX_RWLOCKS. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1855 1855/cpukit] - Correct processing of signals during a blocking pthread_join(). * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1851 1851/doc] - Fix typo in CONFIGURE_MESSAGE_BUFFER_MEMORY example. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1845 1845/bsps] - rtl22xx_t cfg file had invalid syntax * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1839 1839/filesystem] - multiple system calls return incorrect status or incorrectly check permission * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1838 1838/filesystem] - fchown doesn't need the file descriptor opened by O_WRONLY or O_RDWR * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1837 1837/bsps] - add mvme2400 board with 750 CPU to list of supported motorola boards * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1833 1833/bsps] - ne2000 driver does not accept broadcasts; need to fix endianness, too * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1832 1832/libcpu] - Wrong interrupt vector number reported on at91rm9200 * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1827 1827/filesystem] - RFS - mkdir fails with 'test/..' with CWD == root inode * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1812 1812/filesystem] - st_blksize missing in IMFS * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1797 1797/bsps] - malloc() are limited to the 1st 32 MB on the PowerPC BSPs * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1790 1790/cpukit] - Libblock. Flash disk * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1786 1786/bsps] - update mvme5500 for RTEMS4.10 * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1783 1783/bsps] - Clock_delay is dead code * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1781 1781/bsps] - Adding Support for Analog Devices Blackfin 52x DSP processors. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1776 1776/networking] - Higher resolution microtime() for SO_TIMESTAMP * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1775 1775/filesystem] - NFS issues * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1774 1774/filesystem] - IMFS limits filename sizes to mounted directories. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1772 1772/bsps] - mrm332 BSP console default baud rate does not match ROM monitor * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1768 1768/bsps] - i368 direction flag handling * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1766 1766/bsps] - SPARC BSPs get nanoseconds correction * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1763 1763/shell] - hexdump convert does not display data * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1760 1760/misc] - CPP setting in c/make/compilers/gcc-target-default.cfg is broken * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1759 1759/cpukit] - Some POSIX routines not allowing IDs from Classic API Tasks * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1757 1757/filesystem] - RFS does not set iop->size on open. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1756 1756/bsps] - PC386 Timer calibration failure needs retries * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1751 1751/bsps] - ep1a start code has typo * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1750 1750/bsps] - new erc32 console missing polling/interrupt mode lose TX interrupt * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1749 1749/filesystem] - mknod allows more than one file type in the mode flags * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1748 1748/bsps] - SPARC BSPs nanoseconds skipping back when counter wraps during get TOD or uptime call * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1744 1744/doc] - C Users Manual invalid reference to 'rtems_clock_time_value' * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1738 1738/bsps] - uC5282 BSP assumes 64MHz clock * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1722 1722/networking] - FTPD does not handle spaces in filenames * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1381 1381/networking] - Multicast sendto() fails unless a reachable gateway is specified * [http://www.rtems.org/bugzilla/show_bug.cgi?id=779 779/bsp] - powerpc - add parameter to "new exception" interrupt handlers Issues Without Problems Report Numbers * libtests math and mathf did not have a file system configured and thus could not run. = Release 4.10.1 Changes = This release is the second release in the 4.10 series and was cut on 21 July 2011. This section describes changes which are in the 4.10.1 release. Significant changes between 4.10.0 and 4.10.1 include the following: Issues With Problems Report Numbers * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1838 1838/filesystem] - fchmod() does not need a writeable file descriptor. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1837 1837/bsps] - Add mvme2400 board with 750 CPU to list of supported motorola boards * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1833 1833/bsps] - pc386 ne2000 driver had broadcast reception disabled by previous multicast patch. Also includes support for use on big endian CPUs. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1832 1832/libcpu] - On ARM at91rm9200, the bsp_interrupt_dispatch() routine did not determine the correct interrupt source number. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1827 1827/filesystem] - RFS: mkdir fails with 'test/..' with CWD == root ino * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1812 1812/filesystem] - IMFS did not set st_blksize. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1797 1797/bsps] - malloc() are limited to the 1st 32 MB on the PowerPC BSPs * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1790 1790/cpukit] - Libblock. Flash disk: Wrong memset parameters * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1786 1786/bsps] - Update MVME500 BSP * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1783 1783/bsps] - SPARC BSPs - Remove prototypes that do not have bodies * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1781 1781/bsps] - Add [wiki:TBR/BSP/TLL6527M TLL6527M] BSP * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1776 1776/networking] - Higher resolution microtime() for SO_TIMESTAMP * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1775 1775/filesystem] - Address NFS issue where read/write problems when requested bytes greater than nfsStBlksize. Failure to create files and symlinks. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1763 1763/shell] - hexdump convert does not display data * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1774 1774/filesystem] - IMFS limits filename sizes to mounted directories. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1760/misc 1772/bsps] - mrm332 BSP console default baud rate does not match ROM monitor * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1768 1768/bsps] - Add cld to i386 ISR processing before calling C code. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1760/misc 1760/misc] - CPP setting in c/make/compilers/gcc-target-default.cfg is broken * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1759/cpukit 1759/cpukit] - Some POSIX routines not allowing IDs from Classic API Tasks * [https://www.rtems.org/bugzilla/show_bug.cgi?id=1757 1757/filesystem] - Fix a bug in RFS where file size was not handled cleanly on open and then lseek of small amounts to extend a file where lost. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1756 1756/bsps] - PC386 Timer calibration failure needs retries * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1751 1751/bsps] - ep1a start code has typo * [https://www.rtems.org/bugzilla/show_bug.cgi?id=1750 1750/bsps] - new erc32 console missing polling/interrupt mode lose TX interrupt * [https://www.rtems.org/bugzilla/show_bug.cgi?id=1749 1749/filesystem] - mknod allows more than one file type in the mode flags * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1748 1748/bsps] - SPARC BSPs nanoseconds skipping back when counter wraps during get TOD or uptime call * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1744 1744/doc] - C Users Manual invalid reference to 'rtems_clock_time_value' * [https://www.rtems.org/bugzilla/show_bug.cgi?id=1738 1738/bsps] - Add support for dynamic clock speed determination. This algorithm is described in the README file. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1722 1722/networking] - Support spaces in FTPD commands and filenames. * [http://www.rtems.org/bugzilla/show_bug.cgi?id=1381 1381/networking] - Multicast sendto() fails unless a reachable gateway is specified Issues Without Problems Report Numbers * c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors.h was missing extern "C" = Release 4.10.0 Changes = This release is the first in the 4.9 series and was cut on 8 February 2011.