1. 01 Mar, 2016 1 commit
  2. 29 Feb, 2016 1 commit
    • Ben Avison's avatar
      Support for ARMv8 · 9b78d05f
      Ben Avison authored
        The SWP and SWPB instructions have finally been removed in ARMv8, after
        having been deprecated for a very long time. This version adds alternative
        versions of code that used to use them with ones that use LDREX/STREX and
        LDREXB/STREXB instead. Soft-loadable C libraries will choose between
        implementations at runtime using OS_PlatformFeatures; ROM builds only
        include the appropriate version for the target hardware.
        Tested on Raspberry Pi 3.
      Version 5.88. Tagged as 'RISC_OSLib-5_88'
  3. 16 Jan, 2015 1 commit
    • Jeffrey Lee's avatar
      Escape some dollars · 4733881f
      Jeffrey Lee authored
        kernel/s/k_body, s/initmodule - Escape some dollars contained in strings to avoid warnings from objasm
        Resulting binary unchanged
      Version 5.83. Retagged as 'RISC_OSLib-5_83'
  4. 20 Jan, 2014 1 commit
    • Jeffrey Lee's avatar
      Fix 32bitification error · a654e89d
      Jeffrey Lee authored
        kernel/s/k_body - At CopyUpDone in _kernel_system(), a big block of conditional code was converted to unconditional as part of the 32bit conversion process. However one line for setting up the error handler remained conditional, potentially preventing the correct error buffer pointer being set when about to start the child task.
        Tested on BB-xM
      Version 5.79. Tagged as 'RISC_OSLib-5_79'
  5. 26 Jun, 2012 1 commit
    • Jeffrey Lee's avatar
      Improve sanity checks in default_unwind_handler · 7289ddae
      Jeffrey Lee authored
        kernel/s/k_body - Now ignores unaligned PC values, as they either indicate stack corruption or Thumb use (which the unwind handler doesn't support anyway)
        Tested on Raspberry Pi with high processor vectors
      Version 5.70. Tagged as 'RISC_OSLib-5_70'
  6. 16 Feb, 2012 1 commit
  7. 26 Nov, 2011 1 commit
    • Robert Sprowson's avatar
      Review use of StrongARM switch. · 8988adae
      Robert Sprowson authored
      Was being used to conditionalise things which aren't really StrongARM related, now should be read as "support split I+D caches" switch.
      Version 5.65. Tagged as 'RISC_OSLib-5_65'
  8. 28 Oct, 2011 1 commit
    • Ben Avison's avatar
      File handling improvements · 8dcb6880
      Ben Avison authored
        * Added 64-bit file pointer API support, following the LFS spec v1.5
          (see Docs directory). Internally, now uses 64-bit file pointers
          exclusively. For now, the backend still limits you to 4GB-1 files, but
          clients of the C library won't need recompiling again to support larger
          files than this once they use the new API.
        * Fixed a large number of warnings produced in compilation, assembly and
          linking, many of them new and resulting from the improved checks in the
          latest toolchain.
        * Increased the maximum stream buffer size from 16MB to 1GB.
        * Added Hdr:SDFS and Hdr:SDIO to the list of headers used to build swis.h
          if they are present.
        Verified that the new 64-bit file pointer buffering code works using a
        ROM build (since the toolchain makes extensive use of reading, writing
        and seeking internally).
      Version 5.64. Tagged as 'RISC_OSLib-5_64'
  9. 06 Aug, 2011 1 commit
    • Jeffrey Lee's avatar
      Update to work with zero page relocation · 14a49538
      Jeffrey Lee authored
        clib/s/cl_stub, kernel/s/k_body, s/initmodule - Use OS_ReadSysInfo 6 to look up CLibWord/RISCOSLibWord/CLibCounter location each time it's needed instead of using hardcoded addresses. SWI overhead shouldn't be too bad since the zero page areas are rarely used.
        rlib/c/menu - Fix null pointer access when attempting to clear a submenu pointer via menu_submenu(...,...,NULL)
        s/h_workspc - Remove old local definitions of CLibCounter, RISCOSLibWorkSpace and CLibWorkSpace. Use Hdr:PublicWS instead.
        Tested on rev A2 BB-xM
      Version 5.60. Tagged as 'RISC_OSLib-5_60'
  10. 28 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      Improve safety & reliability of callback handling in SharedCLibrary · 96b4a3c3
      Jeffrey Lee authored
        CallBackHandler in kernel.s.k_body now ensures that the stored 'sp' and 'sl' values are word-aligned before attempting to read from 'sl' to verify that it points to a stack chunk. This avoids an exception being triggered in certain situations when alignment exceptions are turned on and a piece of hand-written assembler is using the sl register to store data.
        Further checks should be added to check that 'fp' is valid before calling _kernel_unwind, as _kernel_unwind currently only performs minimal checks that are not always sufficient.
        Tested on rev C2 beagleboard with KinoAmp pre-release.
      Version 5.56. Tagged as 'RISC_OSLib-5_56'
  11. 31 May, 2009 1 commit
    • Peter Naulls's avatar
      Normalise C and assembler include paths · ca954eea
      Peter Naulls authored
       This changes all the C and assembler includes to be a canoncial Unix format.
       Also match include paths to previous commit for EditIntern/DrawIntern/VerIntern
       Finally, also include some minor type fixes (NULL vs 0)
       May be some other paths elsewhere in the source I'm not immediately able to fix.  Will address any issues ASAP, since this is a huge change.
      Version 5.54. Not tagged
  12. 27 Oct, 2004 1 commit
    • Ben Avison's avatar
      Bugfix and system mode support. · 38e071b3
      Ben Avison authored
        * Fixed signed pointer comparison: most top-bit-set pointers passed to
          _kernel_raise_error() were being translated into "Exit called"
        * Stack extension is now permitted in SYS mode; includes support in longjmp()
        Verified that stack extension works.
      Version 5.51. Tagged as 'RISC_OSLib-5_51'
  13. 02 Dec, 2003 1 commit
    • Ben Avison's avatar
      Changes for Customer W; also suitable for building on an Iyonix. · 20ee3c3f
      Ben Avison authored
        * No longer uses aasm to build h.swis.
        * (Only) compatible with new C compilers: assumes const static data is
          placed in separate read-only areas, and suitable command-line switch
          is used to ensure that library static data is never placed in a zero-
          init area.
        * Stack extension code now thread-safe.
        * Heap thread-safety code (in clib) now uses SWP instruction test results
          from stack extension code (in kernel) - as a side effect, the exported
          symbol _swp_available now exists, if you need to use it elsewhere.
        * Slightly closer to having top-bit-set heap addresses working.
        Tested in a Tungsten build, and with Customer W's test suite.
      Version 5.48. Tagged as 'RISC_OSLib-5_48'
  14. 03 Nov, 2003 1 commit
    • Ben Avison's avatar
      Ansilib improvements, and a bugfix to system() · 1c7c8124
      Ben Avison authored
        * _kernel_irqs_disabled() is included in ansilib build, now needed for
          ARM 2 SWP replacement in c.alloc
        * _kernel_entrypoint() for ansilib now initialises relocation offsets in
          root stack chunk, necessary if linking with -zm object code
        * system() implementation now calls DDEUtils_FlushCL if starting a
          short command line - necessary in case previous system() call was a
          long command line directed at a DDE-unaware application
        Ansilib changes tested, DDE change not expected to cause problems.
      Version 5.47. Not tagged
  15. 15 Apr, 2003 1 commit
    • Kevin Bracey's avatar
      * __assert2() added to support for C99 assert(), which displays function name. · f126a1ab
      Kevin Bracey authored
      * _Exit() added.
      * Lots of new <math.h> functions (acosh, asinh, atanh, exp2, expm1,
        ilogb, log1p, log2, logb, scalbn, scalbln, cbrt, erf, erfc,
        lgamma, tgamma, nexttoward, fmaf). Float and long double forms
        of every function added; long double forms are included as another
        library object in the stubs rather than the shared library, as they
        just branch to the double form.
      * Subnormal/NaN/infinity cases in various <math.h> functions improved.
      * Added <tgmath.h>.
      * Headers brought into line with CC 5.54.
      * RMEnsures added to C library initialisation to try to load minimum
        CallASWI, FPEmulator, CLib. No errors reported if load fails.
      * A few pointless inter-file dependencies removed to reduce minimum
        size of included ANSILib.
      Version 5.46. Tagged as 'RISC_OSLib-5_46'
  16. 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'
  17. 22 May, 2002 1 commit
    • 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'
  18. 29 Jan, 2002 1 commit
    • Kevin Bracey's avatar
      Abort and error handling massively overhauled: · 350370aa
      Kevin Bracey authored
        Aborts now give standard error messages (Abort on Data Transfer at... etc)
        *ShowRegs now filled in after aborts
        assert(), abort(), "free failed" and standard signal handlers now use Wimp
          error boxes if in the desktop
        Postmortem button on error boxes to view the postmortem
      Also, x$multiply, x$divide, __rt_sdiv, x$remainder, x$udivide, __rt_udiv and
      x$uremainder optimised.
      Version 5.35. Tagged as 'RISC_OSLib-5_35'
  19. 20 Nov, 2000 1 commit
    • Dan Ellis's avatar
      Improved abort handling · c31e0d58
      Dan Ellis authored
        * One check for 26-bit mode wan't being made, leading to the runtime reporting
          'Uncaught trap:' when a trap should have been catching the abort.  This
          prevented signal handlers from trapping some aborts.
        * When an abort was occuring in SVC mode, the stack wasn't being flattened,
          resulting in all sorts of nasty things when you tried to carry on from a
          signal handler (probably the main reason why you ever see 'No stack for trap
          handler'). SVC and undefined stacks are now flattened.  Further work should
          be done to restore the state of the OS after an abort, but this probably
          requires a new OS call to tidy itself up adequately.
        Built 26-bit versions of the library with new 32-bit compatible entry points and checked abort handling with both sharedclibrary and ansilib.
      Version 5.22. Tagged as 'RISC_OSLib-5_22'
  20. 08 Nov, 2000 1 commit
  21. 09 Oct, 2000 1 commit
    • Stewart Brodie's avatar
      Fixed _kernel_setenv. · d1f38470
      Stewart Brodie authored
        _kernel_setenv(varname, NULL) should delete the variables.  It now does.
        Tested in module.
      Version 5.18. Tagged as 'RISC_OSLib-5_18'
  22. 02 Oct, 2000 1 commit
  23. 16 May, 2000 1 commit
  24. 10 May, 2000 1 commit
  25. 09 May, 2000 1 commit
  26. 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'
  27. 27 Aug, 1998 1 commit
  28. 01 May, 1997 2 commits
  29. 21 Jan, 1997 1 commit
  30. 05 Nov, 1996 2 commits