- 06 May, 2020 2 commits
-
-
ROOL authored
Detail: alloc.c - Add aligned_alloc(). Since softloaded versions of the C library can't rely on OS_Module 24 being available there is a fallback implementation for older kernels. stdlib.c - Add quick_exit() and at_quick_exit(). Also fix bug in _Exit; a missing loop pre-decrement led to only checking a single (out of array bounds!) vector. time.c - Add timespec_get(). cl_entry2 - 4 new functions added to the stubs. Reduce spare CLib static workspace to absorb the quick_exit() handlers, remove the unused words from armsys.c so they're all accounted for in one space. Admin: In order that the functions can be defined in the stubs now (despite not having a compiler to support C11/C18) they are enabled when 'DDE' is defined so that C library builds work.
-
ROOL authored
Detail: Remove undocumented 't' mode which forcibly timestamped files, since other operating systems use this to denote a text file (as opposed to 'b' binary mode). Add 'x' mode per ISO9899:2018 * only applies to 'w' mode files (not 'r' or 'a') * file must not exist prior to creation * beyond that we rely on RISC OS' policy of only allowing a file to be opened once for writing as our exclusivity Also fix bug in check for 'Protected disc' error, which only trigged for fsnumber_ADFS (8). Admin: Tested in a ROM build with a simple test harness.
-
- 28 May, 2012 1 commit
-
-
Robert Sprowson authored
Ammended time() to match ISO9899 and just return UTC like it says. Inlined the single use of _bbctime() macro. locale.c The timezone within a territory can now be specified as part of the setlocale() function. This uses a qualifier to the already accepted territory name, for an example see test/tzones.c Shock addition of some comments to the locale parsing function. To avoid needing to mess about with C library workspace the timezone and territory are encoded internally into 1 word, with 10 bits allowing up to 1024 territories worldwide. Ripple through to strftime(). time.c localtime() updated to respect locale selection. test/file,gen_inputs,test64 Copyright headers added. Output compared with Windows XP using setlocale versus tzset to shift the program into Pacific time. Version 5.68. Tagged as 'RISC_OSLib-5_68'
-
- 28 Oct, 2011 1 commit
-
-
Ben Avison authored
Detail: * 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. Admin: 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'
-
- 02 Dec, 2003 1 commit
-
-
Ben Avison authored
Detail: * 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. Admin: Tested in a Tungsten build, and with Customer W's test suite. Version 5.48. Tagged as 'RISC_OSLib-5_48'
-
- 15 Apr, 2003 1 commit
-
-
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'
-
- 15 Nov, 2002 1 commit
-
-
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'
-
- 22 May, 2002 1 commit
-
-
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-ti...
-
- 21 Mar, 2002 1 commit
-
-
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...
-
- 29 Jan, 2002 1 commit
-
-
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'
-
- 22 Feb, 2001 1 commit
-
-
Stewart Brodie authored
Another getenv() bug fixed. Detail: stdio.c contains a vastly improved implementation of fwrite. hostsys.h declares _terminate_getenv to remove build warnings. armsys.c contains fix to getenv() to stop Omni dying. Admin: Tested on desktop machine for over a week without incident, including several heavy fwrite users (WebServe, C compiler) fwrite change is documented in Doc/fwrite getenv() bug is Bugzilla bug #28 Version 5.27. Tagged as 'RISC_OSLib-5_27'
-
- 02 Oct, 2000 1 commit
-
-
Kevin Bracey authored
* Correction to static base location in modulewrap - was affecting some DSL 4000 video software. Version 5.15. Tagged as 'RISC_OSLib-5_15'
-
- 26 Oct, 1998 1 commit
-
-
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'
-
- 01 Oct, 1998 1 commit
-
-
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 Aug, 1998 1 commit
-
-
Simon Middleton authored
Merged Spinner branch changes onto trunk (new RCA messages files and Makefile changes). Convert to srccommit while we're at it. Removed a few $Revision's to prevent future spurious merge clashes. Version 4.87. Tagged as 'RISC_OSLib-4_87'
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-