• Kevin Bracey's avatar
    * Added two new library chunks, 4 and 5, which contain extensions to the... · 89eac61e
    Kevin Bracey authored
    * Added two new library chunks, 4 and 5, which contain extensions to the kernel and C library respectively. These have no static data associated with them, just being extensions of the stub tables. The reason for this is to minimise wasted space in programs that don't use the C99 facilities; o.stubs is now a library split into 3 pieces - basic kernel and CLib, extra kernel and extra
    
      CLib; only the bits a program needs get included.
    
    * Previous extensions to the C library stubs revoked - they now stop at _swix;
      all the new C99 functions now live in chunk 4. Anyone using those new
      functions should relink with new stubs and ensure this C library version.
    
    * printf/scanf now support 64-bit types through "ll" and "j" length modifiers.
    
    * Run-time support for VLAs (__rt_allocauto and __rt_freeauto) added. No
      attempt is currently made to clear up on longjmp or to cope with someone
      changing the kernel allocator while a VLA is active. These would be a
      future enhancement.
    
    * Added complete 64-bit run-time support (48 functions) to kernel library;
      these functions are compatible with the ones used by the ARM ADS. Many of
      the simpler functions will not normally be used by the compiler, as it
      will generate inline code. There is scope for improvement by switching
      in MULL and CLZ-using forms of multiply and divide when possible.
    
    * llabs and lldiv added to C library.
    
    * Header files corrected in a few areas, and changed to match the C compiler.
      <stdint.h> and <stdbool.h> now require the compiler to be in C99 mode
      (as detected using __STDC_VERSION__).
    
    
    Version 5.41. Tagged as 'RISC_OSLib-5_41'
    89eac61e
k_body 105 KB