1. 29 Mar, 2015 1 commit
    • Robert Sprowson's avatar
      Retire use of stripnulls · 98a04ed1
      Robert Sprowson authored
      Now ObjAsm can ALIGN with arbitrary numbers, use the same trick FileCore does in its header by padding with newlines.
      Not tagged.
  2. 01 Aug, 2014 1 commit
    • Jeffrey Lee's avatar
      Makefile tweaks · 9ac4cc52
      Jeffrey Lee authored
        Makefile - Get the -depend option from ${STDTOOLOPTIONS}; also allows us to pull in the throwback flag. Fix all ${AS} calls to use ${AFLAGS} so that dependencies are tracked properly.
        Identical to previous binary
      Version 5.83. Retagged as 'RISC_OSLib-5_83'
  3. 08 Jul, 2014 1 commit
  4. 15 Jun, 2014 1 commit
    • Ben Avison's avatar
      Add C99 standard headers wchar.h and wctype.h · 3ed0fb98
      Ben Avison authored
        These were previously languishing in the C compiler sources, but they
        belong in the C library. Note however that the library does not implement
        the functions described in these headers at the present time, so any
        attempt to use them will result in link-time errors.
        Untested (known not working)
      Version 5.83. Tagged as 'RISC_OSLib-5_83'
  5. 01 Sep, 2012 1 commit
    • Jeffrey Lee's avatar
      Generate symbols file during ROM builds · 235e5e7d
      Jeffrey Lee authored
        Makefile - The symbols file that gets generated during the build now gets copied to the install folder for ROM builds. This allows it to be picked up easily by debugging tools.
        Tested with BCM2835, OMAP3 & Disc builds
      Version 5.72. Retagged as 'RISC_OSLib-5_72'
  6. 15 Aug, 2012 1 commit
    • Jeffrey Lee's avatar
      Add VCHIQ to SWIOptions · aaef61b3
      Jeffrey Lee authored
        SWIOptions,feb - Added VCHIQ to SWI header list
        Makefile - Add SWIOptions as a dependency to s.swioptions, so exported swis.h will rebuild correctly if SWIOptions is changed
        Tested briefly
      Version 5.71. Tagged as 'RISC_OSLib-5_71'
  7. 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'
  8. 18 Oct, 2011 1 commit
    • Robert Sprowson's avatar
      Change to use StdTools. · 7f2ef214
      Robert Sprowson authored
      Be more quiet when cleaning.
      STM/LDM changed to Push/Pull.
      Moved an illegal instruction back into ARM's illegal instruction space.
      Version 5.62. Tagged as 'RISC_OSLib-5_62'
  9. 06 Dec, 2010 1 commit
    • Robert Sprowson's avatar
      Import of JPEG support code to RISC_OSLib. · 95424385
      Robert Sprowson authored
      Functionality to query, plot, and transform a JPEG file modelled on the functions provided in 'sprite.c/h'.
      To be used to share more code between !Paint and !Draw.
      Version 5.59. Tagged as 'RISC_OSLib-5_59'
  10. 17 Jul, 2009 1 commit
  11. 26 Jun, 2009 1 commit
    • Ben Avison's avatar
      Build process changes · 6bfb6dbc
      Ben Avison authored
        Install rule now takes an optional INSTTYPE switch: if this is set to
        "libraries" then instead of installing the SCL module, we install the
        headers, stubs, ansilib, risc_oslib and overlay manager libraries. This is
        intended primarily for the tools CD disc image.
        The component is also now cleaned in the "clean" phase. Historically, the
        exception made for this component (and OSLib and Desk, both now binary
        imports) was made on the grounds of speed, and this is not such an issue
        these days. Moreover, we need cleaning to take place on desktop disc builds
        because the SCL must be built and installed in both APCS-R and APCS-32
        versions, which requires an intermediate clean.
        Tested in a Tools CD build.
      Retagged as 'RISC_OSLib-5_54'
      Version 5.54. Not tagged
  12. 07 Jun, 2009 2 commits
    • Ben Avison's avatar
      Build fix · c676e8e6
      Ben Avison authored
        Some users reported problems building the sources if they had other
        installations of perl on their build machine. The build system was using a
        mixture of "perl" and "<Perl$Dir>.perl" to invoke the interpreter, and
        sometimes but not always using "do" to expand system variables on the
        command line. This has now been standardised to use "do <Perl$Dir>.perl in
        all cases, and where possible, to use the makefile macro ${PERL}.
        Checked that a Tungsten build still works on a build machine with no other
        perl installation. "perl" was aliased to an error to ensure it wasn't used.
      Version 5.54. Not tagged
    • Ben Avison's avatar
      Build fix · fecfa2d2
      Ben Avison authored
        Previous commit moved the location of the EditIntern directory within the
        sources but did not update the export rules in the Makefile to match.
        The result was that Edit no longer builds from clean, breaking Tungsten and
        IOMD ROM builds.
        Checked in a TungstenDev build.
      Version 5.54. Not tagged
  13. 07 Mar, 2005 1 commit
  14. 09 Nov, 2004 1 commit
    • Ben Avison's avatar
      BBE-related changes: · aec3b552
      Ben Avison authored
      * clib.rom_link_v doesn't seem to have been kept in step with the changes
        to srcbuild as part of the cross-compilation work: it is no longer the
        job of the verbatim rom link makefie fragment to provide a rom_link rule.
        An appropriate alternative set of forwarding rules have been implemented
      * clib.rom_link_v was never taught about the new C99 library chunks, and the
        relevant s files weren't being exported in the BBE phase either.
      Retagged since this won't affect code generation for existing builds.
  15. 23 Jan, 2004 1 commit
    • Kevin Bracey's avatar
      <ctype.h> * isblank() added. · 8f9cfb8a
      Kevin Bracey authored
                * isprint() now true for non-breaking spaces
      <math.h>  * FP_INFINITY corrected to FP_INFINITE
                * fma(), fmal(), llrint(), llrintf(), llrintl(),
                  llround(), llroundf(), llroundl(),
                  remquo(), remquof(), remquol() added.
                * added inlining for remainder() and fmaf() and various
                  float functions.
                * math_errhandling removed pending overhaul - it was misleading.
                * expm1() and log1p() now provide decent (< 1 ulp) accuracy,
                  rather than only being marginally better than exp(x)-1 and
                * new version of copysign() with standard calling conventions.
                * some C99 functions changed to use infinity/NaNs and exceptions
                  for error handling - see comments in header file about the
                  changes in progress.
      <stdio.h>  * output from %a now correctly rounded
      <stdlib.h> * strtof() and strtold() added.
      <string.h> * strerror() no longer clears _kernel_last_oserror().
      Version 5.49. Tagged as 'RISC_OSLib-5_49'
  16. 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'
  17. 09 Oct, 2003 1 commit
    • Ben Avison's avatar
      Changes required for Customer W. · d08d7612
      Ben Avison authored
        * Implemented the thread-safety mutex macros for the user mode heap.
        * Created ansilibm, a version of ansilib suitable for building modules.
        * Fixed an overestimation of the size of the workspace passed to
          SharedCLibrary_LibInitModule[APCS_32] by the stubs.
        * Fixed bug in SharedCLibrary_LibInitModule[APCS_32] regarding handling of
          non-reentrant modules - if module code was at a higher address than the
          module data, then all the intervening data would be pointlessly copied
          back over itself with no allowance for volatility.
        * Removed the bsearch source file, since it was only required for APCS-A
          which the library has not supported since the year 2000, and which the
          compiler is now no longer able to build.
        ansilibm builds working modules, but thread safety has not been
        extensively tested.
      Version 5.47. Tagged as 'RISC_OSLib-5_47'
  18. 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'
  19. 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'
  20. 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'
  21. 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()
        * hypot(), hypotf(), fabsf(), fdim(), fdimf(), fmax(), fmaxf(), fmin(),
        * 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
      Requires cc 5.41 or later, both to build, and to make use of some of the extra
      Version 5.37. Tagged as 'RISC_OSLib-5_37'
  22. 22 Feb, 2002 1 commit
  23. 23 Aug, 2001 2 commits
  24. 06 Apr, 2001 1 commit
    • Stewart Brodie's avatar
      Fix for strcmp(). · 9d5bf66a
      Stewart Brodie authored
        Fix for RISC_OSLib res() function.
        Version 4.89 featured an improved strcmp() routine that didn't actually
          work properly (bug #4085).  The return values had the wrong sign if this
          optimised code was used and the string contained top-bit set chars.
        Removed that rlib.s.asmdefs hack as the comment in the makefile suggested.
          Nothing needs it any more as the assembler sources that require it now
          get via a -PD argument.
        res_ prefix function was still wrong as it failed to detect valid but wrong
          filenames, hence the "Make$Path not defined" errors in the latest tools
        Fixes Bugzilla bug #4085
        Should fix BaseSW's build problems too.
      Version 5.29. Tagged as 'RISC_OSLib-5_29'
  25. 02 Mar, 2001 1 commit
    • Stewart Brodie's avatar
      Fixed fault in res library in RISC_OSLib. · 8b79f20e
      Stewart Brodie authored
        Module library builds of RISC_OSLib are exported during export_libs
        Ever since res_findname was altered to use <appname>:<resourcename> as
          the filename, the !C++ tool has been broken, because C++:Messages
          returns a different error to "not found" when you try to open it (it
          says it is an invalid filename).  This error is now caught explicitly
          and res_findname falls back to using <appname$Dir>.<resourcename>
          like it did before.
        Required by FrontEnd 1.21 or later.
        Required by !C++ (c++cmd-3_17 or later to function correctly)
      Version 5.28. Tagged as 'RISC_OSLib-5_28'
  26. 13 Dec, 2000 1 commit
    • Stewart Brodie's avatar
      BBE support added. · 0f6d9975
      Stewart Brodie authored
        The BBE export rules for this component are fairly complex.  The rom_link
          bbe rule is overridden in its entirety by clib.rom_link_v as the symbol
          definitions need to be generated and exported during the rom_link phase.
        Tested in BBE build; does not affect other builds.
      Version 5.26. Tagged as 'RISC_OSLib-5_26'
  27. 08 Nov, 2000 1 commit
  28. 17 Oct, 2000 1 commit
  29. 02 Oct, 2000 1 commit
    • Stewart Brodie's avatar
      Uses SYMDEFS files to avoid xtentries(app) and symgen. · 5810d878
      Stewart Brodie authored
        Fixed bug in getenv() relating to macro and numeric system variables.
        Uses SYMDEFS file to avoid messing around with generating little text
          files, generating assembler source, assembling it etc.  abssym et al
          are construct as symbol definition template files and then updated
          directly by the linker ready for export.  The linker can use these
          files directly without needing them to be assembled into AOF format.
        Fixed getenv so that it can read macro and numeric variables.  With these
          variable types, R2 does not equal -length of the variable value, so
          trying to obtain a variable with a larger value than any previously
          read variable would fail.  This is now fixed.
        This module will refuse to build without link 5.19 or later.
        Requires Library 0.54 or later.
        This component will not build with Library 0.53 or earlier.
      Version 5.16. Tagged as 'RISC_OSLib-5_16'
  30. 17 Aug, 2000 1 commit
    • Stewart Brodie's avatar
      Major fix to Makefile. · 8e631acb
      Stewart Brodie authored
        Due to a dependency cockup, the C library wasn't being relinked properly
          during rom_link, so all the symbols exported in abssym files pointed
          to the locations the previous build was linked at.  This is now fixed
          by the addition of a new pseudo-target.
        Tested clean and incremental build and verified the abssym file.
        Checked the build log to ensure relinking was occurring.
        Versions 5.11 and 5.12 of this component are fundamentally flawed.
      Version 5.13. Tagged as 'RISC_OSLib-5_13'
  31. 11 Aug, 2000 1 commit
    • Stewart Brodie's avatar
      Added cut-down target which excludes RISC_OSLib. · ca39be4e
      Stewart Brodie authored
        This component now supports multiple TARGETs being passed in:
          Pass in CLib for a minimal C library excluding RISC_OSLib.
          Pass in RISC_OSLib to continue to build the full thing.
        BuildSys will be modified to make SharedCLibrary build ONLY
          the minimal library - this may mean that products that are
          to be updated may have to alter their components file to
          take the new SharedRISC_OSLib component instead of the
          SharedCLibrary target.
        syms.A_Entries is now automatically generated from C_Entries
          because this is the easiest way to generate the file.  If
          extra symbols are added to C_Entries, they will need to be
          removed by the egrep command which strips out _swi and _swix.
        Makefile tidied to be more careful about ${COMPONENT} and ${TARGET}
        clean_all rule improved to really clean things properly.
        Tested in STB400-2M build and on desktop build.
        Requires BuildSys-2_41 or later.
      Version 5.11. Tagged as 'RISC_OSLib-5_11'
  32. 09 May, 2000 1 commit
  33. 07 Mar, 2000 1 commit
    • Stewart Brodie's avatar
      Automatic generation of swis.h now more automatic. · 8851794b
      Stewart Brodie authored
        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
        Test build performed.
      Version 5.03. Tagged as 'RISC_OSLib-5_03'
  34. 25 Nov, 1999 2 commits
    • Stewart Brodie's avatar
      No longer relies on Sys$ReturnCode for swis.h export · 5c3c5d07
      Stewart Brodie authored
        amu cleverly sets Sys$ReturnCode to zero just prior to executing
          any command from the Makefile, hence checking for Sys$ReturnCode
          does not work.  Script changed to look for AMU$ReturnCode which
          is (in amu 5.06 and later) the return code of the previous command.
          However, since the variable will not be set by earlier versions of
          amu, the behaviour of always copying the file will return until
          amu 5.06 appears in the build.
        Tested manually.
      Version 4.99. Tagged as 'RISC_OSLib-4_99'
    • Stewart Brodie's avatar
      swis.h only re-exported if it has changed since the last export. · ac787e1d
      Stewart Brodie authored
        The Makefile now performs a diff of CLIB:h.swis and derived.swis
          in order to determine whether it needs to export the header or
          not.  This can save compilation time if the header file has not
          changed since it used to cause virtually all C code to recompile.
        s/makeswish now imports Hdr:Machine.<Machine> and executes $GetIO
          to ensure that the Portable module header export functions
      Version 4.98. Tagged as 'RISC_OSLib-4_98'
  35. 12 May, 1999 1 commit
    • Stewart Brodie's avatar
      Fixed up Makefile to export new header files. · 420d0857
      Stewart Brodie authored
        Added protection for cfront inclusion of stdint.h to ensure
          inclusion is faulted.
        Sources which are compiled -fussy will require Norcroft cc version
          5.11 or later in order to avoid the warning about the use of an
          undefined macro in an #if pre-processor statement and to avoid
          the non-ANSI include warning.
      Version 4.94. Tagged as 'RISC_OSLib-4_94'
  36. 29 Oct, 1998 1 commit
    • Kevin Bracey's avatar
      New Japanese NC crash messages. · 1eb62d43
      Kevin Bracey authored
      A feeble hack to get Edit to display Japanese, plus a more serious attempt
      that doesn't work, compiled out.
      Version 4.91. Tagged as 'RISC_OSLib-4_91'
  37. 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.
        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
        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'