1. 15 Nov, 2002 1 commit
    • Kevin Bracey's avatar
      ROM build fixed for 64-bit stuff. · f207fcb2
      Kevin Bracey authored
      PCI added to swis.h
      alloc.c updated to handle bigger slots (new code merged from ARM libraries)
      Various 32-bit fixes for backtracing, and general trap handling.
      Polite "Application is not 32-bit compatible" message.
      Headers <stdint.h> and <inttypes.h> fixed to work in non-C99 mode.
      txt changed to do new-style Delete behaviour
      
      Version 5.44. Tagged as 'RISC_OSLib-5_44'
      f207fcb2
  2. 22 May, 2002 2 commits
    • 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
    • Ben Avison's avatar
      Created cleanroom implementation of 64-bit integer support for licencing... · 280c51dc
      Ben Avison authored
      Created cleanroom implementation of 64-bit integer support for licencing reasons. Tested fairly thoroughly (in fact, this testing showed up a bug in the old code which unbalanced the stack for 50% of cases where you divided a negative long long by 10). Hopefully should work faster than the old code too!
      
      Reapplied all relevant old tags.
      
      Real commit date 2008-03-18.
      280c51dc
  3. 11 Apr, 2002 1 commit
  4. 21 Mar, 2002 1 commit
    • Kevin Bracey's avatar
      Added the following C99 features: · f464cdae
      Kevin Bracey authored
        * snprintf(), vsnprintf(), vfscanf(), vscanf(), vsscanf()
        * hh, j, z and t printf length modifiers (indicating char, intmax_t, size_t
          and ptrdiff_t respectively)
        * Hexadecimal floating-point printing and scanning (%a/%A)
        * %F printf() specifier (upper-case form of %F)
        * Input/output of NaNs and Infinities
        * imaxdiv_t, imaxdiv(), strtoimax(), strtoumax() (simulated through macros)
        * <fenv.h>: feclearexcept(), fegetexceptflag(), feraiseexcept(),
                    fesetexceptflag(), fetestexcept(), fegetround(), fesetround(),
                    fegetenv(), feholdexcept(), fesetenv(), feupdateenv()
        * FLT_EVAL_METHOD, DECIMAL_DIG
        * hypot(), hypotf(), fabsf(), fdim(), fdimf(), fmax(), fmaxf(), fmin(),
          fminf()
        * INFINITY, NAN, fpclassify(), isfinite(), isinf(), isnan(), isnormal(),
          signbit(), copysign(), copysignf(), nan(), nanf(), nextafter(),
          nextafterf() isgreater(), isgreaterequal(), isless(), islessequal(),
          islessgreater(), isunordered()
      
      This involves adding 36 new entries to the stubs. Current versions of the C
      library will not fault client programs with such larger stubs, but will fill
      in the extra entries with junk. Programs requiring the new functions will have
      to RMEnsure this version of the Shared C Library.
      
      This version of the C library has been fixed so that in future, any extra
      unknown stubs entries will be filled in with a branch to zero, rather than
      corrupted.
      
      Requires cc 5.41 or later, both to build, and to make use of some of the extra
      facilities.
      
      
      Version 5.37. Tagged as 'RISC_OSLib-5_37'
      f464cdae
  5. 21 Nov, 2000 1 commit
  6. 08 Nov, 2000 1 commit
  7. 17 Oct, 2000 1 commit
  8. 02 Oct, 2000 1 commit
  9. 03 Jul, 2000 1 commit
  10. 09 May, 2000 1 commit
  11. 28 Apr, 2000 2 commits
    • Andrew Hodgkinson's avatar
      ...and this one actually works. · 9914d2a6
      Andrew Hodgkinson authored
      Version 5.05. Not tagged
      9914d2a6
    • Andrew Hodgkinson's avatar
      Extensions to modulewrap.s. · c210b256
      Andrew Hodgkinson authored
      Detail:
        UsePathForHelpMessages switch added - if the symbol is defined, Messages
        are obtained from <AppName>:Messages, requiring an <AppName>$Path system
        variable. Previously, they were always fetched from Resources which is
        only correct if the module is in ROM. This only influences the ability to
        give sensible *help output for *help Desktop_<AppName>. In addition, KJB
        added code to export the module private word pointer as
        'module_private_word_ptr'.
      Admin:
        Tested inside PlugPlay RAM module build.
      
      Version 5.05. Tagged as 'RISC_OSLib-5_05'
      c210b256
  12. 07 Mar, 2000 1 commit
    • Stewart Brodie's avatar
      Automatic generation of swis.h now more automatic. · 8851794b
      Stewart Brodie authored
      Detail:
        New script will search the export directory for headers that should
          be exported SWI symbols for it and only cause them to be included
          if it finds the header file.  This means that unless a component
          in your build actually needs the SWI symbols from another component,
          you no longer require that component to be in your modules file
          purely to enable successful generation of swis.h
      Admin:
        Test build performed.
      
      Version 5.03. Tagged as 'RISC_OSLib-5_03'
      8851794b
  13. 25 Nov, 1999 2 commits
  14. 10 Nov, 1999 1 commit
  15. 26 Oct, 1998 1 commit
    • Stewart Brodie's avatar
      Added new -v4 pragma to derived swis.h header file. · f22c5f04
      Stewart Brodie authored
        Moved template for swis.h out of asm source into separate text file.
      Detail:
        s.makehswis: The text which forms the common header for the derived
          swis.h is now stored externally rather than declared inline with
          assembler directives.
        h.swisheaders: The external file containing the common header.
          Now wraps the declarations of _swi and _swix with "#pragma -v4"
          to activate the _swi/_swix parameter checking for those functions.
        Makefile: Added dependency of derived.swis on h.swisheader
      Admin:
        Built and exported.  Tested with cc 5.09 and it was happy with the
        new pragma (it ignores it).  Tested with what will be cc 5.10 and
        it recognised it and started checking _swi and _swix calls.
      
      Version 4.90. Tagged as 'RISC_OSLib-4_90'
      f22c5f04
  16. 01 Oct, 1998 1 commit
    • Kevin Bracey's avatar
      Ursula branch merged. · 9081a0dc
      Kevin Bracey authored
      StrongARMfudge flag removed.
      StrongARM compatibility set according to AMBKernel flag in Hdr:RISCOS
      strftime %U and %W specifiers fixed for week 0.
      
      Version 4.89. Tagged as 'RISC_OSLib-4_89'
      9081a0dc
  17. 27 Aug, 1998 3 commits
  18. 21 Aug, 1998 1 commit
    • Richard Manby's avatar
      Fixed an RMA leak. · 31ab84f2
      Richard Manby authored
      If a module written in C uses function getenv, buffer space
      is allocated in the RMA. This buffer was never freed, leading
      to RMA leakage when the module was 'RMKill'ed or 'RMReInit'ed.
      
      Changes
      
       c.armsys
         added function _terminate_getenv to free the buffer
      
       c.stdlib
         added flag getenv_finalised to the exit_s structure
      
         initialised getenv_finalised in function _exit_init
      
         atexit tests getenv_finalised, calls _terminate_getenv
      
       s.version
         version string changed to 4.86 (27 Jul 1998)
      31ab84f2
  19. 01 May, 1997 2 commits
  20. 21 Jan, 1997 1 commit
  21. 05 Nov, 1996 2 commits