 RealView Libraries and Floating Point Support Guide |
|
| ISO C features missing from microlib3.5. ISO C features missing from microlibThis section provides a list of the major ISO C90 features that are not supported by microlib. - Wide character and multibyte support
All functions dealing with wide characters or multibyte strings are not supported by microlib. A link error is generated if these are used. For example, mbtowc(), wctomb(), mbstowcs() and wcstombs(). All functions defined in Normative Addendum 1 are not supported by microlib. - Operating system interaction
All functions that interact with an operating system are not supported by microlib. For example, abort(), exit(), atexit(), clock(), time(), system() and getenv(). - File I/O
All the stdio functions that interact with a file pointer return an error if implemented. The only exceptions to this are the three standard streams stdin, stdout and stderr. - Configurable locale
The default C locale is the only one available. - Signals
The functions signal() and raise() are provided but microlib does not generate signals. The only exception to this is if the program explicitly calls raise(). - Floating point support
Floating point support is not IEEE 754 compliant. Operations that produce unpredictable output are those that: involve NaNs, infinities or denormals according to proper IEEE 754 rules, raise IEEE exceptions other than through inexact results. Microlib however, does not raise IEEE exceptions but returns an unpredictable result instead.
Additionally, the sign of zero is not treated as significant by microlib and produces unpredictable output. - Position independent and thread safe code
Microlib has no re-entrant variant. Microlib does not provide mutex locks to guard against code that is not thread safe. Use of microlib is not compatible with RWPI compilation modes, and although ROPI code can be linked with microlib, the resulting binary will not be ROPI-compliant overall.
|
|