- 11 Jun, 2012 1 commit
-
-
Robert Sprowson authored
Following an earlier fix, the logic of mktime() has turned out to need reviewing too. To summarise time() -> a UTC time in seconds gmtime() -> breaks down a UTC time into components localtime() -> breaks down a UTC time into local components (tz + DST) mktime() -> converts local components back into UTC time, normalising In mktime(), the current locale (via setlocale()) is considered and used to choose the timezone, assuming an appropriate territory module is loaded. The value of the tm_isdst field is factored into the offset calculation. However, mktime() is also defined as normalising the components of time and updating the caller's block with normalised values, in local time, so the local offset is reapplied at the end. Moved time_to_tm up in the function so mktime() can use it. Corrected/lined up some comments. Also, mktime() no longer forces tm_isdst to -1, it preserves the user's value, so consecutive mktime()s are consistent. Added test to "test/tzones.c", results compared with Windows XP. Version 5.69. Tagged as 'RISC_OSLib-5_69'
-
- 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'
-
- 26 Nov, 2011 1 commit
-
-
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'
-
- 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'
-
- 31 May, 2009 1 commit
-
-
Peter Naulls authored
Detail: 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) Admin: 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
-
- 14 Mar, 2005 1 commit
-
-
Kevin Bracey authored
* Improved stdio to allocate extra FILE objects beyond the static array of 16. Number of open files now only limited by memory and the OS. * FOPEN_MAX in <stdio.h> increased from 8 to 16 to reflect reality. * Minor corrections to comments in <stdio.h>. * Library shutdown tidied for modules. In particular, shutdown of I/O was broken for modules which had been entered as applications. Version 5.53. Tagged as 'RISC_OSLib-5_53'
-
- 07 Mar, 2005 1 commit
-
-
Kevin Bracey authored
Version 5.52. Tagged as 'RISC_OSLib-5_52'
-
- 23 Jan, 2004 1 commit
-
-
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 log(1+x). * 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'
-
- 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'
-
- 03 Nov, 2003 1 commit
-
-
Ben Avison authored
Detail: * _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 Admin: Ansilib changes tested, DDE change not expected to cause problems. Version 5.47. Not tagged
-
- 13 Oct, 2003 1 commit
-
-
Ben Avison authored
Retagged as 'RISC_OSLib-5_47'
-
- 09 Oct, 2003 1 commit
-
-
Ben Avison authored
Detail: * 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. Admin: ansilibm builds working modules, but thread safety has not been extensively tested. Version 5.47. Tagged as 'RISC_OSLib-5_47'
-
- 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'
-
- 17 Jan, 2003 1 commit
-
-
Kevin Bracey authored
Added atoll, strtoll, strtoull, strtoimax, strtoumax, imaxabs and imaxdiv functions to the standard C library. Version 5.45. Tagged as 'RISC_OSLib-5_45'
-
- 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-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'
-
- 11 Apr, 2002 1 commit
-
-
Kevin Bracey authored
* Added C99 functions floorf, ceilf, [l]rint[f], trunc[f], [l]round[f], nearbyint[f] and remainder[f]. * Added macros (only) for sinf, cosf, atanf. * Requires cc 5.43 Version 5.39. Tagged as 'RISC_OSLib-5_39'
-
- 26 Mar, 2002 1 commit
-
-
Kevin Bracey authored
* Added C99 extensions to strftime(). All basic specifiers supported, but "E" and "O" modifiers ignored. * strftime specifiers %c, %X and %x for "C" locale changed to match C99. * Optimised hypot[f]. * Missing hypotf() declaration added to <math.h>. * Fixed Shared C Library - inadvertent change to static data size meant it was incompatible with the stubs. Version 5.38. Tagged as 'RISC_OSLib-5_38'
-
- 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'
-
- 23 Aug, 2001 1 commit
-
-
Kevin Bracey authored
* Fixed C library tty so it can output '\b' (backspace). * Made offsetof() and va_arg() macros work with C++. Version 5.34. Tagged as 'RISC_OSLib-5_34'
-
- 10 May, 2001 1 commit
-
-
Stewart Brodie authored
Detail: strxfrm was passing the buffers to the Territory module SWI the wrong way around so Territory_TransformString copied the destination over the source rather than vice versa! Admin: Reported by <mailto:ian.foster@gps.tandb.co.uk> Fixes Bugzilla bug #4375 Version 5.33. Tagged as 'RISC_OSLib-5_33'
-
- 17 Apr, 2001 1 commit
-
-
Stewart Brodie authored
Initialised so_far in stdio.c to remove compiler warning. Admin: Built. strcmptest() still indicates that strcmp() is working OK! Version 5.32. Tagged as 'RISC_OSLib-5_32'
-
- 11 Apr, 2001 1 commit
-
-
Stewart Brodie authored
Detail: This alternate implementation returned non-zero for equal strings, because the tidyup routine failed to stop examining the differing words when it found matching zero bytes. Admin: Tested in softload C library, and in Lazarus ROM image. strcmp() appears to be working per spec now. Version 5.31. Tagged as 'RISC_OSLib-5_31'
-
- 06 Apr, 2001 1 commit
-
-
Stewart Brodie authored
Fix for RISC_OSLib res() function. Detail: 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 release. Admin: Fixes Bugzilla bug #4085 Should fix BaseSW's build problems too. Version 5.29. Tagged as 'RISC_OSLib-5_29'
-
- 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'
-
- 19 Oct, 2000 1 commit
-
-
Paul Skirrow authored
OS_ReadVarVal. Detail: getenv calls OS_ReadVarVal to read a system variable into a buffer. If the buffer is not big enough it increases the size of the buffer by 256 bytes and tries again. However, the first time it was called, it would have no buffer and would call OS_ReadVarVal with r2=-1. The PRM says this "may" return an error which should be ignored, but if it did not return an error then getenv would not allocate a buffer and the call would fail. This change allocates a 256 byte buffer before OS_ReadVarVal is called. Admin: Untested. Version 5.20. Tagged as 'RISC_OSLib-5_20'
-
- 03 Oct, 2000 1 commit
-
-
Kevin Bracey authored
Version 5.17. Tagged as 'RISC_OSLib-5_17'
-
- 02 Oct, 2000 2 commits
-
-
Stewart Brodie authored
Fixed bug in getenv() relating to macro and numeric system variables. Detail: 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. Admin: 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'
-
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'
-
- 14 Sep, 2000 1 commit
-
-
Stewart Brodie authored
Detail: %#x shows a leading 0x (and %#X leads with 0X) only when the value to be displayed is NOT zero. Admin: Cross-verified against: C89 standard; C9X standard; gcc 2.95 implementation. Built. Version 5.14. Tagged as 'RISC_OSLib-5_14'
-
- 09 May, 2000 1 commit
-
-
Kevin Bracey authored
Version 5.06. Tagged as 'RISC_OSLib-5_06'
-
- 07 Mar, 2000 1 commit
-
-
Kevin Bracey authored
This is the standard RISC OS convention (cf OS_NewLine) - some apps assume it when redirecting output. Version 5.02. Tagged as 'RISC_OSLib-5_02'
-
- 22 Sep, 1999 1 commit
-
-
Stewart Brodie authored
Detail: Somebody had modified the SWI call to Territory_Collate to be done via _swix instead of _kernel_swi, but didn't remove the _kernel_swi_regs variable (r) and didn't change the function return value to return the new "ret" variable instead of r.r[0] which gives arbitrary results - in particular it confuses qsort. Admin: Tested that it builds. Version 4.97. Tagged as 'RISC_OSLib-4_97'
-
- 21 Sep, 1999 1 commit
-
-
Stewart Brodie authored
Detail: If qsort is passed an invalid base pointer and the number of entries is zero, then due to some pointer artihmetic going wrong, it aborts. The fix is to trap zero length arrays and exit quickly. Admin: Required by cmhg prior to version 5.20 which had an explicit fix to prevent triggering this bug. Reportedly this fix is required by PhotoDesk prior to version 3.03. Version 4.96. Tagged as 'RISC_OSLib-4_96'
-
- 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'
-
- 21 Aug, 1998 1 commit
-
-
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)
-
- 21 Jan, 1997 1 commit
-
-
Neil Turton authored
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-