- 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'
-
- 16 Jan, 2003 1 commit
-
-
Ben Avison authored
Detail: * Improved lookup of application Sprites file: uses Wimp_Extend 13 (in Wimps that support it) to work out the appropriate resolution suffix, and prefixes with "<Wimp$IconTheme>" to allow a future Theme Manager to operate. * Preserves attributes of any existing file when saving sprite or text files. * Changed two null menu handles from 0 to (doucmented) -1. Despite the fact that the Wimp is actually happy with 0 as a null handle here, this was reported as a fault. * Changed rlib.c.version to use VersionNum, deleted thereby-obsoleted rlib.h.VerIntern.version file. Not that rlib.c.version seems to be used at the moment. * Added Kevin's additions to the test directory. Admin: Tested briefly. Version 5.44. Not tagged
-
- 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'
-
- 12 Aug, 2002 1 commit
-
-
Ben Avison authored
Detail: Fixed a stack imbalance in _memcpy that's been there since 32-bitting. Admin: Not tested yet. Version 5.43. Tagged as 'RISC_OSLib-5_43'
-
- 23 Jul, 2002 1 commit
-
-
Steve Revill authored
Detail: This version now builds with cc-5_45. Note: it has not been verified as actually functioning correctly. Admin: Tested in DSL Baseline build. Version 5.42. Tagged as 'RISC_OSLib-5_42'
-
- 22 May, 2002 2 commits
-
-
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'
-
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.
-
- 12 Apr, 2002 1 commit
-
-
Kevin Bracey authored
Version 5.40. Tagged as 'RISC_OSLib-5_40'
-
- 11 Apr, 2002 2 commits
-
-
Kevin Bracey authored
-
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 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'
-
- 22 Feb, 2002 1 commit
-
-
Steve Revill authored
Version 5.36. Tagged as 'RISC_OSLib-5_36'
-
- 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'
-
- 11 Oct, 2001 1 commit
-
-
Steve Revill authored
-
- 23 Aug, 2001 3 commits
-
-
Kevin Bracey authored
-
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'
-
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'
-
- 10 Apr, 2001 1 commit
-
-
Stewart Brodie authored
Detail: The file no longer exists as the UROM definition is passed on the command line now. Admin: 5.29 wouldn't build because of the missing file - didn't catch it during testing for some reason :-( Version 5.30. Tagged as 'RISC_OSLib-5_30'
-
- 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'
-
- 02 Mar, 2001 1 commit
-
-
Stewart Brodie authored
Module library builds of RISC_OSLib are exported during export_libs Detail: 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. Admin: 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'
-
- 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'
-
- 13 Dec, 2000 1 commit
-
-
Stewart Brodie authored
Detail: 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. Admin: Tested in BBE build; does not affect other builds. Version 5.26. Tagged as 'RISC_OSLib-5_26'
-
- 30 Nov, 2000 1 commit
-
-
Kevin Bracey authored
Stubs were using some 26/32-bit switching macros, which is invalid for a component that has to work on all OS versions. Changed to use 26/32-bit neutral code. Stubs issued in first 32-bit library release were using 26-bit forms, but they should only go wrong on a 32-bit system in failure cases (such as the SharedCLibrary being unplugged). Version 5.25. Tagged as 'RISC_OSLib-5_25'
-
- 22 Nov, 2000 1 commit
-
-
Simon Forrest authored
Detail: * (As above.) It would perhaps be a worthwhile change to use LocalRes type functionality in future to allow the UK resources to be chosen when no locale-specific resources exist. Admin: * Changes first applied to Bethany branch version. Resources are copied from UK -> SAfrica. Version 5.24. Tagged as 'RISC_OSLib-5_24'
-
- 21 Nov, 2000 1 commit
-
-
Stewart Brodie authored
Modulewrapped modules will now have the correct 32-bitness flag. Admin: Built. Version 5.23. Tagged as 'RISC_OSLib-5_23'
-
- 20 Nov, 2000 1 commit
-
-
Dan Ellis authored
Detail: * 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. Admin: 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'
-
- 08 Nov, 2000 1 commit
-
-
Kevin Bracey authored
Second attempt at getting 32-bit overlay manager to work. Version 5.21. Tagged as 'RISC_OSLib-5_21'
-
- 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'
-
- 17 Oct, 2000 1 commit
-
-
Kevin Bracey authored
* First attempt at a working 32-bit overlay manager. Untested. Version 5.19. Not tagged
-
- 16 Oct, 2000 1 commit
-
-
Stewart Brodie authored
Detail: This code would only work in 26-bit modes, since it stored the output flags using STR pc, [sp, #4*4]!. When {CONFIG} is 32, it stores the CPSR instead. Admin: Tested in 32-bit Lazarus build - this fixes the RCMMDriver stiffing (because it sits with interrupts off waiting for the C flag to be set on exit from an OS_Byte call it calls through _swix) Version 5.19. Tagged as 'RISC_OSLib-5_19'
-
- 09 Oct, 2000 1 commit
-
-
Stewart Brodie authored
Detail: _kernel_setenv(varname, NULL) should delete the variables. It now does. Admin: Tested in module. Version 5.18. Tagged as 'RISC_OSLib-5_18'
-
- 03 Oct, 2000 1 commit
-
-
Kevin Bracey authored
Version 5.17. Tagged as 'RISC_OSLib-5_17'
-
- 02 Oct, 2000 1 commit
-
-
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'
-