home *** CD-ROM | disk | FTP | other *** search
/ RISCWORLD 7 / RISCWORLD_VOL7.iso / Software / Issue2 / SDL.ARC / !gcc / docs / ULChanges < prev    next >
Encoding:
Text File  |  2004-10-05  |  198.3 KB  |  5,515 lines

  1. Tue Oct  5 16:24:01 2004  Peter Naulls  <peter@chocky.org>
  2.  
  3.     * source/clib/swis.h, source/locale/iconv.c: Update to sync with
  4.       John-Mark Bell's changes.
  5.     * source/clib/netdb.h: Further improve visibility of macros
  6.       for unsupported functions.
  7.     * source/unix/unix.c: Improve comment.
  8.     * Docs/ReadMe: Update iconv URL.
  9.  
  10. Fri Sep 24 00:09:00 2004  John Tytgat  <John.Tytgat@aaug.net>
  11.  
  12.     * objs/Makefile.in: Predefined _GNU_SOURCE as quick fix for Norcroft
  13.       users after the 12 Sept 2004 change in post.c.  Better fix would
  14.       probably be to make sure that UnixLib is compilable with and without
  15.       _GNU_SOURCE defined.
  16.     * source/clib/sys/debug.h (__debug): Added comment what __debug is
  17.       doing.
  18.     * source/clib/unixlib/sigstate.h (valid_address): constify its
  19.       parameters
  20.     * source/signal/post.c (valid_address): Likewise.
  21.     * source/clib/unixlib/unix.h: Minor comment updating.
  22.     * source/scl/_koscli.s: Likewise.
  23.     * source/pthread/_ints.s: Reverted the signed/unsigned compare change
  24.       from 7 Sep 2004 on request from Alex.
  25.     * source/sound/dsp.c: Test result of first __os_cli("RMEnsure...
  26.       call too.
  27.     * source/locale/iconv.c: Likewise; Added CVS/RCS keyword header.
  28.     * source/signal/_signal.s (return_quickly/__h_cback_common): Removed
  29.       unnessary teq pc,pc test (partly revert from 7 Sep 2004 change).
  30.       Feedback from Alex.
  31.     * source/sys/_longlong.s (_ll_ufrom_d, _ll_sfrom_d, _ll_ufrom_f,
  32.       _ll_sfrom_f): Added, based on a patch from Jeffrey Lee for
  33.       gccsdk/gcc/libgcc/lib1aof.s.
  34.     * source/sys/debug.c (__debug): Avoid crash when __u is bogus; Print
  35.       the has_process value too.
  36.     * source/sys/exec.c (execve): execve() after fork() still means that
  37.       there is a parent so has_parent may not be reset.  Also necessary
  38.       to correctly identify when dde_prefix needs to be set & used in
  39.       unix.c (__unixinit, _exit).
  40.     * source/unix/unix.c (__unixinit, _exit): dde_prefix may only be updated
  41.       and used to reset process' CSD when the process isn't a child; Added
  42.       assert that has_parent is always set in a process struct found via
  43.       UnixLib$env; (_exit) Removed test based on has_parent/___vret because
  44.       we want both parent & child to exit via __exit() and not directly
  45.       via __vret (resumely legacy code).
  46.  
  47. Fri Sep 17 19:20:35 2004  Peter Naulls  <peter@chocky.org>
  48.  
  49.     * Docs/ReadMe: Updated documentation.
  50.     * source/clib/fnmatch.h: Updated fmatch.h from glibc.  Needs matching
  51.       C support still.
  52.     * source/clib/langinfo.h, source/clib/nl_types.h,
  53.       source/clib/bits/locale.h, source/clib/locale/nl_langinfo.c:
  54.       Very basic langinfo support.
  55.     * source/clib/netdb.h: Hide getaddrinfo declaration.
  56.     * source/clib/stat.h, source/unix/stat.c: Make stat/stat64
  57.       more like glibc to avoid problems with forward declarations.
  58.     * source/signal/signal.c: Remove warning.  
  59.  
  60. Fri Sep 17 19:20:35 2004  John-Mark Bell <jmb202@ecs.soton.ac.uk>
  61.  
  62.     * source/clib/semaphore.h, source/pthread/sem.c,
  63.       source/clib/pthread.h: Semaphore support.
  64.     * source/clib/netdb.h, source/netlib/getnameinfo.c: getnameinfo
  65.       support.
  66.     * source/clib/resource.h: define values that are implemented.  
  67.  
  68. Sun Sep 12 09:20:31 2004  Peter Naulls  <peter@chocky.org>
  69.  
  70.     * source/signal/post.c: Remove warnings
  71.     * source/sound/dsp.c: Be more careful about opening and closing
  72.       the DRender: filesystem.
  73.     * source/clib/swis.h, source/clib/iconv.h, source/clib/iconv.c:
  74.       Interface to John-Mark Bell's iconv support module, instead
  75.       of requiring the large external iconv library.
  76.  
  77. Thu Sep  9 13:54:55 2004  Peter Naulls  <peter@chocky.org>
  78.  
  79.     * source/clib/unixlib/dev.h, source/unix/dev.c: Add __dsplseek
  80.     * source/sound/dsp.c: Implement __dsplseek, rearrange for
  81.       NULL parameter checking.  Close and reopen device if playback
  82.       values are changed.
  83.     * source/termios/tcgetattr.c: Fix getting of VMIN/VTIME
  84.     * source/termios/tcsetattr.c: Fix setting of VMIN/VTIME
  85.     * source/unix/ioctl.c: NULL arguments to ioctl are ok.
  86.     * source/unix/tty.c: Implement usage of VTIME, correct setting/usage
  87.       of VMIN. 
  88.  
  89. Wed Sep  8 18:04:02 2004  John Tytgat  <John.Tytgat@aaug.net>
  90.  
  91.     * objs/.cvsignore: Added sound directory.
  92.     * source/sys/_mem.s: Go back to v1.4 (i.e. before the Sep 7 2004 changes)
  93.       as there were, yet unidentified, problems with it.
  94.     * source/sound/dsp.c (__dspopen): Enforce DigitalRenderer version 0.51.
  95.     * source/sys/vfork.c: Include sys/debug.h instead of stdio.h when DEBUG
  96.       is defined.
  97.  
  98. Wed Sep  8 10:13:16 2004  Peter Naulls  <peter@chocky.org>
  99.  
  100.     * source/sys/_mem.s: Revert memcpy breakage (shows up on RISC OS 5)
  101.     * source/sound/dsp.c: Improve stereo support, and add additional
  102.       ioctls.
  103.  
  104. Tue Sep  7 18:47:59 2004  Peter Naulls  <peter@chocky.org>
  105.  
  106.     * source/clib/swis.h, source/clib/sys/soundcard.h,
  107.       source/clib/unixlib/dev.h, source/sound/dsp.h,
  108.       source/unix/dev.c: Experimental /dev/dsp support.
  109.  
  110. Tue Sep  7 16:03:14 2004  John Tytgat  <John.Tytgat@aaug.net>
  111.  
  112.     * Docs/ReadMe: Documented UnixLib$env as private UnixLib environment
  113.       variable.
  114.     * source/clib/setjmp.h: Aesthetic change.
  115.     * source/clib/stdlib.h: Likewise.
  116.     * source/clib/unixlib/asm_dec.s: Likewise.
  117.     * source/clib/unixlib/local.h: Likewise.
  118.     * source/stdio/fopen.c: Likewise.
  119.     * source/sys/exec.c: Likewise.
  120.     * source/clib/unistd.h: Added lseek64() prototype.
  121.     * source/clib/sys/stat.h: Added lstat64(), fstat64() prototype.
  122.     * source/clib/sys/un.h: Added RCS/CVS keywords.
  123.     * source/clib/unixlib/asm_dec.s: Moved chunk and error definitions from
  124.       source/module/sul.s to here as SharedUnixLibrary_SWIChunk and
  125.       SharedUnixLibrary_ErrorChunk; Formally defined the
  126.       SharedUnixLib_Error_* errors; Incorrect SWI error exit code was
  127.       generated with objasm; TABified.
  128.     * source/clib/unixlib/sigstate.h: Aesthetic change; declared
  129.       valid_address().
  130.     * source/clib/unixlib/unix.h: Removed __env_read() declaration.
  131.       Adjusted comment on UnixEnv environment prefix.
  132.     * source/common/unixify.c (__unixify): Suffix swapping could access
  133.       memory before start of path.
  134.     * source/module/sul.s: Moved chunk and error definitions to
  135.       source/clib/unixlib/asm_dec.s.
  136.     * source/pthread/_ints.s: Signed -> unsigned compares.
  137.     * source/sys/_mem.s: Likewise; Space injections.
  138.     * source/signal/_signal.s: Added comments; (__h_sigill, __h_sigsegv0,
  139.       __h_sigsegv1, __h_sigsys) removed useless instruction; (__h_event)
  140.       simplified; (__h_cback) exit sequences were not 26 bit system
  141.       compatible; Removed abortpc; CMP -> TEQ if only (non)equivalence test
  142.       is needed.
  143.     * source/signal/post.c (valid_address): Exported.
  144.     * source/sys/_exec.s: Space injections.
  145.     * source/sys/_syslib.s: Introduced startup errors instead of VDU
  146.       writing; Ensuring SUL v1.02 instead of v1.00; Rename __cli ->
  147.       __uixlib_cli, __himem -> __image_rw_himem; a1 (on entry) of OS_Exit
  148.       must point to a filled in RISC OS error block; Define stack_corrupt_msg
  149.       and stack_corrupt conditionally; Calling __unixlib_fatal a 2nd time
  150.       results in panic calling OS_Exit; (stack_overflow_common) executing
  151.       signalhandler stack check *before* validity stack check otherwise you
  152.       get the wrong fatal error message.
  153.     * source/sys/_vfork.s: Added comments.
  154.     * source/sys/mman.c (__munmap_all): Updated comments.
  155.     * source/sys/vfork.c: Minor cleanup.
  156.     * source/unix/unix.c: Removed __unixlib_cli declaration; Be more
  157.       paranoid on the validity of __u as it might be an UnixLib$env value
  158.       picked up by another TaskWindow UnixLib based process doing fork()s.
  159.     * source/unix/tty.c (__ttyioctl): Removed excessive break usage. 
  160.     
  161. Mon Sep  6 09:35:03 2004  Peter Naulls  <peter@chocky.org>
  162.  
  163.     * source/clib/pthread.h: Fix spelling mistakes. Add comment about
  164.       Wimp_Poll.
  165.     * source/unix/open.c, source/unix/stat.c: Add some optional debug.
  166.     * source/unix/select.c: Prevent blocking by judicious use pthread
  167.       control.
  168.     * source/unix/unix.c: Prevent atexit handlers being called more
  169.       than once.
  170.  
  171. Mon Aug 16 22:31:00 2004  John Tytgat  <John.Tytgat@aaug.net>
  172.  
  173.     * source/gcccompat/_divdi3.s: Return useful remainder in a3 & a4.
  174.     * source/gcccompat/_udivdi3.s: Likewise.
  175.     * source/gcccompat/_moddi3.s: Updated comment.
  176.     * source/gcccompat/_umoddi3.s: Likewise.
  177.     * source/sys/_longlong.s: Defined _ll_udiv, _ll_urdv, _ll_sdiv and
  178.       _ll_srdv.
  179.  
  180. Mon Aug 16 21:10:06 2004  John Tytgat  <John.Tytgat@aaug.net>
  181.  
  182.     * gen-makefies.pl: Create source.clib.o directory for Norcroft case.
  183.     * objs/Makefile.in: Remove useless quotes for the .c.o and .c.s rules.
  184.     * source/clib/errno.h: TABing.
  185.     * source/clib/signal.h: Likewise.
  186.     * source/clib/limits.h: Defined RE_DUP_MAX as 0x7fff instead of
  187.       _POSIX2_RE_DUP_MAX (same definition as in regex.h).
  188.     * source/clib/math.h: Norcroft compatibility; Added __sincos()
  189.       declaration.
  190.     * source/clib/wchar.h: Definition of WCHAR_MIN/WCHAR_MAX was not
  191.       the same as in stdint.h.
  192.     * source/clib/sys/param.h: Conditional define of MAXHOSTNAMELEN.
  193.     * source/clib/sys/time.h: "#define __timeval_defined" -> "#define
  194.       __timeval_defined 1".
  195.     * souce/clib/unixlib/asm_dec.s: Added advise concerning signal list
  196.       definition.
  197.  
  198. Sun Aug  8 12:57:59 2004  Graham Shaw  <gdshaw@sagitta.demon.co.uk>
  199.  
  200.     * source/unix/features.c: Make environment variables work
  201.       as advertised.
  202.  
  203. Sun Aug  8 12:28:48 2004  Peter Naulls  <peter@chocky.org>
  204.     * source/clib/features.h: Stop pretending we have full unicode
  205.       support.
  206.     * source/clib/netinet/in.h: Include sys/param.h for type visibility
  207.       as per glibc.
  208.     * source/clib/stdio.h: define putc_unlocked.
  209.     * source/common/riscosify.c: Add a case for filenames that
  210.       GCC 3.4 sometimes constructs.
  211.  
  212. Fri Jun 18 22:56:14 2004  Alex Waugh  <alex@alexwaugh.com>
  213.  
  214.     * unix/lseek.c, unix/fstat.c: Add trailing newline.
  215.  
  216. Fri Jun 18 19:21:03 2004  Nick Burrett  <nick@dsvr.net>
  217.  
  218.     * errno.h: Drop requirement on unixlib/features.h as there is
  219.     nothing in this header that is C++ incompatible.
  220.  
  221. Sat Jun 12 11:56:18 2004  Peter Naulls  <peter@chocky.org>
  222.  
  223.     * source/Makefile.in: Some files require _GNU_SOURCE to be defined.
  224.  
  225. Sat Jun 12 09:36:14 2004  Peter Naulls  <peter@chocky.org>
  226.  
  227.     * source/regex.c: Fix type usage
  228.     * source/clib/math.h, source/clib/clib/bits/mathcalls.h,
  229.       source/clib/bits/mathdef.h, source/clib/mathinline.h,
  230.       source/clib/bits/nan.h: Add glibc math headers.
  231.     * source/clib/machine/huge_val.h, source/clib/machine/nano.h:
  232.           Remove old math headers.
  233.     * source/clib/netdb.h: Add missing EAI_* defines.
  234.     * source/clib/regex.h: Updated header from glibc
  235.     * source/clib/stdlib.h: Extra include for sys/types.h as per
  236.       glibc to make correct types visible.
  237.     * source/clib/bits.in.h: Avoid upsetting C++.
  238.     * source/clib/unixlib/features.h: Include definitions from glibc,
  239.       fix wording.
  240.     * source/math/j1.c, source/math/fmod: Prevent warnings
  241.     * source/netlib/getpeernam.c: Update funtion header to match
  242.       declaration
  243.     * source/unix/fstat.c, source/unix/lseek.c, source/unix/lstat.c:
  244.       Add 64-bit variants.
  245.     * source/clib/unixlib/unix.h, source/common/funcallerr.c,
  246.       source/resource/initialise.c, source/resource/setprior.c,
  247.       source/resource/ulimit.c, source/signal/_signal.s,
  248.       source/sys/_alloca.s, source/sys/_exec.s, source/sys/_syslib.s,
  249.       source/sys/_vfork.s, source/sys/brk.c, source/sys/debug.c,
  250.       source/sys/exec.c, source/sys/stackalloc.c, source/unix/unix.c:
  251.       Rename __base, __lomem, __himem, and other unixlib internal
  252.       values delcared in unix.h as per discussion GCCSDK mailing list. 
  253.  
  254. Sun Jun  6 13:22:36 2004  John Tytgat  <John.Tytgat@aaug.net>
  255.  
  256.     * source/unix/uname.c: support for extracting RISC OS part number.
  257.  
  258. Sat Jun  5 21:49:35 2004  John Tytgat  <John.Tytgat@aaug.net>
  259.  
  260.     * source/netlib/inet_ntoa.c (inet_ntoa): sprintf() used incorrect
  261.       conversion specification.
  262.  
  263. Sat Jun  5 15:58:28 2004  John Tytgat  <John.Tytgat@aaug.net>
  264.  
  265.     * source/math-asm/_sincos.s (__sincos): Results got written to
  266.     incorrect pointers.
  267.  
  268. Tue Jun  1 19:42:03 2004  Nick Burrett  <nick@dsvr.net>
  269.  
  270.     * kernel.h: Fix __THROW attribute positioning.
  271.  
  272. Mon May 31 14:40:09 2004  Alex Waugh  <alex@alexwaugh.com>
  273.  
  274.     Based on a patch from John-Mark Bell <jmb202@ecs.soton.ac.uk>
  275.     * source/sys/_syslib.s: Limit max size of heap dynamic area according
  276.       to __dynamic_da_max_size or progname$HeapMax variables.
  277.     * source/clib/unixlib/features.h (__dynamic_da_max_size): Add
  278.       declaration.
  279.     * Docs/ReadMe: Document max size settings.
  280.  
  281. Tue May 18 22:43:00 2004  John Tytgat  <John.Tytgat@aaug.net>
  282.  
  283.     * source/signal/post.c: moved __ul_errbuf and __ul_fp_registers
  284.       declaration to errno.h; added #include errno.h; beautify output
  285.       of write_backtrace().
  286.     * source/clib/errno.h: updated __ul_errbuf declaration; added
  287.       __ul_fp_registers declaration;  __ul_errbuf and __ul_fp_registers
  288.       are ony declared when __UNIXLIB_INTERNALS is defined.
  289.  
  290. Sun May 16 19:47:14 2004  Alex Waugh  <alex@alexwaugh.com>
  291.  
  292.     * signal/sigsuspend.c: Suspend only the current thread not the
  293.       entire process.
  294.     * signal/sleep.c: Likewise.
  295.     * sys/_syslib.s: Add missing IMPORTs.
  296.  
  297. Sun May 16 13:45:07 2004  James Bursa  <bursa@users.sourceforge.net>
  298.  
  299.     * signal/_signal.s: Store fp registers on a fp exception.
  300.     * signal/post.c (post_signal): Print error buffer and fp registers.
  301.  
  302. Wed May 12 23:01:30 2004  Alex Waugh  <alex@alexwaugh.com>
  303.  
  304.     * signal/_signal.s (__setup_signalhandler_stack): Support calling from
  305.       USR mode.
  306.     * sys/_syslib.s: Call __setup_signalhandler_stack before raising a
  307.       signal on a stack overflow.
  308.  
  309. Mon May 10 13:52:40 2004  Peter Naulls  <peter@chocky.org>
  310.  
  311.     * clib/setjmp.h: Reinstate setjmp macro so it doesn't cause problems.
  312.     * clib/stdlib.h: Allow strtoll/ull to be seen.  This is a work around;
  313.       probably the whole of the stdlib.h functionality needs to be
  314.       rearranged to bring it into line with glibc.
  315.  
  316. Mon May 10 11:59:58 2004  Peter Naulls  <peter@chocky.org>
  317.  
  318.     * clib/netdb.h: Disable unimplemented functions.
  319.     * clib/setjmp.h: Remove setjmp macro - it causes problems with C++.
  320.     * clib/stdlib.h: Remove ato* macros which cause problems with C++,
  321.     and replace with inline fucntions from glibc headers.  Also change
  322.     other declarations as per glibc.
  323.     * clib/strings.h: Fix ordering of #endif at the end.
  324.     * unistd/lockf.c: Add lockf() function.
  325.  
  326. Mon May  3 18:32:45 2004  James Bursa  <james@semichrome.net>
  327.  
  328.     * unix/dev.c: Fix for fopen() then subsequent fread() on a directory
  329.       returning nonsense.
  330.  
  331. Sat May 01 23:33:35 2004  John Tytgat  <John.Tytgat@aaug.net>
  332.  
  333.     * source/clib/errno.h: Added EILSEQ.
  334.     * source/sys/errlist.c: Likewise.
  335.  
  336. Wed Apr 21 20:42:11 2004  Alex Waugh  <alex@alexwaugh.com>
  337.  
  338.     * clib/fcntl.h: Don't define O_BINARY or O_TEXT if _POSIX_SOURCE.
  339.     * netlib/accept.c: Remove unecessary use of O_BINARY.
  340.     * netlib/socket.c: Likewise.
  341.  
  342. Tue Apr 20 21:57:51 2004  John Tytgat  <John.Tytgat@aaug.net>
  343.  
  344.     * source/assert.c (__assert_fail): Renamed to __assert2 & paremeter
  345.       order shuffling to match Norcroft SCL implementation.
  346.     * source/clib/assert.h: Likewise.  Also using __func__ to print
  347.       function name.
  348.     * source/wchar/wctype.c: Added RCS header.
  349.  
  350. Sat Apr 17 11:50:11 2004  Nick Burrett  <nick@dsvr.net>
  351.  
  352.     * sys/byteorder.h: Add __THROW attribute.
  353.     * sys/file.h, sys/ioctl.h, sys/mman.h, sys/netdb.h: Likewise.
  354.     * sys/poll.h, sys/resource.h, sys/select.h: Likewise.
  355.     * sys/stat.h, sys/statfs.h, sys/syslog.h, sys/time.h: Likewise.
  356.     * sys/timeb.h, sys/times.h, sys/uio.h: Likewise.
  357.     * sys/utsname.h, sys/wait.h: Likewise.
  358.  
  359. Thu Apr 15 23:09:30 2004  Alex Waugh  <alex@alexwaugh.com>
  360.  
  361.     * assert.h: __THROW should appear before any __attribute__.
  362.     * math.h, setjmp.h, stdio.h, stdlib.h, string.h: Likewise.
  363.     * time.h, unistd.h: Likewise.
  364.  
  365. Mon Apr 12 14:02:24 2004  Nick Burrett  <nick@dsvr.net>
  366.  
  367.     * alloca.h: Add GCC-specific small optimiser hints to function
  368.     definitions.
  369.     * assert.h, complex.h, ctype.h, dirent.h, fcntl.h: Likewise.
  370.     * fenv.h, getopt.h, glob.h, grp.h, inttypes.h: Likewise.
  371.     * kernel.h, locale.h, math.h, setjmp.h, signal.h: Likewise.
  372.     * stdio.h, stdlib.h, string.h, time.h: Likewise.
  373.     * pwd.h, unistd.h: Likewise.
  374.  
  375. Mon Apr 12 10:37:35 2004  Nick Burrett  <nick@dsvr.net>
  376.  
  377.     * unix/unix.c (_exit): Set DDEUtils Prefix when parent process
  378.     exits.  Add an assertion failure if __u is NULL.
  379.     (__unixinit): Add more explanatory comments.
  380.  
  381. Sat Apr 10 11:23:16 2004  Nick Burrett  <nick@dsvr.net>
  382.  
  383.     * stdint.h (uintptr_t): Move declaration to be not influenced
  384.     by __intptr_t_defined.
  385.  
  386. Sat Mar 27 12:58:06 2004  Peter Naulls  <peter@chocky.org>
  387.  
  388.     * ar.h: Add Unix 'ar' format support header.
  389.  
  390. Wed Mar 24 22:22:01 2004  Alex Waugh  <alex@alexwaugh.com>
  391.  
  392.     * source/pthread/_context.s (pthread_call_every): Check that our
  393.       environment handlers are in place before setting a callback.
  394.     * source/signal/_signal.s (__h_cback): Check that the return PC is
  395.       within the wimpslot.
  396.     * source/sys/_syslib.s (__upcall_handler_addr): New variable.
  397.  
  398. Wed Mar 17 20:00:14 2004  John Tytgat  <John.Tytgat@aaug.net>
  399.  
  400.     * !Help: Consisting spelling & notation.
  401.     * Docs.ReadMe: Added "Name registration" section.
  402.     * source/clib/sys/cdefs.h: Avoid annoying Norcroft compiler warning
  403.       on undefined #define symbol to be evaluated as 0.
  404.     * source/clib/unixlib/unix.h: Changed comment on dde_prefix.
  405.     * source/signal/sigvec.c: Static variables wrapped_handlers and
  406.       wrapped_masks can be (temporary ?) disabled too.
  407.     * source/stdlib/realpath.c: Minor cleanup.
  408.     * source/sys/exec.c: Beautify comments.
  409.     * source/sys/vfork.c (free_process): Free process' dde_prefix.
  410.     * source/unix/unix.c (_exit): Free process' dde_prefix. Restore
  411.       DDEUtils' Prefix to what it was at startup (instead of resetting
  412.       it what the documentation is saying).  Also don't set DDEUtils'
  413.       Prefix at startup with "@" because this triggers bugs in its path
  414.       handling on some versions of DDEUtils module.
  415.     
  416. Tue Mar 16 19:03:59 2004  Nick Burrett  <nick@dsvr.net>
  417.  
  418.     * unixlib/unix.h (__exec_cli): Add prototype.
  419.  
  420. Sat Mar 06 13:05:58 2004  Graham Shaw  <gdshaw@sagitta.demon.co.uk>
  421.  
  422.     * source/sys/exec.c (execve): Restore wimpslot and himem to
  423.       previous values before executing the command. Prevents a program
  424.       exec()ed from a vfork()/exec()ed child process from overwriting
  425.       the original parent.
  426.     * source/sys/_exec.s (__exec_cli): New function.
  427.     * source/sys/_syslib.s (__env_wimpslot): Separate out from
  428.       __env_riscos_and_wimpslot.
  429.  
  430. Sun Feb 29 16:36:30 2004  Alex Waugh  <alex@alexwaugh.com>
  431.  
  432.     * source/clib/pthread.h: Make __pthread_start/stop_ticker
  433.       visible to user programs.
  434.     * source/clib/unixlib/local.h: Clarify description for
  435.       __RISCOSIFY_FILETYPE_NOT_SET.
  436.  
  437. Mon Feb 23 16:04:06 2004  Peter Naulls  <peter@chocky.org>
  438.  
  439.     * source/clib/unixlib/sigstate.h, source/unix/close.c,
  440.       source/signal/_coredump.s, source/signal/_signal.s,
  441.       source/signal/post.c: Enable writing of backtraces etc to
  442.       stderr.  This code isn't new, but wasn't previously enabled.
  443.       It is also somewhat imperfect, and doesn't handle all cases
  444.       on RISC OS 4 and 5, esp. register dumps.  You are encouraged to
  445.       improve it.
  446.  
  447. Sat Feb 21 20:58:10 2004  Peter Naulls  <peter@chocky.org>
  448.  
  449.     * source/clib/strings.h: Remove extra #ifdef
  450.  
  451. Sun Feb 15 18:45:16 2004  Peter Naulls  <peter@chocky.org>
  452.  
  453.     * source/clib/unixlib/types.h, source/clib/math.h,
  454.       source/clib/stdlib.h: Use __extension__ for long long types
  455.       to avoid warnings.
  456.     * source/clib/strings.h, source/clib/string.h: Handle
  457.       includes as GLIBC does.
  458.  
  459. Mon Feb 09 21:09:02 2004  Alex Waugh  <alex@alexwaugh.com>
  460.  
  461.     * source/stdlib/realpath.c (realpath): Preserve any ,xyz extension.
  462.  
  463. Sun Feb 08 00:19:58 2004  Alex Waugh  <alex@alexwaugh.com>
  464.  
  465.     * Docs/ReadMe: Added sections on stack/heap changes and pthreads.
  466.  
  467. Sat Feb 07 18:07:37 2004  Alex Waugh  <alex@alexwaugh.com>
  468.  
  469.     * source/common/riscosify.c (__sfixfind): Add length parameter to ease
  470.       calling from rname.c
  471.     * source/clib/unixlib/local.h: Likewise.
  472.     * source/common/unixify.c: Likewise.
  473.     * source/unix/dirent.c: Likewise.
  474.     * source/unix/unlink.c: Likewise.
  475.  
  476. Sun Jan 18 16:08:06 2004  Alex Waugh  <alex@alexwaugh.com>
  477.  
  478.     * source/netlib/socketpair.c: Fix syntax error.
  479.  
  480. Thu Jan 15 00:18:59 2004  John Tytgat  <John.Tytgat@aaug.net>
  481.  
  482.     * Setup,feb: Removed.
  483.     * gen-makefiles.pl: UnixHdr$Dir -> Unix:
  484.     * objs/Makefile.in: Likewise.
  485.     * source/clib/swis.h: Added DDEUtils_ReadPrefix.
  486.     * source/clib/netinet/tcp.h: Bitfields can only be taken from int so
  487.       slightly different struct tcphdr & tcp_info definition (patch from
  488.       Theo Markettos <theo@markettos.org.uk>).
  489.     * source/clib/sys/socket.h: Added SOMAXCONN #define (patch from Theo
  490.       Markettos <theo@markettos.org.uk>).
  491.     * source/clib/unixlib/local.h: Added __get_dde_prefix().
  492.     * source/clib/unixlib/unix.h: Added dde_prefix to "struct proc" and
  493.       increased _PROCMAGIC to 0xfedcfa63.
  494.     * source/common/funcallerr.c (__funcall_error): sizeof() usage.
  495.     * source/common/prefix.c (__get_dde_prefix): New file.
  496.     * source/netlib/socketpair.c: Reident.
  497.     * source/sys/vfork.c: save DDEUtils_Prefix value during __vfork() and
  498.       restore it at __vexit().
  499.     * source/unix/chdir.c (chdir): make use of __get_dde_prefix() instead of
  500.       __getenv_from_os("Prefix$Dir").
  501.     * source/unix/getcwd.c (getcwd): Likewise.
  502.     * source/unix/unix.c (__unixinit): Small src cleanup; Call only
  503.       DDEUtils_Prefix("@") when there isn't a DDEUtils_Prefix defined.
  504.  
  505. Wed Jan 07 20:58:37 2004  Nick Burrett  <nick@dsvr.net>
  506.  
  507.     * getopt.h: Prevent inclusion of ctype.h.
  508.  
  509. Mon Jan 05 23:50:26 2004  John Tytgat  <John.Tytgat@aaug.net>
  510.  
  511.     * Docs/ReadMe: Added section on "UnixFS$/xxx" environment variables.
  512.     * source/regex.c (re_comp, re_exec): Enabled for old BSD4.2 based
  513.       sources (like CVS).
  514.     * source/strtoll.c(strtoll): Enabled for Norcroft compiler.
  515.     * source/strtoull.c(strtoull): Likewise.
  516.     * source/clib/limits.h(LONG_LONG_MIN, LONG_LONG_MAX, QUAD_MAX): Likewise.
  517.     * source/clib/sys/syslog.h: Removed _PATH_LOG definition as it doesn't
  518.       get used (we log everything via the Syslog module if present).
  519.     * source/clib/unixlib/unix.h(__getenv): Removed.
  520.     * source/unix/getenv.c(__getenv): Likewise.  Its CACHE parameter was
  521.       always set to 1 so we could clean up this source a bit.
  522.     * source/scl/_koscli.s: v6 doesn't need to be preserved.
  523.     * source/unix/unix.c(_exit): Only resetting DDEUtils_Prefix when current
  524.       process doesn't have a parent.
  525.  
  526. Sat Jan 03 00:11:39 2004  John Tytgat  <John.Tytgat@aaug.net>
  527.  
  528.     * source/clib/termios.h: Redefined the B* baud values so that they fit
  529.       into a char (= variable type of sg_ispeed and sg_ospeed in struct
  530.       sgttyb).  Renamed __ispeed and __ospeed into c_ispeed and c_ospeed.
  531.     * source/clib/unixlib/unix.h: Removed useless __bsd_speeds.
  532.     * source/termios/cfgetispee.c(cfgetispeed): Added argument checking
  533.       and renamed __ispeed and __ospeed into c_ispeed and c_ospeed.
  534.     * source/termios/cfgetospee.c(cfgetospeed): Likewise.
  535.     * source/termios/cfsetispee.c(cfsetispeed): Likewise.
  536.     * source/termios/cfsetospee.c(cfsetospeed): Likewise.
  537.     * source/termios/tcgetattr.c(tcgetattr): __bsd_speeds is no longer
  538.       needed.
  539.     * source/termios/tcsetattr.c(tcsetattr): Likewise.
  540.     * source/unix/tty.c: Removed convert_baud_rate().  Renamed __ispeed and
  541.       __ospeed into c_ispeed and c_ospeed.  sg_ospeed gets now updated
  542.       in __ttyioctl(TIOCGETP) which makes password typing in getpass()
  543.       invisible.
  544.     * source/unix/unix.c(__unixinit): Got rid of compiler warnings.
  545.  
  546. Tue Dec 30 12:02:35 2003  Peter Naulls  <peter@chocky.org>
  547.  
  548.     * source/wchar/wcstoul.c: Removed file containing duplicate
  549.       function.
  550.  
  551. Mon Dec 29 18:59:40 2003  Peter Naulls  <peter@chocky.org>
  552.  
  553.     * source/alloc.c, source/memchr.c, source/qsort.c, source/clib/math.h,
  554.       source/common/objattr.c, source/common/serial.c, source/common/stat.c,
  555.       source/locale/setlocale.c, source/math/j0.c, source/math/jn.c,
  556.       source/netlib/inet_ntoa.c, source/netlib/shutdown.c,
  557.       source/netlib/socketpair.c: Remove warnings
  558.  
  559. Mon Dec 29 17:51:43 2003  Peter Naulls  <peter@chocky.org>
  560.  
  561.     * source/math/modf.c, source/math/modff.c, source/netlib/ntop.c,
  562.       source/netlib/pton.c, source/wchar/wcstoq.c, source/wchar/wcstouq.c:
  563.       Remove files containing duplicate functions.
  564.  
  565. Mon Dec 29 16:34:25 2003  Peter Naulls  <peter@chocky.org>
  566.  
  567.     * source/sys/_vfork.s: Alias fork to vfork as a symbol
  568.     * source/clib/sys/dirent.h: sys/dirent.h doesn't exist in glibc; only
  569.       dirent.h.
  570.     * source/clib/dirent.h: Define MAXNAMLEN
  571.     * source/clib/sys/un.h: Add, even though it isn't supported, it is
  572.       required to keep some programs happy.
  573.     * source/pwd/pwdread.c: Improve behaviour of setting of pwd structure,
  574.       including determining username under Select.
  575.  
  576. Mon Dec 22 21:29:50 2003  John Tytgat  <John.Tytgat@aaug.net>
  577.  
  578.     * Docs/ReadMe: Documented the new uid feature.
  579.     * source/clib/unixlib/unix.h (__unixlib_fatal): Documented the NULL
  580.       parameter behaviour.
  581.     * source/sys/_syslib.s (__unixlib_fatal): Calling with NULL parameter
  582.       works again.
  583.     * source/unix/features.c (features): Added uid feature (was formally
  584.       known as Unix$uid).
  585.     * source/unix/unix.c (__unixinit): More informative __unixlib_fatal()
  586.       error messages; moved Unix$uid support to features.c; removed Unix$tty
  587.       support (use command line redirection).
  588.  
  589. Sun Dec 21 12:21:56 2003  Stefan Bellon  <sbellon@sbellon.de>
  590.  
  591.     * crypt/crypt_util.c (setkey_r): Add cast to fix Norcroft compilation.
  592.  
  593. Mon Dec 15 16:52:40 2003  Peter Naulls  <peter@chocky.org>
  594.  
  595.     * common/riscosify.c: leaf_len becomes negative in some odd
  596.       cases generated by 'make'.  Don't Try to copy leaf then.
  597.  
  598. Thu Dec 4 22:25:16 2003  David Marston  <david@illudium.org.uk>
  599.  
  600.     * sys/_jmp.s: Add comment.
  601.     * sys/_vfork.s: Correct pid offset in jmp_buf.
  602.     * sys/vfork.c: Likewise.
  603.  
  604. Sun Nov 23 22:05:07 2003  John Tytgat  <John.Tytgat@aaug.net>
  605.  
  606.     * source/clib/unixlib/asm_dec.s: Added
  607.       XFilter_(De)Register{Pre|Post}Filter SWI numbers.
  608.     * source/clib/unixlib/unix.h: Renamed __wimpprogram to __taskhandle.
  609.     * source/pthread/_context.s: Used NAME macro; pthread routines now
  610.       work for Wimp/TaskWindow applications too.
  611.     * source/pthread/_exit.s: Used NAME macro.
  612.     * source/pthread/_ints.s: Likewise.
  613.     * source/pthread/_yield.s: Likewise.
  614.     * source/pthread/cond.c: Added #include <stdio.h> when PTHREAD_DEBUG
  615.       is #define'd.
  616.     * source/sys/_syslib.s: Instead of setting __wimpprogram to 1 when
  617.       we're multitasking, we fill the non zero taskhandle value in
  618.       __taskhandle.
  619.     * source/signal/sleep.c: Renamed __wimpprogram to __taskhandle.
  620.     * source/time/getitmr.c: Likewise.
  621.     * source/time/setitmr.c: Likewise.
  622.     * source/unix/tty.c: Likewise.
  623.     * source/unix/unix.c: Likewise.
  624.     * source/unix/fcntl.c: Fixed typo : "!=" -> "|=" !
  625.  
  626. Sat Nov 22 00:47:33 2003  John Tytgat  <John.Tytgat@aaug.net>
  627.  
  628.     * !Help: SharedULib has to come into !System.310.Modules, not
  629.       !System.Modules.  Advised to use the !System merger instead of
  630.       manually copying.
  631.  
  632. Fri Nov 21 21:25:47 2003  Peter Naulls  <peter@chocky.org>
  633.  
  634.     * clib/wctype.h, wchar/wctype.h: Added wctype functions.
  635.  
  636. Fri Nov 21 14:26:31 2003  Peter Naulls  <peter@chocky.org>
  637.  
  638.     * clib/time.h: Rename parameters inline with glibc, and to
  639.       avoid warnings
  640.     * clib/sys/cdefs.h: Additional declarations inline with glibc
  641.     * clib/unixlib/features.h: Remove declarations repeated in
  642.       cdefs.h
  643.     * clib/unistd.h: Bring somewhat inline with glibc, and avoid
  644.       warnings with brk/sbrk declarations.
  645.     * sys/brk.c: Change sbrk defintion to match above
  646.  
  647. Wed Nov 19 00:00:01 2003  John Tytgat  <John.Tytgat@aaug.net>
  648.  
  649.     * source/clib/net/if.h: Commented out declaration of the if_*()
  650.       routines (we don't have them implemented).
  651.     * Boot,fe1: Removed last new-line character.
  652.     * Run,fe1: Likewise.
  653.     * Setup,fe1: Likewise.
  654.     * !Help: Cleaned up "Installation" section a bit; Provided the
  655.       "Distributing of UnixLib based programs" section.
  656.     * CallASWI.CallASWI,ffa: Removed (see !Help for info on obtaining the
  657.       latest version).
  658.     * CallASWI.ReadMe: Likewise.
  659.  
  660. Sat Nov 01 21:40:00 2003  John Tytgat  <John.Tytgat@aaug.net>
  661.  
  662.     * source/unix/unix.c (_exit): Previous fix didn't properly unset
  663.       DDEUtils_Prefix.
  664.  
  665. Thu Oct 30 22:58:57 2003  Alex Waugh  <alex@alexwaugh.com>
  666.  
  667.     * unix/getcwd.c (getcwd): Canonicalise result before unixifying it.
  668.       Remove obscure methods for finding the cwd.
  669.  
  670. Sun Oct 26 14:15:00 2003  John Tytgat  <John.Tytgat@aaug.net>
  671.  
  672.     * objs/Makefile.in: Added rule to build SharedULib.  Also default
  673.       "All" rule will copy UnixLib into <UnixHdr$Dir>.UnixLib.
  674.     * objs/.cvsignore: Added SharedULib,ffa.
  675.     * source/clib/bits/netdb.h: Changed type of 'request' param fo ioctl
  676.       call from 'int' to 'unsigned long'.
  677.     * source/clib/sys/netdb.h: Likewise.
  678.     * source/clib/unixlib/dev.h: Likewise.
  679.     * source/unix/dev.c: Likewise.
  680.     * source/unix/ioctl.c: Likewise.
  681.     * source/unix/tty.c: Likewise.  Avoided Norcroft compiler warning
  682.       too.
  683.     * source/clib/sys/ioctl.h: Sync'ed with information in RISCOS Ltd.'s
  684.       StubsG ioctl.h file.  Added further compatibility with
  685.       COMPAT_INET4.
  686.     * source/unix/unix.c: Setup DDEUtils_Prefix with "@" so that chdir()
  687.       calls don't change RISC OS' CSD.  When DDEUtils module is not
  688.       loaded, RISC OS' CSD will change.  Suggestion by Stefan Bellon.
  689.  
  690. Tue Oct 21 20:26:20 2003  David Marston  <david@illudium.org.uk>
  691.  
  692.     * module/sul.s: Fix 32-bit behaviour
  693.  
  694. Sun Oct 12 22:16:01 2003  John Tytgat  <John.Tytgat@aaug.net>
  695.  
  696.     * source/unix/dev.c (__getdevtype): Introduced rofs2dev mapping table
  697.       which maps RISC OS FS to Unix devices where it makes sense.  Solves
  698.       null: as stdin redirection problem reported by Stefan Bellon.
  699.  
  700. Mon Oct 06 20:00:01 2003  John Tytgat  <John.Tytgat@aaug.net>
  701.  
  702.     * Docs/ReadMe: Added some more info on UnixEnv$<program name>$sfix.
  703.     * unixlib/local.h: Allocated __RISCOSIFY_STRICT_UNIX_SPECS
  704.       __riscosify_control bit to disable the RISC OS filename check in
  705.       __riscosify[_std]().
  706.     * source/common/objattr.c (__object_get_attrs): incorrect dealing with
  707.       filetype derived from Unix filename.
  708.     * source/common/riscosify.c (guess_or_null): Support for
  709.       __RISCOSIFY_STRICT_UNIX_SPECS.
  710.     * source/unix/chdir.c (chdir): Disable suffix swapping for directories.
  711.     * source/unix/dev.c (__fsstat): Likewise.
  712.     * source/unix/dirent.c (opendir): Likewise.
  713.     * source/unix/mkdir.c (mkdir): Likewise.
  714.     * source/unix/rmdir.c (rmdir): Likewise.
  715.  
  716. Tue Sep 30 18:38:25 2003  Alex Waugh <alex@alexwaugh.com>
  717.  
  718.     * alloc.c: Use __riscos rather than __riscos__ to keep Norcroft happy.
  719.  
  720. Tue Sep 18 23:40:00 2003  John Tytgat  <John.Tytgat@aaug.net>
  721.  
  722.     * objs/Makefile.in: Added comment on Norcroft's "shrinkwrap bug".
  723.  
  724. Tue Aug 19 00:34:27 2003  John Tytgat  <John.Tytgat@aaug.net>
  725.  
  726.     * .cvsignore: MKDir,feb removed.  We don't generate this anymore.
  727.     * gen-makefiles.pl: No longer generating MKDir,feb but include a .INIT
  728.       section in the objs\Makefile,fe1 file; Also adding a "This file is
  729.       automatically generated by gen-makefiles.pl" comment line.
  730.     * Docs/ReadMe: Added info on RISCOS Ltd.'s UnixLib, sfix feature,
  731.       __dynamic_no_da & __dynamic_da_name WEAK symbols.
  732.     * objs/Makefile.in: Added .INIT section.  The rest will be added by
  733.       gen-makefiles.pl.
  734.     * clib/unixlib/features.h: Added definition for __dynamic_no_da and
  735.       __dynamic_da_name WEAK symbols.
  736.     * common/_exist.s (__set_feature_imagefs_is_file): This commented out
  737.       routine contained a copy/paste error.
  738.     * common/stat.c: Removed compiler warning.
  739.     * common/unixify.c: Take only MimeMap into account when
  740.       __RISCOSIFY_FILETYPE_NOT_SET is not set.
  741.     * unix/dirent.c: Don't generate ,xyz filetype extention when MimeMap
  742.       has to be taken into account (i.e. when __RISCOSIFY_FILETYPE_NOT_SET
  743.       is not set).
  744.     * unix/features.c: Made __sfix_default non writable; get_program_name()
  745.       no longer corrupts fname_buf for very long program names.
  746.     * common/riscosifyc.c: Removed.  It shouldn't be necessary.
  747.     
  748. Fri Aug 15 16:13:01 2003  John Tytgat  <John.Tytgat@aaug.net>
  749.  
  750.     * clib/unixlib/features.h: _feature_imagefs_is_file is now a WEAK
  751.     symbol. Added routines __get_feature_imagefs_is_file() and
  752.     __set_feature_imagefs_is_file() for internal purposes. Default value
  753.     is 0. Patch from Stefan Bellon.
  754.     * common/_exist.s: Likewise.
  755.     * unix/dev.c: Likewise.
  756.     * unix/features.c: Likewise.
  757.     * unix/unlink.c: Likewise.
  758.     * Docs/ReadMe: Added info on the WEAK'ly defined symbols.
  759.  
  760. Sun Aug 03 18:14:27 2003  John Tytgat  <John.Tytgat@aaug.net>
  761.  
  762.       * common/unixify.c (__unixify): filetype extension code will first look
  763.       if the filetype can't be derived from the filename extension
  764.     & MimeMap.  If so, then there won't be a filetype extension added to
  765.     the filename.  Also, __unixify wrongly returned the end of the buffer
  766.     (instead of the start) when the filetype extension code got activated.
  767.       * unix/unix.c: Disabled debug
  768.       * wchar/btowc.c: ANSI prototyping.
  769.       * wchar/mbrlen.c: Likewise.
  770.       * wchar/mbsinit.c: Likewise.
  771.       * wchar/wcsdup.c: Likewise.
  772.       * wchar/wctob.c: Likewise.
  773.       * wchar/wmemcpy.c: Likewise.
  774.       * wchar/wmemmove.c: Likewise.
  775.  
  776. Thu Jul 31 20:55:32 2003  Alex Waugh <alex@alexwaugh.com>
  777.  
  778.     * common/_riscosify.s: Fix typo.
  779.  
  780. Wed Jul 30 00:03:42 2003  Nick Burrett  <nick@dsvr.net>
  781.  
  782.     * stdarg.h: Force GCC to use its own internal header.
  783.     (__gnuc_va_list): Define for all other target types.
  784.  
  785.     * varargs.h: Header is now obsolete.  Add #error lines; remove
  786.     all other code.
  787.  
  788.     * stdio.h (fopen, freopen, fputs): Add __restrict pointer qualifier.
  789.     (vsprintf, vfprintf, vprintf): Likewise.  Use __gnuc_va_list.
  790.     (sprintf, fprintf, printf, sscanf, fscanf, scanf): Likewise.
  791.     (vsnprintf): Likewise.  Add GCC __format__ attributes.
  792.     (snprintf, vscanf, vfscanf, vsscanf): Likewise.
  793.  
  794.     * sys/syslog.h (syslog): Add GCC __format__ attribute.
  795.     (vsyslog): Likewise.  Use __gnuc_va_list.
  796.  
  797.     * assert.c (__assert_fail): Fix compiler warning.
  798.  
  799.     * alloca.h: Get only the definition of size_t.
  800.     * complex.h (_Complex_I): Add __extension__.
  801.  
  802.     * dirent.h: Add __restrict pointer qualifier to functions.
  803.     * glob.h: Likewise.
  804.     * grp.h: Likewise.
  805.     * inttypes.h: Likewise.
  806.     * pthread.h: Likewise.
  807.     * pwd.h: Likewise.
  808.     * regex.h: Likewise.
  809.     * signal.h: Likewise.
  810.     * stdio.h: Likewise.
  811.     * stdlib.h: Likewise.
  812.     * string.h: Likewise.
  813.     * time.h: Likewise.
  814.     * unistd.h: Likewise.
  815.  
  816. Mon Jun 23 21:10:01 2003  John Tytgat <John.Tytgat@aaug.net>
  817.  
  818.     * MKDir,fe1: Removed objs.clib & objs.clib.o directory creation.
  819.     * objs/Makefile.in: APCS-R builds are no longer supported.
  820.     * source/clib/getopt.h: Full prototyping for getopt(), we don't have
  821.       other definitions in other libraries.
  822.     * source/clib/setjmp.h: Added __executing_signalhandler and
  823.       __pthread_worksemaphore to jmp_buf; Added
  824.       saved_currently_handling to sigjmp_buf.
  825.     * source/clib/unixlib/asm_dec.s: APCS-R builds are no longer supported;
  826.       __get_errno macros doesn't need an assert on its registers.
  827.     * source/clib/unixlib/unix.h: Removed comment on __fpflag usage in
  828.       setjmp() and longjmp() (as we're minimally need FPE 4.00 now).
  829.     * source/pthread/_context.s: APCS-R builds are no longer supported.
  830.     * source/pthread/_yield.s: Likewise.
  831.     * source/signal/_coredump.s: Likewise.
  832.     * source/signal/sigexec.s: Likewise.
  833.     * source/signal/_signal.s: Removed unnecessary IMPORT |_exit|.
  834.     * source/sys/_jmp.s: Added __executing_signalhandler and
  835.       __pthread_worksemaphore to jmp_buf struct.
  836.     * source/sys/_syslib.s: APCS-R builds are no longer supported; Moved
  837.       __unixlib_fatal from unix.c to here and use __signalhandler_xx
  838.       as stack parameters as you might not have a valid one.
  839.     * source/sys/sigsetjmp.c: Support for saved_currently_handling in
  840.       sigjmp_buf.
  841.     * source/unix/unix.c(__unixlib_fatal): Moved to _syslib.s and added
  842.       explicit stack setup.
  843.  
  844. Mon Jun 23 10:31:08 2003  Peter Naulls <peter@chocky.org>
  845.  
  846.     * source/unix/fcntl.c: Patches missed from 2.95 trunk.
  847.       Fix use of O_EXECCL flag, and add F_SETOWN stub.
  848.  
  849. Fri Jun 20 00:50:01 2003  John Tytgat <John.Tytgat@aaug.net>
  850.  
  851.     * source/clib/errno.h (__ul_errbuf): Not a char* but a struct
  852.       definition.
  853.     * source/signal/_signal.s (_kernel_last_oserror): Small optimisation.
  854.     * source/signal/post.c: Removed the non used extern definitions.
  855.     * source/sys/_jmp.s: Added some comments.
  856.     * source/sys/_os.s (__os_prdec): Stack ptr needs to be decreased
  857.       during the complete routine call.
  858.     * source/sys/errlist.c: Using struct __ul_errbuf member.
  859.  
  860. Tue Jun 17 20:45:01 2003  John Tytgat <John.Tytgat@aaug.net>
  861.  
  862.     * source/clib/unixlib/local.h: Removed obsolete __RISCOSIFY_DROP_VOWEL.
  863.  
  864. Tue Jun 17 00:09:01 2003  John Tytgat <John.Tytgat@aaug.net>
  865.  
  866.     * source/clib/unixlib/local.h: Removed obsolete uname().  Use
  867.       riscosify[_std]() instead.  Removed obsolete *_TRUNCATE bits in
  868.       __riscosify_control.  Changed __RISCOSIFY_FILETYPE_SET into
  869.       __RISCOSIFY_FILETYPE_NOT_SET so that the current default value
  870.       __riscosify_control becomes 0 again.  Hide __get_riscosify_control()
  871.       behind __UNIXLIB_INTERNALS.  Defined __set_riscosify_control().
  872.     * source/common/_riscosify.s: Defined __set_riscosify_control().
  873.     * source/common/objattr.c: Changed __RISCOSIFY_FILETYPE_SET into
  874.       __RISCOSIFY_FILETYPE_NOT_SET.
  875.     * source/common/riscosify.c: Likewise.
  876.     * source/common/uname.c: Removed.
  877.     * source/common/riscosifyc.c: Added comment that __riscosify_control
  878.       is a weak symbol.
  879.     * source/common/serial.c: Changed comment about obsoleted __uname().
  880.     * source/stdio/rename.c: Likewise.
  881.     * source/unix/features.c: Removed initialisation of __riscosify_control
  882.       as the default value is again 0 in which is initialised in
  883.       source/common/riscosifyc.c.  Make use of __set_riscosify_control()
  884.       when the "nonametrans" feature is defined.
  885.  
  886. Mon Jun 16 22:00:01 2003  John Tytgat <John.Tytgat@aaug.net>
  887.  
  888.     * source/clib/signal.h: Changed SISERR into SISOSERROR in order to
  889.       be compatible with SharedCLibrary.
  890.     * source/clib/unixlib/asm_dec.s: Likewise.
  891.     * source/signal/_signal.s: Likewise.
  892.     * source/signal/signame.c: Likewise.
  893.     * source/sys/exec.c: Likewise.
  894.  
  895. Sat Jun  7 09:31:05 2003  Alex Waugh  <alex@alexwaugh.com>
  896.  
  897.     * sys/_alloca.s: Fix non 32bit code.
  898.  
  899. Sat Jun  7 04:20:04 2003  John Tytgat <John.Tytgat@aaug.net>
  900.  
  901.     * .cvsignore: Added MKDir,feb
  902.     * gen-makefiles.pl: Removed cdir of objs.clib.o
  903.     * objs/.cvsignore: Added Makefile,fe1
  904.     * source/clib/string.h: Renamed __strnlen() into strnlen()
  905.     * source/clib/time.h: Renamed localtime_p() into localtime_r()
  906.     * source/clib/sys/cdef.h: Added #undef __ptr_t
  907.     * source/clib/sys/features.h: Likewise.
  908.     * source/common/objattr.c: Removed unused variables.
  909.     * source/common/riscosify.c: Likewise.
  910.     * source/signal/post.c: Likewise.
  911.     * source/unix/chmod.c: Likewise.
  912.     * source/unix/fstat.c: Likewise.
  913.     * source/signal/sigvec.c: wrapper_handle() and convert_mask() are not
  914.       used.
  915.     * source/sys/errlist.c: Cast away return param __set_errno().
  916.  
  917. Sun Jun  1 21:46:05 2003  Alex Waugh  <alex@alexwaugh.com>
  918.  
  919.     * clib/unistd.h (fchdir): Add decl.
  920.     * unistd/fchdir.c: New file.
  921.     * unix/fchown.c: Remove file, it duplicates unistd/fchown.c
  922.  
  923. Sun Jun  1 18:20:15 2003  Alex Waugh  <alex@alexwaugh.com>
  924.  
  925.     * module/sul.s: Fix non 32bit SWI returns.
  926.  
  927. Mon May 26 19:47:04 2003  Peter Naulls <peter@chocky.org>
  928.     * clib/wchar.h: __mbrtowc and __mbrlen don't exist - avoid
  929.       inline mbrlen.
  930.  
  931. Mon May 26 18:26:03 2003  Alex Waugh  <alex@alexwaugh.com>
  932.  
  933.     * pthread/create.c (__pthread_create): Initialise the saved SPSR.
  934.     * pthread/init.c (mainthread): Fix linkage.
  935.     * pthread/testcancel.c (pthread_testcancel): Don't cancel if
  936.       context switching is disabled.
  937.  
  938. Sun May 25 22:44:12 2003  Alex Waugh  <alex@alexwaugh.com>
  939.  
  940.     * MKDir,feb: Remove file, now autogenerated.
  941.     * Makefile: Remove file, now autogenerated.
  942.     * Makefile.in: Template for Makefile.
  943.     * gen-makefiles.pl: Script to generate Makefiles.
  944.     * Docs/ReadMe: Add section on stub functions.
  945.     * Docs/stub: Remove file.
  946.     * objs/Makefile,fe1: Remove file, now autogenerated.
  947.     * objs/Makefile.in: Template for Makefile.
  948.     * source/Makefile: Remove file, now autogenerated.
  949.     * source/Makefile.in: Template for Makefile.
  950.     * source/netlib/socketpair.c: Add #includes and casts for Norcroft.
  951.     * source/regex.c: Likewise.
  952.     * source/signal/sigvec.c: Comment out bits that don't compile.
  953.     * source/unix/link.c: Remove file. Duplicates functions in unistd/*link.c
  954.     * source/wchar/wcstod.c: Add dummy function so it compiles.
  955.     * source/wchar/wcstof.c: Likewise.
  956.     * source/wchar/wcstol.c: Likewise.
  957.     * source/wchar/wcstold.c: Likewise.
  958.  
  959. Sun May 18 18:04:16 2003  Alex Waugh  <alex@alexwaugh.com>
  960.  
  961.     * objs/Makefile,fe1: Add lrintf.c and llrintf.c
  962.     * source/Makefile: Likewise.
  963.     * source/clib/math.h: Add decls.
  964.     * source/math/llrintf.c: New file from glibc 2.3.1
  965.     * source/math/lrintf.c: Likewise.
  966.  
  967. Wed May 14 00:01:05 2003  John Tytgat <John.Tytgat@aaug.net>
  968.  
  969.     * netlib/_accept.s, netlib/_getpeerna.s, netlib/_getsockna.s,
  970.       netlib/_recvfrom.s, netlib/_recvmsg.s, netlib/_sendmsg.s:
  971.       Readded COMPAT_INET4 macros undoing Peter's change at 21 Apr 2003.
  972.     * netlib/_net_error.s: typo spoiled the error numbers returned from the
  973.       Internet SWI calls.
  974.     * unix/dev.c: Remove unused variables.  Added #include <ctype.h>.
  975.     * unix/mkdir.c: Remove unused variable.
  976.     * unix/rmdir.c: Likewise.
  977.     * unix/unlink.c: Likewise.
  978.     * unix/utime.c: Wrote corrupted RISC OS filetype.
  979.     * !Help: Updated.
  980.     * Docs/ReadMe: Added "Compile-time features" section.
  981.  
  982. Tue May 13 22:46:38 2003  Alex Waugh  <alex@alexwaugh.com>
  983.  
  984.     * math-asm/_acosf.s: Keep sp valid at all times.
  985.     * math-asm/_asinf.s: Likewise.
  986.     * math-asm/_atanf.s: Likewise.
  987.     * math-asm/_ceilf.s: Likewise.
  988.     * math-asm/_cosf.s: Likewise.
  989.     * math-asm/_coshf.s: Likewise.
  990.     * math-asm/_expf.s: Likewise.
  991.     * math-asm/_floorf.s: Likewise.
  992.     * math-asm/_ldexpf.s: Likewise.
  993.     * math-asm/_log10f.s: Likewise.
  994.     * math-asm/_logf.s: Likewise.
  995.     * math-asm/_modf1f.s: Likewise.
  996.     * math-asm/_sinf.s: Likewise.
  997.     * math-asm/_sinhf.s: Likewise.
  998.     * math-asm/_tanf.s: Likewise.
  999.     * math-asm/_tanhf.s: Likewise.
  1000.  
  1001. Tue May 13 21:51:36 2003  Alex Waugh  <alex@alexwaugh.com>
  1002.  
  1003.     * objs/Makefile,fe1: Add getopt1.c
  1004.     * source/Makefile: Likewise.
  1005.     * source/clib/unixlib/features.h: Define __GNU_LIBRARY__
  1006.     * source/clib/getopt.h: Replace with file from glibc 2.3.1
  1007.     * source/unix/getopt.c: Likewise.
  1008.     * source/unix/getopt1.c: New file from glibc 2.3.1
  1009.  
  1010. Sun May 11 22:01:15 2003  Alex Waugh  <alex@alexwaugh.com>
  1011.  
  1012.     * sys/_os.s (__os_file, __os_fread, __os_fwrite, __os_args): Store a1
  1013.       before clearing it.
  1014.  
  1015. Sun May 11 19:13:12 2003  John Tytgat <John.Tytgat@aaug.net>
  1016.  
  1017.     * objs/Makefile,fe1: Specifying minimum Norcroft C version 5.53.
  1018.     * clib/unixlib/features.h: Avoid double #define's when project header
  1019.       files #define things like __attribute__ & friends themselves.
  1020.     * source/signal/_signal.s: Removed "IMPORT __pthread_callback_pending"
  1021.       (didn't exist).
  1022.     * source/sys/_syslib.s: Removed "IMPORT __h_upcall" (didn't exist).
  1023.  
  1024. Sun May 11 13:28:12 2003  John Tytgat <John.Tytgat@aaug.net>
  1025.  
  1026.     * source/unix/chdir.c (chdir): chdir(".") did not work when Prefix$Dir
  1027.       was defined.
  1028.     * objs/.cvsignore: Added.  Lets CVS ignore all derived objects when
  1029.       using the Norcroft compiler.
  1030.     * source/clib/.cvsignore: Added.  Lets CVS ignore the created UnixLib
  1031.       library object file.
  1032.  
  1033. Wed May  7 23:07:05 2003  Alex Waugh  <alex@alexwaugh.com>
  1034.  
  1035.     * clib/pthread.h (__pthread_key): Add a union for value, to avoid
  1036.       const issues.
  1037.     * pthread/key.c: Use union to prevent const warning.
  1038.     * pthread/keydest.c: Likewise.
  1039.     * pthread/_ints.s: Preserve PSR bits of PC based on processor mode,
  1040.       not APCS variant.
  1041.     * sys/_alloca.s: Likewise.
  1042.     * sys/_syslib.s: Likewise.
  1043.  
  1044. Tue May  6 23:29:21 2003  Alex Waugh  <alex@alexwaugh.com>
  1045.  
  1046.     * riscos-dist/Makefile: Remove !MKDir from binary !unixlib,
  1047.       add !Setup to source !unixlib.
  1048.     * unixlib/objs/Makefile,fe1: Add missing files.
  1049.     * unixlib/source/Makefile: Add ffs files.
  1050.     * clib/string.h: Enable ffs decls.
  1051.     * clib/strings.h: Likewise.
  1052.     * string/ffs.c: New file implementing ffs().
  1053.     * string/ffsll.c: New file implementing ffsll().
  1054.  
  1055. Sat May  3 12:20:14 2003  Alex Waugh  <alex@alexwaugh.com>
  1056.  
  1057.     * signal/_signal.s: Move IMPORTs earlier in file for objasm.
  1058.     * resolv/res_hconf.c: Remove unneeded ;
  1059.  
  1060. Tue Apr 29 22:14:12 2003  Alex Waugh  <alex@alexwaugh.com>
  1061.  
  1062.     * unixlib/features.h: Don't pollute the userland namespace
  1063.       with internal_function or weak_function.
  1064.     * sys/cdefs.h: Likewise.
  1065.  
  1066. Tue Apr 29 20:37:46 2003  Alex Waugh  <alex@alexwaugh.com>
  1067.  
  1068.     * sys/_syslib.s: Require FPEmulator 4.00 or higher
  1069.     * sys/_jmp.s: Remove STFE/LDFE code as SFM/LFM is available for
  1070.       FPE >= 4.00
  1071.     * pthread/_context.s: Likewise.
  1072.  
  1073. Mon Apr 28 23:42:26 2003  Alex Waugh  <alex@alexwaugh.com>
  1074.  
  1075.     * sys/_os.s: Don't rely on flags being preserved across SWI calls.
  1076.     * sys/_syslib.s: Likewise.
  1077.  
  1078. Mon Apr 28 22:03:02 2003  Alex Waugh  <alex@alexwaugh.com>
  1079.  
  1080.     * Makefile: Remove fcrypt.c
  1081.     * fcrypt.c: Remove file, it has been replaced by crypt/*
  1082.     * opensock.c: Enable locking code for thread safety.
  1083.     * regex.c: Add standard UnixLib header.
  1084.     * system.c: Add cancellation point.
  1085.     * clib/bits/libc-lock.h: New file to map __libc_lock calls onto
  1086.       pthread mutexes.
  1087.     * crypt/crypt_util.c: Enable locking code for thread safety.
  1088.     * netlib/accept.c: Thread safety patches.
  1089.     * netlib/bind.c: Likewise.
  1090.     * netlib/connect.c: Likewise.
  1091.     * netlib/getpeernam.c: Likewise.
  1092.     * netlib/getsocknam.c: Likewise.
  1093.     * netlib/getsockopt.c: Likewise.
  1094.     * netlib/listen.c: Likewise.
  1095.     * netlib/net.c: Likewise.
  1096.     * netlib/proto.c: Likewise.
  1097.     * netlib/recv.c: Likewise.
  1098.     * netlib/recvfrom.c: Likewise.
  1099.     * netlib/recvmsg.c: Likewise.
  1100.     * netlib/send.c: Likewise.
  1101.     * netlib/sendmsg.c: Likewise.
  1102.     * netlib/sendto.c: Likewise.
  1103.     * netlib/serv.c: Likewise.
  1104.     * netlib/setsockopt.c: Likewise.
  1105.     * netlib/shutdown.c: Likewise.
  1106.     * netlib/socket.c: Likewise.
  1107.     * netlib/socketpair.c: Add standard UnixLib header.
  1108.     * resolv/res_hconf.c: Enable locking code for thread safety.
  1109.     * signal/_signal.s: Thread safety patches.
  1110.     * signal/kill.c: Likewise.
  1111.     * signal/pause.c: Likewise.
  1112.     * signal/post.c: Likewise.
  1113.     * signal/sigaction.c: Likewise.
  1114.     * signal/sigaltstk.c: Likewise.
  1115.     * signal/sigpause.c: Likewise.
  1116.     * signal/sigpending.c: Likewise.
  1117.     * signal/sigprocmsk.c: Likewise.
  1118.     * signal/sigstack.c: Likewise.
  1119.     * signal/sigsuspend.c: Likewise.
  1120.     * signal/sigvec.c: Likewise.
  1121.     * signal/sleep.c: Likewise.
  1122.     * sys/brk.c: Likewise.
  1123.     * sys/debug.c: Likewise.
  1124.     * sys/execvp.c: Likewise.
  1125.     * sys/mman.c: Likewise.
  1126.     * sys/sigsetjmp.c: Likewise.
  1127.     * unix/waitpid.c: Likewise.
  1128.  
  1129. Mon Apr 28 13:05:24 2003  Alex Waugh  <alex@alexwaugh.com>
  1130.  
  1131.     * clib/pthread.h (__pthread_context_stack_sp,
  1132.       __pthread_context_stack_sl): Remove.
  1133.     * clib/unixlib/asm_dec.s: Add CHGMODE macro to simplify changing
  1134.       processor modes.
  1135.     * pthread/_ints.s (__pthread_unprotect_unsafe): Preserve a2, don't
  1136.       yield if we are in the middle of a context switch.
  1137.     * pthread/_yield.s (pthread_yield): Improve reliability by calling
  1138.       the context switcher directly rather than setting a callback.
  1139.     * pthread/cond.c: Formatting.
  1140.     * pthread/init.c (__pthread_init): Don't setup a stack for context
  1141.       switcher (now uses signal handler stack).
  1142.     * pthread/lock.c: Fix typos.
  1143.     * pthread/once.c: Fix typo.
  1144.     * pthread/testcancel.c: Fix line endings in debug code.
  1145.     * signal/_signal.s, pthread/_context.s: Use a dedicated stack
  1146.       for all signal handlers and pthread context switcher.
  1147.       Make pthreads more tolerant of extra or missing callbacks.
  1148.       Restore CPSR on exit from a callback.
  1149.     * sys/_syslib.s: Initialise signal handler stack.
  1150.  
  1151. Sun Apr 27 13:31:44 2003  John Tytgat <John.Tytgat@aaug.net>
  1152.  
  1153.     * source/unix/chdir.c: Code failed when chdir() was done for a
  1154.       subdirectory in the CSD.
  1155.  
  1156. Sat Apr 26 11:36:00 2003  Peter Naulls <peter@chocky.org>
  1157.     * source/signal/signal.c, source/signal/post.c:
  1158.       Add _GNU_SOURCE define, to allow use of sighandler_t.
  1159.     * source/strtod.c: Add an explicit atof function (as well
  1160.       as the existing #define)
  1161.  
  1162. Fri Apr 25 15:14:29 2003  Peter Naulls <peter@chocky.org>
  1163.     * clib/sys/cdefs.h: Added, from a patch by John T.  Didn't create
  1164.       the needless misc directory in use with that, however.
  1165.     * clib/stddef.h: Add _WCHAR_T and _WINT_T defines as per glibc.
  1166.     * clib/signal.h: Add __USE_GNU wrapper to sighandler_t typedef.
  1167.  
  1168. Fri Apr 25 00:32:18 2003  John Tytgat <John.Tytgat@aaug.net>
  1169.  
  1170.     * objs/Makefile,fe1: Forgot to specify APCS 3/32bit for assembler.
  1171.     * source/netlib/timeofday.c: Removed (duplicate of
  1172.       source/time/gettod.c)
  1173.     * source/Makefile: Added fcrypt.c, strtoimax.c, strtoumax.c to OBJS.
  1174.     * source/time/gettod.c: Increased time results from sec to centi secs.
  1175.     * source/clib/stdlib.h (strtoll, strtoull): enable it for Norcroft
  1176.       builds.
  1177.     * source/resolv/gethnamaddr.c(gethostbyname2): timeout in the resolver
  1178.       requests will result in hosts file lookup.
  1179.  
  1180. Tue Apr 22 11:57:14 2003  Peter Naulls <peter@chocky.org>
  1181.     * clib/stddef.h: Remove ptr_t.  Not defined in glibc, and
  1182.       sometimes clashes in programs.
  1183.     * clib/unixlib/local.h: Fix typo.  Move stddef.h include -
  1184.       size_t required by non UnixLib internal functions.
  1185.  
  1186. Mon Apr 21 16:48:12 2003  Peter Naulls <peter@chocky.org>
  1187.     * source/Makefile: Added _longlong.s to SYS_ASM.
  1188.     * objs/Makefile,fe1: Add missing setsid, and _longlong.
  1189.     * source/sys/_longlong.s: Added (long long Norcroft helper routines,
  1190.       from John Tytgat's addition)
  1191.     * source/unistd/getpass.c: define _GNU_SOURCE for getline().
  1192.  
  1193. Mon Apr 21 14:18:04 2003  Peter Naulls <peter@chocky.org>
  1194.     * clib/unistd.h, resource/setsid.c: Dummy setsid implementation.
  1195.     * Makefile: prevent library being created 3 times.
  1196.  
  1197. Mon Apr 21 08:40:33 2003  Peter Naulls <peter@chocky.org>
  1198.     * objs/Makefile,fe1: Change APCS flags to 32-bit
  1199.     * clib/unixlib/asm_dec.s: Extra definitions for 32-bit,
  1200.       make networking macros 32-bit.
  1201.     * netlib/_accept.s, netlib/_getpeerna.s, netlib/_getsockna.s,
  1202.       netlib/_recvfrom.s, netlib/_recvmsg.s, netlib/_sendmsg.s:
  1203.           Remove unused macro silliness
  1204.     * netlib/_net_error.s: 32-bit
  1205.     * netlib/serv.c: Fix typo
  1206.     * signal/_coredump.s, signal/_signal.s, signal/post.c:
  1207.       32-bit, move much of the handling into C for ease of maintainence.
  1208.     * sys/_swi.s, sys/_syslib: 32-bit
  1209.  
  1210. Sat Apr 13 17:20:43 2003  Alex Waugh  <alex@alexwaugh.com>
  1211.  
  1212.     * clib/stdio.h: Thread safety patches.
  1213.     * stdio/clearerr.c: Likewise.
  1214.     * stdio/fclose.c: Likewise.
  1215.     * stdio/feof.c: Likewise.
  1216.     * stdio/ferror.c: Likewise.
  1217.     * stdio/fflush.c: Likewise.
  1218.     * stdio/fgets.c: Likewise.
  1219.     * stdio/filbuf.c: Likewise.
  1220.     * stdio/fileno.c: Likewise.
  1221.     * stdio/flsbuf.c: Likewise.
  1222.     * stdio/fopen.c: Likewise.
  1223.     * stdio/fpos.c: Likewise.
  1224.     * stdio/fputs.c: Likewise.
  1225.     * stdio/fread.c: Likewise.
  1226.     * stdio/freopen.c: Likewise.
  1227.     * stdio/fwrite.c: Likewise.
  1228.     * stdio/getc.c: Likewise.
  1229.     * stdio/getdelim.c: Likewise.
  1230.     * stdio/gets.c: Likewise.
  1231.     * stdio/getw.c: Likewise.
  1232.     * stdio/newstream.c: Likewise.
  1233.     * stdio/popen.c: Likewise.
  1234.     * stdio/printf.c: Likewise.
  1235.     * stdio/putc.c: Likewise.
  1236.     * stdio/puts.c: Likewise.
  1237.     * stdio/putw.c: Likewise.
  1238.     * stdio/rename.c: Likewise.
  1239.     * stdio/scanf.c: Likewise.
  1240.     * stdio/setbuf.c: Likewise.
  1241.     * stdio/tmpfile.c: Likewise.
  1242.     * stdio/ungetc.c: Likewise.
  1243.     * unistd/fchown.c: Likewise.
  1244.  
  1245. Sat Apr 12 12:32:53 2003  Alex Waugh  <alex@alexwaugh.com>
  1246.  
  1247.     * objs/Makefile,fe1: Add new file
  1248.     * Makefile: Likewise.
  1249.     * clib/sys/stat.h (__stat): Alter decl.
  1250.     * clib/unixlib/local.h (__object_get_attrs, __object_set_attrs):
  1251.       Add decl.
  1252.     * clib/unixlib/swiparams.h: Add more OS_File parameters.
  1253.     * common/stat.c (__stat): Take named arguments rather than a
  1254.       register list.
  1255.     * unix/chdir.c (chdir): Remove common code.
  1256.     * unix/chmod.c (chmod): Likewise.
  1257.     * unix/dev.c (__fsstat): Likewise.
  1258.     * unix/mkdir.c (mkdir): Likewise.
  1259.     * unix/rmdir.c (rmdir): Likewise.
  1260.     * unix/unlink.c (unlink): Likewise.
  1261.     * unix/utime.c (utime): Likewise.
  1262.     * common/objattr.c: New file containing common code for the above
  1263.       files. Fix bug that could cause stat to return ENOENT for a file
  1264.       where the filetype didn't match the extension mimetype lookup.
  1265.  
  1266. Mon Apr  7 21:09:46 2003  Alex Waugh  <alex@alexwaugh.com>
  1267.  
  1268.     * Makefile: Add -pedantic to assembly rule.
  1269.     * common/_riscosify.s: Add missing END directive.
  1270.  
  1271. Sun Apr  6 22:48:08 2003  John Tytgat <John.Tytgat@aaug.net>
  1272.  
  1273.     * unix/dirent.c: Norcroft C breaks on an int64 switch argument
  1274.       since __off_t has been changed to 64 bits.  Void'ing or using
  1275.       the return parameter of __set_errno() to reduce warnings.
  1276.     * !MKDir: Removed, an up-to-date copy is MKDir.
  1277.  
  1278. Sun Apr  6 15:03:26 2003  Peter Naulls <peter@chocky.org>
  1279.  
  1280.     * source/netlib/socketpair.c: socketpair() implementation
  1281.     * source/clib/regex.h, source/regex.c: regex implementation
  1282.     * source/Makefile: Add new files
  1283.     * source/clib/stdio.h: Add fseeko/ftello, wrap GNU only
  1284.       functions up as per glibc.
  1285.     * source/stdio/fpos.c: fseeko/ftello implementation
  1286.     * source/clib/unixlib/unix.h: Add __32bit variable
  1287.       reference (not implemented yet)
  1288.     * source/common/riscosify.c: Add hard/soft space mapping
  1289.     * source/module/sul.s: SharedUnixLibrary 1.02 update
  1290.     * source/unix/dev.c: Add ttyS0, add FIOASYNC (from 2.95.4 branch)
  1291.     * source/unix/tty.c: Check for ttyS0, and alias to rs423
  1292.     * source/clib/unixlib/types.h: Remove rouge +
  1293.  
  1294. Sun Apr  6 13:22:00 2003  Peter Naulls <peter@chocky.org>
  1295.  
  1296.     * clib/swis.h: Include kernel.h, add new CDFS SWI.
  1297.     * clib/unixlib/types.h: LCC support, change __off_t to
  1298.       64 bits for consistency with other types in UnixLib.
  1299.       Minor tidying to UnixLibify.
  1300.  
  1301. Sun Apr  6 12:48:17 2003  Peter Naulls <peter@chocky.org>
  1302.  
  1303.     * Help: Remove extra help file, and just use !Help
  1304.  
  1305. Sat Apr  6 11:54:16 2003  Alex Waugh  <alex@alexwaugh.com>
  1306.  
  1307.     * pthread.h (__pthread_running_threads): Renamed to
  1308.       __pthread_num_running_threads.
  1309.     * pthread/context.c: Likewise.
  1310.     * pthread/create.c: Likewise.
  1311.     * pthread/exit.c: Likewise.
  1312.     * pthread/init.c: Likewise.
  1313.     * pthread/_context.s: Likewise, add missing IMPORT.
  1314.  
  1315. Sun Apr  6 01:00:57 2003  John Tytgat <John.Tytgat@aaug.net>
  1316.  
  1317.     * source/clib/bits/netdb.h: Removed _gethostbyname() and
  1318.       _gethostbyaddr() definition
  1319.     * source/netlib/_hostbyadd.s: Removed.
  1320.     * source/netlib/_hostbynam.s: Removed.
  1321.     * source/netlib/host.c: Removed.
  1322.     * source/Makefile: Removed _hostbyadd.o & _hostbynam.o from
  1323.       NETLIB_ASM list.  Removed host.o from NETLIB list.
  1324.     * objs/Makefile: Likewise.
  1325.     * source/sys/_udiv10.s (_kernel_udiv10, __rt_udiv10): Made routine
  1326.       2 instructions shorter.
  1327.     * source/sys/_sdiv10.s (_kernel_sdiv10, __rt_sdiv10): Likewise.
  1328.  
  1329. Sat Apr  5 13:41:35 2003  Alex Waugh  <alex@alexwaugh.com>
  1330.  
  1331.     * pthread.h (PTHREAD_INIT): Remove.
  1332.     * pthread/_context.s (__pthread_start_ticker): Don't start ticker if
  1333.       there is only one thread running.
  1334.     * pthread/atfork.c (pthread_atfork): Remove unneeded initialisation.
  1335.     * pthread/cleanup.c (__pthread_cleanup_push): Likewise.
  1336.     (__pthread_cleanup_pop): Likewise.
  1337.     * pthread/cond.c (pthread_cond_timedwait): Likewise.
  1338.     * pthread/context.c (__pthread_running_threads): Change default to 1
  1339.       running thread.
  1340.     * pthread/create.c (pthread_create): Start the ticker every time a
  1341.       thread is created.
  1342.     * pthread/exit.c (pthread_exit): Stop the ticker if there is only one
  1343.       thread left.
  1344.     * pthread/init.c (__pthread_init): Don't start the ticker on
  1345.       initialisation.
  1346.     * pthread/join.c (pthread_join): Remove unneeded initialisation.
  1347.     * pthread/lock.c (__pthread_lock_lock, __pthread_lock_unlock): Likewise.
  1348.     * pthread/mutex.c (pthread_mutex_trylock, pthread_mutex_lock): Likewise.
  1349.     * pthread/rwlock.c (pthread_rwlock_rdlock, pthread_rwlock_wrlock,
  1350.       pthread_rwlock_tryrdlock, pthread_rwlock_trywrlock): Likewise.
  1351.     * pthread/self.c (pthread_self): Likewise.
  1352.  
  1353. Sat Apr  5 13:14:30 2003  Alex Waugh  <alex@alexwaugh.com>
  1354.  
  1355.     Allow malloc or stack extention to increase the wimpslot.
  1356.     * Makefile: Compile sys/brk.c without stack checking.
  1357.     * alloc.c: Update to 2.7.2 of Doug Lea's malloc.
  1358.     * clib/unistd.h (brk, sbrk): add deprecated attribute.
  1359.     (__internal_sbrk): Add decl.
  1360.     * clib/unixlib/asm_dec.s (__4K_BOUNDARY): Remove.
  1361.     (XWimp_SlotSize): Add SWI number.
  1362.     * clib/unixlib/features.h (__4K_BOUNDARY): Remove.
  1363.     (__DA_WIMPSLOT_ALIGNMENT): Add.
  1364.     * clib/unixlib/unix.h (__real_himem): Add.
  1365.     (__stackalloc_incr_wimpslot): Add decl.
  1366.     * resource/initialise.c (__resource_initialise): Try to determine the
  1367.       maximum possible wimpslot size.
  1368.     * sys/_exec.s (__exec_s3, __exlen): Remove __4K_BOUNDARY code.
  1369.     * sys/_syslib.s (__main): Remove __4K_BOUNDARY code, read current
  1370.       wimpslot size on startup, move stackalloc initialisation to after
  1371.       the environment handlers are setup, restore RISC OS environment
  1372.       handlers on exit.
  1373.     (__env_riscos_and_wimpslot): New function.
  1374.     (__env_riscos): Don't alter wimpslot size.
  1375.     (__real_himem): Add.
  1376.     * sys/_vfork.s (return_parent): Remove debug code.
  1377.     * sys/brk.c (__internal_brk): Renamed from brk, try to increase
  1378.       wimpslot if needed.
  1379.     (brk): Call __internal_brk
  1380.     (sbrk): Call __internal_brk
  1381.     (__internal_sbrk): New function.
  1382.     * sys/exec.c (__ushift, __dshift, execve): Cope with a non-contiguous
  1383.       heap, remove __4K_BOUNDARY code, don't reread environment handlers.
  1384.     * sys/stackalloc.c (__stackalloc_incr_wimpslot): New function.
  1385.     (__stackalloc_incr_upwards): New function.
  1386.     (__stackalloc_incr_downwards): New function.
  1387.     (__stackalloc_incr): Remove function.
  1388.     (__stackalloc_init, __stackalloc): Allow a non-contiguous heap, and
  1389.       wimpslot extension.
  1390.     * unix/unix.c (_exit): Don't restore RISC OS environment, now done in
  1391.       _syslib.s instead.
  1392.  
  1393. Sat Apr  5 10:33:45 2003  Alex Waugh  <alex@alexwaugh.com>
  1394.  
  1395.     Thread safety patches
  1396.     * termios/ctermid.c: Changed.
  1397.     * termios/cuserid.c: Changed.
  1398.     * termios/tcgetattr.c: Changed.
  1399.     * time/asctime.c: Changed.
  1400.     * time/ctime.c: Changed.
  1401.     * time/setitmr.c: Changed.
  1402.     * time/stdtime.c: Changed.
  1403.     * time/tzset.c: Changed.
  1404.     * wchar/mbrlen.c: Changed.
  1405.     * wchar/mbrtowc.c: Changed.
  1406.     * wchar/wcrtomb.c: Changed.
  1407.     * unix/close.c: Changed.
  1408.     * unix/dirent.c (readdir_r): Fix return values
  1409.     (invalidate, newstream): Thready safety
  1410.     * unix/fchmod.c: Changed.
  1411.     * unix/fcntl.c: Changed.
  1412.     * unix/fstat.c: Changed.
  1413.     * unix/getcwd.c: Changed.
  1414.     * unix/getenv.c: Changed.
  1415.     * unix/gethostnam.c: Changed.
  1416.     * unix/getopt.c: Changed.
  1417.     * unix/ioctl.c: Changed.
  1418.     * unix/isatty.c: Changed.
  1419.     * unix/ispipe.c: Changed.
  1420.     * unix/lseek.c: Changed.
  1421.     * unix/open.c: Changed.
  1422.     * unix/pathconf.c: Changed.
  1423.     * unix/pipe.c: Changed.
  1424.     * unix/poll.c: Changed.
  1425.     * unix/proc.c: Changed.
  1426.     * unix/read.c: Changed.
  1427.     * unix/readv.c: Changed.
  1428.     * unix/reopen.c: Changed.
  1429.     * unix/select.c: Changed.
  1430.     * unix/setenv.c: Changed.
  1431.     * unix/stat.c: Changed.
  1432.     * unix/sync.c: Changed.
  1433.     * unix/syslog.c: Changed.
  1434.     * unix/truncate.c: Changed.
  1435.     * unix/tty.c: Changed.
  1436.     * unix/umask.c: Changed.
  1437.     * unix/unix.c: Changed.
  1438.     * unix/wait.c: Changed.
  1439.     * unix/wait4.c: Changed.
  1440.     * unix/write.c: Changed.
  1441.     * unix/writev.c: Changed.
  1442.  
  1443. Sat Apr  5 10:12:54 2003  Alex Waugh  <alex@alexwaugh.com>
  1444.  
  1445.     * sys/_syslib.s (free_stack_chunk): Preserve a2 as
  1446.       it is used for returning 64bit results from functions
  1447.  
  1448. Fri Apr  4 22:51:24 2003  Alex Waugh  <alex@alexwaugh.com>
  1449.  
  1450.     * asm_dec.s (__set_errno, __get_errno): Revert back to using
  1451.       global errno
  1452.  
  1453. Wed Jan 29 18:51:20 2003  John Tytgat <John.Tytgat@aaug.net>
  1454.  
  1455.     * objs/Makefile: crypt rules had a spurious column chars at the end
  1456.       of their lines
  1457.     * unix/dev.c (_randomread): cast 'data' ptr to int is necessary
  1458.       for Norcroft.
  1459.     * math-asm/_atan.s: atan1 should be exported, not atanl.
  1460.     * stdint.h: Added #include <unixlib/features.h> for the
  1461.       __extension__ definition
  1462.     * objs/Makefile: crypt rules did have a spurious column chars;
  1463.       Removed netlib.o.htonl, netlib.o.htons, netlib.o.ntohl,
  1464.       and netlib.o.ntohs from NETLIB_ASM list; Removed
  1465.       netlib.o.inet_addr and netlib.o.inet_aton from NETLIB list;
  1466.       Add Resolv src code; Added pthread.o.newnode to the PTHREAD
  1467.       list; Add pthread.o._exit to the PTHREAD_ASM list
  1468.     * MKDir: Added cdir of objs.resolv and objs.resolv.o.
  1469.     * arpa/nameser.h: typo in the NS_PUT16() macro
  1470.  
  1471. Wed Jan 29 18:48:24 2003  Alex Waugh  <alex@alexwaugh.com>
  1472.  
  1473.     * unistd.h (__unlinksuffix): Add decl.
  1474.     * common/_exist.s (__isdir_raw): Change result according to
  1475.     setting of __feature_imagefs_is_file.
  1476.     * stdio/rename.c (rename): Delete file, then attempt to delete
  1477.     suffix directory if nothing else exists within it.
  1478.     * unix/dev.c (__fsclose): Likewise.
  1479.     * unix/unlink.c (__unlinksuffix): New function.
  1480.     (unlink): Account for setting of __feature_imagefs_is_file.
  1481.  
  1482. Wed Jan 29 18:43:32 2003  Alex Waugh  <alex@alexwaugh.com>
  1483.  
  1484.     * unix/dev.c (__randomopen): Attempt to load the CryptRandom
  1485.     module if it doesn't appear to be installed already.
  1486.  
  1487. Tue Jan 21 18:03:28 2003  Nick Burrett  <nick@dsvr.net>
  1488.  
  1489.     * grp.h (__grpread): Add buf and buflen arguments to prototype.
  1490.     * pwd.h (__pwdread): Likewise.
  1491.  
  1492. Tue Jan 21 17:56:18 2003  Alex Waugh  <alex@alexwaugh.com>
  1493.  
  1494.     Thread safety patches
  1495.     * common/fdname.c: Changed.
  1496.     * common/sockvalid.c: Changed.
  1497.     * common/uname.c: Changed.
  1498.     * locale/ctypetable.c: Changed.
  1499.     * locale/localeconv.c: Changed.
  1500.     * locale/setlocale.c: Changed.
  1501.     * math/lgamma.c: Changed.
  1502.     * stdlib/_rand48.c: Changed.
  1503.     * stdlib/erand48.c: Changed.
  1504.     * stdlib/jrand48.c: Changed.
  1505.     * stdlib/lcong48.c: Changed.
  1506.     * stdlib/lrand48.c: Changed.
  1507.     * stdlib/mrand48.c: Changed.
  1508.     * stdlib/nrand48.c: Changed.
  1509.     * stdlib/rand.c: Changed.
  1510.     * stdlib/random.c: Changed.
  1511.     * stdlib/seed48.c: Changed.
  1512.     * stdlib/srand48.c: Changed.
  1513.     * pwd/fgetpwent.c: Changed.
  1514.     * pwd/fgetpwentr.c: Changed.
  1515.     * pwd/getlogin.c: Changed.
  1516.     * pwd/getpwent.c: Changed.
  1517.     * pwd/getpwnam.c: Changed.
  1518.     * pwd/getpwnam_r.c: Changed.
  1519.     * pwd/getpwuid.c: Changed.
  1520.     * pwd/getpwuid_r.c: Changed.
  1521.     * pwd/pwdread.c: Changed.
  1522.     * resource/seteuid.c: Changed.
  1523.     * resource/setgid.c: Changed.
  1524.     * resource/setpgrp.c: Changed.
  1525.     * resource/setprior.c: Changed.
  1526.     * resource/setrlimit.c: Changed.
  1527.     * resource/setuid.c: Changed.
  1528.     * grp/fgetgrent.c: Changed.
  1529.     * grp/fgetgrentr.c: Changed.
  1530.     * grp/getgrent.c: Changed.
  1531.     * grp/getgrgid.c: Changed.
  1532.     * grp/getgrgid_r.c: Changed.
  1533.     * grp/getgrnam.c: Changed.
  1534.     * grp/getgrnam_r.c: Changed.
  1535.     * grp/getgroups.c: Changed.
  1536.     * grp/grpread.c: Changed.
  1537.  
  1538. Tue Jan 21 17:49:27 2003  Alex Waugh  <alex@alexwaugh.com>
  1539.  
  1540.     Provide /dev/random and /dev/zero emulation.
  1541.     * swis.h (CryptRandom_*): Add CryptRandom module SWIs.
  1542.     * unixlib/dev.h (DEV_ZERO): Add.
  1543.     (DEV_RANDOM): Add.
  1544.     (NDEV): Bump to 7.
  1545.     (struct dev): Add stat and fstat.
  1546.     (__getdevtype): Add prototype.
  1547.     (__fsstat): Add prototype.
  1548.     (__fsfstat): Add prototype.
  1549.     (__nullstat, __nullfstat, __zeroread, __randomopen): Likewise.
  1550.     (__randomread): Likewise.
  1551.     * unix/dev.c (__dev): Support new fields in struct dev.
  1552.     (struct sfile): New.
  1553.     (__sfile): New.
  1554.     (__getdevtype): New function.
  1555.     (__fsstat): New function.
  1556.     (__fsfstat): New function.
  1557.     (__nullstat): New function.
  1558.     (__nullfstat): New function.
  1559.     (__zeroread): New function.
  1560.     (__randomopen): New function.
  1561.     (__randomread): New function.
  1562.     * unix/fstat.c (fstat): Call fstat function from struct dev.
  1563.     * unix/open.c (struct file): Moved to unix/dev.c.
  1564.     (__sfile): Moved to unix/dev.c.
  1565.     * unix/stat.c (stat): Call stat function from struct dev.
  1566.  
  1567. Sun Jan  5 12:44:20 2003  Alex Waugh  <alex@alexwaugh.com>
  1568.  
  1569.     * common/riscosify.c:
  1570.     "./foo.c" now translates to "@.c.foo" rather than "c.foo"
  1571.     Better handling of . and .. at beginning and ends of filenames, and
  1572.     things like "./.."
  1573.     Removes ,xyz when the filename is just a leafname.
  1574.     Interprets ".svn/text-base/malloc.c.svn-base" as unix format
  1575.     not RISC OS format.
  1576.  
  1577. Sun Jan  5 12:41:31 2003  Alex Waugh  <alex@alexwaugh.com>
  1578.  
  1579.     Make UnixLib thread-safe.
  1580.     * abort.c (abort): Add PTHREAD_UNSAFE
  1581.     * assert.c (__assert_fail): Likewise.
  1582.     * atexit.c (atexit): Likewise.
  1583.     * qsort.c (qsort): Likewise.
  1584.     * strtod.c: LIkewise.
  1585.     * termcap.c (tgetent, t_tentcp, t_tgetln): Likewise.
  1586.     (t_tgetid, tgetstr, tgoto): Likewise.
  1587.  
  1588.     * strsignal.c (strsignal): Simplify.
  1589.  
  1590. Sun Jan  5 12:37:50 2003  Alex Waugh  <alex@alexwaugh.com>
  1591.  
  1592.     * errno.h: Always define 'errno' as errno.
  1593.     * errno.c: Remove conditional.
  1594.     * pthread/context.c (__pthread_context_switch): Preserve errno.
  1595.  
  1596.     * pthread.h (__pthread_saved_context): Add spsr.
  1597.     * pthread/_context.s: Store/restore the SPSR.
  1598.  
  1599.     * sys/_alloca.s: Various APCS-32 fixes.
  1600.     * sys/_syslib.s: Likewise.
  1601.  
  1602.     * sys/errlist.c: Include pthread.h.
  1603.  
  1604. Sun Jan  5 12:29:13 2003  Alex Waugh  <alex@alexwaugh.com>
  1605.  
  1606.     * sys/exec.c (execve): Change control characters to \xXX.
  1607.     Don't backslash already quoted characters.
  1608.     * unix/unix.c (__hexstrtochar): New function.
  1609.  
  1610. Sat Jan  4 15:27:54 2003  Nick Burrett  <nick@dsvr.net>
  1611.  
  1612.     * sys/_syslib.s: Revert last change.  The SCL doesn't preserve ip
  1613.     either, so the fix should be applied to GCC.
  1614.  
  1615. Mon Dec 30 12:05:21 2002  Nick Burrett  <nick@dsvr.net>
  1616.  
  1617.     * sys/_syslib.s (__rt_stkovf_split_small): Preserve 'ip'.
  1618.     (__rt_stkovf_split_big): Likewise.
  1619.     (stack_overflow_common): Restore 'ip'.
  1620.  
  1621. Sun Dec 22 18:21:18 2002  John Tytgat <John.Tytgat@aaug.net>
  1622.  
  1623.     * MKDir: added resolv & resolv.o
  1624.     * objs/Makefile,fe1: Added resolv/*; Removed netlib.o.ntohl,
  1625.       netlib.o.ntohs, netlib.o.inet_addr, netlib.o.inet_aton, unix.o.syslog
  1626.       Renamed netlib.o.htonl to netlib.o._bswap_32, netlib.o.htons to
  1627.       netlib.o._bswap_16; Added string.o.rawmemchar, string.o.strchrnul,
  1628.       string.o.strndup, string.o.strnlen, string.o.swab, netlib.o.in6_addr.
  1629.     * source/Makefile: Likewise.
  1630.     * Makefile: added resolv
  1631.  
  1632.     * arpa/inet.h: Replaced by version in glibc 2.2.5
  1633.     * arpa/nameser.h: Replaced by version in glibc 2.2.5
  1634.     * arpa/nameser_compat.h: Added (glibc 2.2.5)
  1635.     * arpa/tftp.h: Added (glibc 2.2.5)
  1636.  
  1637.     * bits/in.h: Added (glibc 2.2.5)
  1638.     * bits/netdb.h: Added (glibc 2.2.5)
  1639.     * bits/sockaddr: Added (glibc 2.2.5)
  1640.     * bits/socket.h: Added (glibc 2.2.5)
  1641.  
  1642.     * byteswap.h: Added (glibc 2.2.5)
  1643.     * dirent.h: Changed __u_int32_t into __uint32_t
  1644.     * net/if.h: Replaced by version in glibc 2.2.5
  1645.     * netdb.h: Replaced by version in glibc 2.2.5
  1646.     * netinet/{in.h,in_systm.h,ip.h,ip_icmp.h,tcp.h,udp.h}:
  1647.       Replaced by version in glibc 2.2.5
  1648.     * netinet/ip_var.h: Changed #include <sys/bytesorder.h> into
  1649.       #include <netinet/in.h>.
  1650.     * resolv.h: Added (glibc 2.2.5)
  1651.     * resolv/resolv.h: Added (glibc 2.2.5)
  1652.     * stdio-common/stdio_ext.h: Added (glibc 2.2.5)
  1653.     * stdio_ext.h: Added (glibc 2.2.5)
  1654.     * stdint.h: When __int8_t_defined is defined, this does not
  1655.       mean that uint8_t, uint16_t, uint32_t and uint64_t are defined (but
  1656.       u_int8_t, u_int16_t, u_int32_t adn u_int64_t are defined).
  1657.     * string.h: Added GNU calls __rawmemchr(), strndup(),
  1658.       strnlen() & strchrnul(); When __USE_BSD is defined, declare bcopy(),
  1659.       bzero(), bcmp(), index(), rindex(), strcasecmp() and strncasecmp().
  1660.     * strings.h: Function calls are BSD functions calls so
  1661.       wrapped them inside an #ifdef __USE_BSD.
  1662.     * string/byteswap.h: Added (glibc 2.2.5)
  1663.     * sys/bitypes.h: Added (glibc 2.2.5)
  1664.     * sys/byteorder.h: Removed (as htonl(), ntohl(), htons()
  1665.       and ntohs() are defined in netinet/in.h).
  1666.     * sys/netdb.h: Removed (as the SWI veneers are now defined
  1667.       in bits/netdb.h)
  1668.     * sys/sysmacros.h: Added (glibc 2.2.5)
  1669.     * sys/uio.h: Changed #include <unixlib/types.h> into
  1670.       #include <sys/types.h> so that return types of readv() and writev()
  1671.       are a defined ssize_t (was previously the internal type __ssize_t).
  1672.     * swis.h: Added Internet 5 new SWIs.
  1673.     * unixlib/asm_dec.s: Added COMPAT_INET4 (default off),
  1674.       added Internet 5 new SWIs.
  1675.     * unixlib/features.h: Added more #define's for Norcroft C
  1676.       compiler; Removed all sections which are also defined in
  1677.       misc/sys/cdefs.h;
  1678.       Defined BSD; Added #undef COMPAT_INET4
  1679.     * unixlib/math.h: Changed __u_int32_t into __uint32_t
  1680.     * unixlib/types.h: Replaced by version in glibc 2.2.5
  1681.     * sys/cdefs.h: Added (glibc 2.2.5)
  1682.     * sys/select.h: 5th param pselect() is 'const struct
  1683.       timespec *', not 'struct timespec'.  Was also missing 6th param
  1684.       'const __sigset *'.
  1685.     * math/acosh.c: Changed __u_int32_t into __uint32_t.
  1686.     * math/atanh.c: Likewise.
  1687.     * math/cbrt.c: Likewise.
  1688.     * math/erf.c: Likewise.
  1689.     * math/exprm1.c: Likewise.
  1690.     * math/fmod.c: Likewise.
  1691.     * math/fpclassify.c: Likewise.
  1692.     * math/jn.c: Likewise.
  1693.     * math/llrint.c: Likewise.
  1694.     * math/llround.c: Likewise.
  1695.     * math/log2.c: Likewise.
  1696.     * math/lrint.c: Likewise.
  1697.     * math/lround.c: Likewise.
  1698.     * math/modf.c: Likewise.
  1699.     * math/nearbyint.c: Likewise.
  1700.     * math/nextafter.c: Likewise.
  1701.     * math/remainder.c: Likewise.
  1702.     * math/remquo.c: Likewise.
  1703.     * math/rem_pio2.c: Likewise.
  1704.     * math/rint.c: Likewise.
  1705.     * math/round.c: Likewise.
  1706.     * math/trunc.c: Likewise.
  1707.     * misc/sys/cdefs.h: Added (glibc 2.2.5)
  1708.     * misc/sys/socket.h: Replaced by version in glibc 2.2.5
  1709.     * misc/sys/types.h: Replaced by version in glibc 2.2.5
  1710.     * netlib/accept.c: Type of last parameter of accept() is
  1711.       socklen_t *, not int *.
  1712.     * netlib/bind.c: Type of last parameter of bind() is socklen_t,
  1713.       not int. Removed commented out debug line.
  1714.     * netlib/connect.c: Type of last parameter of connect() is
  1715.       socklen_t, not int. Removed commented out debug line.
  1716.     * netlib/getpeernam.c: Type of last parameter of getpeernam()
  1717.       is socklen_t *, not int *.
  1718.     * netlib/getsocknam.c: Type of last parameter of getsocknam()
  1719.       is socklen_t *, not int *.
  1720.     * netlib/getsockopt.c: Type of last parameter of getsockopt()
  1721.       is socklen_t *, not int *.
  1722.     * netlib/host.c: Return types of sethostent() end endhostent()
  1723.       are void, not int; First 2 parameters of gethostbyaddr() are const
  1724.       void * and socklen_t, not const char * and int.
  1725.     * netlib/in6_addr.c: Added (glibc 2.2.5)
  1726.     * netlib/inet_addr.c: Removed (new code at resolv/inet_addr.c)
  1727.     * netlib/inet_aton.c: Likewise.
  1728.     * netlib/inet_lnaof.c: Return type of inet_lnaof() is in_addr_t,
  1729.       not u_long.
  1730.     * netlib/inet_netof.c: Return type of inet_netof() is in_addr_t,
  1731.       not u_long.
  1732.     * netlib/inet_netwo.c: Removed #include <sys/byteorder.h>;
  1733.       Return type of inet_network() is in_addr_t, not u_long.
  1734.     * netlib/inet_mkad.c: Both parameters of inet_makeaddr() are
  1735.       in_addr_t, not u_long.
  1736.     * netlib/net.c: Return type of setnetent() and endnetent() is
  1737.       void, not int.  First parameter of getnetbyaddr() is uint32_t, not
  1738.       long.
  1739.     * netlib/ntohl.s (ntohl): Removed (is implemented as
  1740.        __bswap_32())
  1741.     * netlib/ntohs.s (ntohs): Removed (is implemented as
  1742.        __bswap_16())
  1743.     * netlib/ntop.c: Removed #include <sys/byteorder.h>
  1744.     * netlib/proto.c: Return type of setprotoent() and endprotoent()
  1745.       is void, not int.
  1746.     * netlib/pton.c: Removed #include <sys/byteorder.h>
  1747.     * netlib/recv.c (recv): Third parameter of recv() is
  1748.       size_t (unsigned int), not int.
  1749.     * netlib/recvfrom.c (recvfrom): Type of third and last parameter
  1750.       of recvfrom() is size_t and socklen_t (unsigned int) respectively,
  1751.       not int and int.
  1752.     * netlib/send.c (send): Type of third parameter of send() is
  1753.       size_t, not int.
  1754.     * netlib/sendto.c (sendto): Type of third and last parameter of
  1755.       sendto() is size_t and socklen_t (unsigned int) respectively, not int
  1756.       and int.
  1757.     * netlib/serv.c: Removed #include <sys/byteorder.h>; Return type
  1758.       of the setservent() and endservent() routines is void, not int.
  1759.     * netlib/setsockopt.c (setsockopt): Last parameter of
  1760.       setsockopt() is socklen_t (unsigned int), not int.
  1761.     * netlib/socket.c: Changed #include <sys/netdb.h> into #include
  1762.       <netdb.h>
  1763.     * netlib/_accept.s: Added check for COMPAT_INET4.
  1764.     * netlib/_recvfrom.s: Likewise.
  1765.     * netlib/_recvmsg.s: Likewise.
  1766.     * netlib/_sendmsg.s: Likewise.
  1767.     * netlib/_getpeername.s: Likewise.
  1768.     * netlib/_getsockname.s: Likewise.
  1769.     * netlib/_bswap_32.s (__bswap_32): Added (was the htonl.s
  1770.       implementation)
  1771.     * netlib/_bswap_16.s (__bswap_16): Added (was the htons.s
  1772.       implementation)
  1773.     * opensock.c: Added (glibc 2.2.5)
  1774.     * string/strchrnul.c: Added (glibc 2.2.5)
  1775.     * string/strndup.c: Added (glibc 2.2.5)
  1776.     * string/swab.c: Added (glibc 2.2.5)
  1777.     * strsignal.c (strsignal): Changed return type to 'char *'.
  1778.     * unix/dev.c: Changed #include <sys/netdb.h> into #include
  1779.       <netdb.h>
  1780.     * unix/fcntl.c: Likewise.
  1781.     * unix/pselect.c (pselect): Parameters were wrong.  Based
  1782.       implementation on glibc 2.2.5.
  1783.  
  1784. Sun Dec 15 13:35:02 2002  Alex Waugh  <alex.waugh@arm.com>
  1785.  
  1786.     * common/riscosify.c: Re-write.
  1787.  
  1788. Sun Dec 15 13:15:39 2002  Alex Waugh  <alex.waugh@arm.com>
  1789.  
  1790.     POSIX threads and Stack Chunk implementation.
  1791.  
  1792. Fri Dec 13 11:07:21 2002  Nick Burrett  <nick@dsvr.net>
  1793.  
  1794.     * time.h (localtime_r): Declare.
  1795.     (gmtime_r): Declare.
  1796.     (__calendar_convert): Fixup prototype.
  1797.     * calendconv.c (__calendar_convert): Make re-entrant.
  1798.     * gmtime.c (gmtime): Fixup call to support new re-entrant version
  1799.     of `__calendar_convert'.
  1800.     * localtime.c (localtime): Likewise.
  1801.     * localtime_r.c: New file.
  1802.     * gmtime_r.c: New file.
  1803.  
  1804.     * errno.h (__set_errno): Add __UNIXLIB_INTERNALS guard.  This macro
  1805.     shouldn't be exposed outside of UnixLib.
  1806.  
  1807. Wed Nov 27 19:00:00 2002  Nick Burrett  <nick@dsvr.net>
  1808.  
  1809.     64-bit placeholders
  1810.     * unixlib/types.h (__off64_t): Declare.
  1811.     (__fpos64_t): Declare.
  1812.     * sys/types.h: Define __off64_t, if not defined.
  1813.     * sys/stat.h (stat64): Define as 'stat'.
  1814.  
  1815. Tue Nov 26 21:46:52 2002  Nick Burrett  <nick@dsvr.net>
  1816.  
  1817.     C99 dialect functions.
  1818.     * stdlib/strtof.c: New file.
  1819.     * stdlib/strtold.c: New file.
  1820.     
  1821.     32-bit float type C99 dialect math functions.
  1822.     * math/fmodf.c: New file.
  1823.     * math/frexpf.c: New file.
  1824.     * math/modff.c: New file.
  1825.     * math/_asinf.s: New file.
  1826.     * math/_acosf.s: New file.
  1827.     * math/_atan2f.s: New file.
  1828.     * math/_atanf.s: New file.
  1829.     * math/_ceilf.s: New file.
  1830.     * math/_cosf.s: New file.
  1831.     * math/_coshf.s: New file.
  1832.     * math/_expf.s: New file.
  1833.     * math/_floorf.s: New file.
  1834.     * math/_ldexpf.s: New file.
  1835.     * math/_log10f.s: New file.
  1836.     * math/_logf.s: New file.
  1837.     * math/_modf1f.s: New file.
  1838.     * math/_powf.s: New file.
  1839.     * math/_sinf.s: New file.
  1840.     * math/_sinhf.s: New file.
  1841.     * math/_tanf.s: New file.
  1842.     * math/_tanhf.s: New file.
  1843.     
  1844.     * math/fmod.c: Suport long double float type C99 math functions.
  1845.     * math/frexp.c: Likewise.
  1846.     * math/modf.c: Likewise.
  1847.     * math/_asin.s: Likewise.
  1848.     * math/_acos.s: Likewise.
  1849.     * math/_atan2.s: Likewise.
  1850.     * math/_atan.s: Likewise.
  1851.     * math/_ceil.s: Likewise.
  1852.     * math/_cos.s: Likewise.
  1853.     * math/_cosh.s: Likewise.
  1854.     * math/_exp.s: Likewise.
  1855.     * math/_floor.s: Likewise.
  1856.     * math/_ldexp.s: Likewise.
  1857.     * math/_log10.s: Likewise.
  1858.     * math/_log.s: Likewise.
  1859.     * math/_modf1.s: Likewise.
  1860.     * math/_pow.s: Likewise.
  1861.     * math/_sin.s: Likewise.
  1862.     * math/_sinh.s: Likewise.
  1863.     * math/_tan.s: Likewise.
  1864.     * math/_tanh.s: Likewise.
  1865.  
  1866.     * math.h: Create prototypes for `float' and `long double' functions.
  1867.  
  1868.     * strtol.c (atol): Remove explicit casts.
  1869.     * strtoll.c (atoll): New function.
  1870.  
  1871.     * unix/unix.c (_Exit): New function.
  1872.     (exit): Split into _Exit.  Call atexit functions here, then
  1873.     call _Exit to perform the final termination code.
  1874.     
  1875.     * stdlib.h (_Exit): New prototype.
  1876.     (atoll): New prototype.
  1877.     (strtof): New prototype.
  1878.     (strtold): New prototype.
  1879.  
  1880. Wed Nov 13 11:58:00 2002  Peter Naulls  <peter@chocky.org>
  1881.  
  1882.     * sys/socket.h (bind): Correct prototype.
  1883.     (accept, connect, recvfrom, getsockname, getpeername): Likewise.
  1884.     (_bind, _accept, _connect, _recvfrom, _getsockname): Likewise.
  1885.     (_getpeername): Likewise.
  1886.     * netlib/accept.c: Likewise.
  1887.     * netlib/bind.c: Likewise.
  1888.     * netlib/connect.c: Likewise.
  1889.     * netlib/getsocknam.c: Likewise.
  1890.     * netlib/getsockopt.c: Likewise.
  1891.     * netlib/recvfrom.c: Likewise.
  1892.     * netlib/setsockopt.c: Likewise.
  1893.  
  1894.     * stdio/popen.c (pclose): Correct type usage.
  1895.     * sys/execl.c (execl): Likewise.
  1896.  
  1897.     * unix/dev.c (__piperead): Fix pipe code to actually work.
  1898.     (__pipewrite): Don't seek on pipes.
  1899.     (__pipeselect): Likewise.
  1900.     * unix/pipe.c (pipe): Put temporary pipe files into /tmp/pipe.
  1901.  
  1902.     * unix/select.c (select): Fix broken comparison.
  1903.  
  1904.     * unix/tty.c (__tty_console_gwinsz): Change variable naming
  1905.     to better suit terminal handling.
  1906.  
  1907. Wed Nov 13 10:55:36 2002  Stefan Bellon  <sbellon@sbellon.de>
  1908.  
  1909.     * stdint.h: Norcroft version 5.50 supports long long.
  1910.  
  1911.     * stdio/_printf.s (_vprintf, _snprintf): New functions.
  1912.     (_vsprintf, _vsnprintf): New Norcroft compatibility functions.
  1913.  
  1914. Mon Oct 21 22:12:25 2002  Alex Waugh  <alex.waugh@arm.com>
  1915.  
  1916.     * sys/exec.c (execve): Allow a null argument list.
  1917.  
  1918.     * stdio/printf.c (vfprintfsub): When the buffer isn't large enough,
  1919.     return the number of characters that would be written had the
  1920.     buffer been big enough.
  1921.  
  1922. Mon Oct 21 21:53:21 2002  Peter Naulls  <peter@chocky.org>
  1923.  
  1924.     * sys/_syslib.s (__main): Move ENTRY after NAME.
  1925.     * common/riscosify.c (__riscosify): Don't default to filetype text
  1926.     if there is an error.
  1927.  
  1928. Sat Sep 28 16:00:00 2002  Peter Naulls  <peter@chocky.org>
  1929.  
  1930.     * unix/unix.c (convert_command_line): Fix argument could error
  1931.     when faced with arguments like "2> stderr".
  1932.  
  1933. Tue Sep 24 14:32:56 2002  Nick Burrett  <nick@dsvr.net>
  1934.  
  1935.     * sys/exec.c (execve): Make 2nd and 3rd param char *const [].
  1936.     * sys/execv.c (execv): Make 2nd param char *const [].
  1937.     * sys/execvp.c (execvp): Likewise.
  1938.     * unistd.h (execv, execve, execvp): Fix prototypes accordingly.
  1939.  
  1940. Tue Sep 24 13:08:36 2002  Nick Burrett  <nick@dsvr.net>
  1941.  
  1942.     * strsignal.c (strsignal): Return a char *, not const char *.
  1943.     * string.h (strsignal): Fix prototype.
  1944.  
  1945. Tue Sep 24 13:03:52 2002  Nick Burrett  <nick@dsvr.net>
  1946.  
  1947.     * sys/exec.c (execve): Make 3rd param char *const *.
  1948.     * sys/execv.c (execv): Make 2nd param char *const *.
  1949.     * unistd.h (execv, execve): Fix prototypes accordingly.
  1950.  
  1951. Tue Sep 24 13:00:22 2002  Nick Burrett  <nick@dsvr.net>
  1952.  
  1953.     * unix/proc.c (setegid): Set errno to EPERM on failure.
  1954.  
  1955. Tue Sep 24 12:50:37 2002  John Tytgat  <John.Tytgat@aaug.net>
  1956.  
  1957.     * strsignal.c (strsignal): strsignal(NSIG) wasn't detected
  1958.     as an error.
  1959.     * signal.h (sys_siglist): const'ify
  1960.     * signal/signame.c (sys_siglist):  Likewise.
  1961.     * signal/_signal.s (__h_error): Using the NAME macro.
  1962.     * sys/_alloca.s (alloca): Added some comments how this
  1963.     works; Added APCS-32 compatibility.
  1964.     * sys/_sigjmp.s (sigsetjmp): No need to save a2 & ip.
  1965.  
  1966. Tue Sep 24 12:28:40 2002  Peter Naulls  <peter@chocky.org>
  1967.  
  1968.     * netinet/in.h (struct ip_opts): Rename ip_opts to Ip_opts to
  1969.     workaround C++ incompatibility.
  1970.  
  1971.     * alloc.c (mmap_chunk): Fix alignment warning.
  1972.     * strcmp.c (strcmp): Retain type consistency.
  1973.     * netdb.h (gethostbyname2): Add prototype.
  1974.     * common/riscosify.c (__riscosify): Fix signed/unsigned comparison.
  1975.     * math/expm1.c (expm1): Fix warnings about uninitialised variables.
  1976.     * stdio/scanf.c (vfscanf): Fix function type usage.
  1977.     * stdio/tmpfile.c (generate_temporary_filename): Fix type consistency.
  1978.     * sys/exec.c (execve): Avoid alignment warning.
  1979.  
  1980. Mon Aug 19 12:50:40 2002  John Tytgat  <John.Tytgat@aaug.net>
  1981.  
  1982.     * objs/Makefile,fe1: module 'string' dependency was wrong; Made
  1983.     Norcroft C compiler selection the default.
  1984.     * unistd.h: Added missing #endif to fix 18-Aug-2002 19:32:36 change.
  1985.     
  1986. Sun Aug 18 22:19:01 2002  John Tytgat  <John.Tytgat@aaug.net>
  1987.  
  1988.     crypt implementation -- derived from glibc 2.2.5.
  1989.     * MKDir: Creating crypt & crypt.o directories.
  1990.     * objs/Makefile,fe1: Added crypt/*; Removed o.fcrypt.
  1991.     * source/Makefile: Likewise.
  1992.     * fcrypt.h: Replaced by a #include <crypt.h>.
  1993.     * stdint.h: Added long long equivalents for Norcroft C.
  1994.     * unixlib/features.h: Added __const, __THROW definitions
  1995.     for Norcroft C.
  1996.     * fcrypt.c: Remove
  1997.     * crypt.h: New file (from glibc 2.2.5)
  1998.     * crypt/crypt.c: New file.
  1999.     * crypt/crypt-entry.c: New file.
  2000.     * crypt/crypt_util.c: New file.
  2001.     * crypt/crypt-private.h: New file.
  2002.     * crypt/ufc-crypt.h: New file.
  2003.     * crypt/md5.c: New file.
  2004.     * crypt/md5-crypt.c: New file.
  2005.     * crypt/md5.h: New file.
  2006.     
  2007. Sun Aug 18 20:54:03 2002  John Tytgat  <John.Tytgat@aaug.net>
  2008.               Nick Burrett  <nick@dsvr.net>
  2009.  
  2010.     Implement __riscosify_control as a WEAK variable.
  2011.     * common/_riscosify.s: New file.
  2012.     * unixlib/local.h (__get_riscosify_control): Add prototype.
  2013.     * common/riscosify.c (__riscosify_std): Use `__get_riscosify_control'
  2014.     rather than `__riscosify_control'.
  2015.     * common/unixify.c (__unixify_std): Likewise.
  2016.     * unix/dev.c (__fsopen): Likewise.
  2017.     * unix/dirent.c (opendir): Likewise.
  2018.     (readdir_r): Likewise.
  2019.     (rewinddir): Likewise.
  2020.     
  2021. Sun Aug 18 19:32:36 2002  Nick Burrett  <nick@dsvr.net>
  2022.  
  2023.     * string/swab.c: New file.
  2024.     * unistd.h (swab): Add prototype.
  2025.  
  2026. Sun Aug 18 16:15:25 2002  Nick Burrett  <nick@dsvr.net>
  2027.  
  2028.     [ BUG 51 ]
  2029.     * All header files: Include <unixlib/features.h>.  Use __BEGIN_DECLS
  2030.     and __END_DECLS for the extern "C" decls.
  2031.     * unix/tty.c (_BSD_SOURCE): Declare.
  2032.     
  2033. Sat Aug 17 13:58:36 2002  Nick Burrett  <nick@dsvr.net>
  2034.  
  2035.     * unix/fstat.c (fstat): Fix bad cast.
  2036.  
  2037. Sat Aug 17 12:02:23 2002  Nick Burrett  <nick@dsvr.net>
  2038.  
  2039.     * netlib/h_errno.c (h_errno): Change type to int. Include netdb.h.
  2040.  
  2041. Sat Aug 17 11:59:58 2002  Nick Burrett  <nick@dsvr.net>
  2042.  
  2043.     * netdb.h (h_errno): Declare.
  2044.     
  2045. Sat Aug 17 11:58:29 2002  Alex Waugh  <alex@alexwaugh.com>
  2046.  
  2047.     * unix/fstat.c (fstat): Return true extent, rather than file
  2048.     allocation size.
  2049.  
  2050. Sat Aug 17 11:51:39 2002  Peter Naulls  <peter@chocky.org>
  2051.  
  2052.     * unixlib/local.h (__RISCOSIFY_FILETYPE_SET): New macro.
  2053.     (__RISCOSIFY_MASK): Alter accordingly.
  2054.     * common/riscosify.c (__riscosify): Use the MimeMap module
  2055.     to match the filename extension and set the filetype appropriately.
  2056.     * unix/features.c (__runtime_features): Set riscosify default
  2057.     to setting the filetype.
  2058.     * unixlib/swiparams.h (MMM_TYPE_RISCOS): Define.
  2059.     (MMM_TYPE_RISCOS_STRING): Define.
  2060.     (MMM_TYPE_MIME): Define.
  2061.     (MMM_TYPE_DOT_EXTN): Define.
  2062.     * swis.h (MimeMap_Translate): Define.
  2063.  
  2064. Mon Aug  5 10:15:40 2002  Peter Naulls  <peter@chocky.org>
  2065.  
  2066.     * netlib/_net_error.s (__net_error_simple_entry): Add branch
  2067.     to jump over recent NAME entry.
  2068.  
  2069.     * netlib/connect.c (connect): Update debugging code.
  2070.     
  2071. Mon Aug  5 10:09:40 2002  Nick Burrett  <nick@dsvr.net>
  2072.  
  2073.     * unix/unix.c (verify_redirection): A space is not permitted between
  2074.     a file descriptor number and a redirection operator.
  2075.  
  2076. Mon Aug  5 10:07:11 2002  Peter Naulls  <peter@chocky.org>
  2077.  
  2078.     * pwd/pwdread.c (__pwddefault): Fix logic inversion of pwd_inited
  2079.     comparison.
  2080.  
  2081.     * unix/fcntl.c (fcntl): Third argument to _sioctl is an address to
  2082.     an argument.
  2083.     
  2084. Wed Jul 31 15:16:14 2002  Nick Burrett  <nick@dsvr.net>
  2085.  
  2086.     * unix/unix.c (check_io_redir): Cope with [fd]>>.
  2087.     (get_io_redir): Likewise.
  2088.     
  2089. Fri Jul 26 13:32:38 2002  Nick Burrett  <nick@dsvr.net>
  2090.  
  2091.     * stdint.h: Add missing #endif
  2092.     * net/if.h: Set __NET_IF_H rather than __SYS_IF_H.
  2093.  
  2094. Fri Jul 26 11:00:15 2002  Nick Burrett  <nick@dsvr.net>
  2095.  
  2096.     * stdio/fpos.c (fseek): Set errno to EINVAL if the offset to
  2097.     SEEK_SET is negative, but don't set the stream error.
  2098.     
  2099. Fri Jul 26 10:47:36 2002  Nick Burrett  <nick@dsvr.net>
  2100.  
  2101.     * sys/_vfork.s (vfork): No need to save sp around __vfork call.
  2102.     I think it is legacy from the old __vfork implementation.
  2103.  
  2104. Fri Jul 26 10:41:47 2002  Peter Naulls  <peter@chocky.org>
  2105.               Nick Burrett  <nick@dsvr.net>
  2106.  
  2107.     * common/stat.c (__stat): If ImageFS is to be treated as a
  2108.     directory, then fudge directory size and set hard links to 2.
  2109.     Otherwise don't fudge directory size and set hard links to 1.
  2110.     
  2111. Fri Jul 26 10:35:30 2002  Alex Waugh  <alex@alexwaugh.com>
  2112.  
  2113.     * unix/fcntl.c (fcntl): When F_SETFL is called on a socket,
  2114.     actually alter the behaviour of the socket.
  2115.  
  2116. Fri Jul 19 14:19:48 2002  John Tytgat  <John.Tytgat@aaug.net>
  2117.  
  2118.     * index.c: #include <strings.h> so that we have header file
  2119.     declaration all exported functions.
  2120.  
  2121. Fri Jul 19 14:18:33 2002  John Tytgat  <John.Tytgat@aaug.net>
  2122.  
  2123.     * objs/Makefile,fe1: Fixed typo in the Norcroft compiler settings
  2124.  
  2125. Fri Jul 19 14:16:30 2002  John Tytgat  <John.Tytgat@aaug.net>
  2126.  
  2127.     * stdlib/_rand48.c, drand48.c, erand48.c, jrand48.c, lcong48.c
  2128.           lrand48.c, mrand48.c, nrand48.c, random.c, seed48.c
  2129.           srand48.c: Added RCS style comment header
  2130.     * sys/vfork.c (__vfork): The last environment and argument
  2131.       vector needs to be NULL.
  2132.  
  2133. Fri Jul 19 14:13:45 2002  John Tytgat  <John.Tytgat@aaug.net>
  2134.  
  2135.     * objs/Makefile,fe1: Removed o.rand
  2136.     * scl/_kernel.s: declared AREA readonly. Updated comments.
  2137.     * common/_exist.s: Embedding function names
  2138.     * gcccompat/_divdi3.s, _moddi3.s, _udivdi3.s, _umoddi3.s:
  2139.       Likewise.
  2140.     * math-asm/_acos.s, _asin.s, _atan.s, _atan2.s, _ceil.s
  2141.       _copysign.s, _cos.s, _cosh.s, _exp.s, _fabs.s, _fclrexcpt.s
  2142.       _fegetenv.s, _fegetrnd.s, _feholdexc.s, _fesetenv.s, _fesetroun.s
  2143.       _finite.s, _floor.s, _fraiseexc.s, _fsetexcpt.s, _ftstexcpt.s
  2144.       _hypot.s, _isinf.s, _isnan.s, _ldexp.s, _log.s, _log10.s, _modf1.s
  2145.       _pow.s, _signbit.s, _sin.s, _sincos.s, _sinh.s, _sqrt.s, _tan.s
  2146.       _tanh.s: Likewise.
  2147.     * netlib/_accept.s, _bind.s, _connect.s, _getpeerna.s
  2148.       _getsockna.s, _getsockop.s, _gettsize.s, _hostbyadd.s, _hostbynam.s
  2149.       _listen.s, _net_error.s, _readv.s, _recv.s, _recvfrom.s, _recvmsg.s
  2150.       _sclose.s, _select.s, _send.s, _sendmsg.s, _sendto.s, _sendtosm.s
  2151.       _setsockop.s, _shutdown.s, _sioctl.s, _socket.s, _sockstat.s
  2152.       _sread.s, _swrite.s, _writev.s, htonl.s, htons.s, ntohl.s
  2153.       ntohs.s: Likewise.
  2154.     * scl/_kcurskch.s, _kernel.s, _kgetenv.s, _kosargs.s
  2155.       _kosbget.s, _kosbput.s, _kosbyte.s, _koscli.s, _kosfile.s
  2156.       _kosfind.s, _kosgbpb.s, _kosrdch.s, _kosword.s, _koswrch.s
  2157.       _ksetenv.s, _kswi_c.s: Likewise.
  2158.     * signal/_coredump.s, _signal.s, sigexec.s, printf.s:
  2159.       Likewise.
  2160.     * sys/_alloca.s, _divsi3.s, _divtest.s, _jmp.s, _mem.s
  2161.       _mman.s, _modsi3.s, _os.s, _profile.s, _sdiv.s, _sdiv10.s
  2162.       _sigjmp.s, _smod.s, _swi.s, _syslib.s, _udiv.s, _udiv10.s
  2163.       _udivsi3.s, _umod.s, _umodsi3.s, _vfork.s: Likewise.
  2164.     * time/_clock.s: Likewise.
  2165.     * unix/getpagesiz.s: Likewise.
  2166.  
  2167. Sat Jun 15 13:56:57 2002  Nick Burrett  <nick@dsvr.net>
  2168.  
  2169.     * stat/mknod.c: New file.
  2170.     * stat/mkfifo.c: New file.
  2171.     * sys/stat.h (mknod). Add prototype.
  2172.     (mkfifo): Add prototype.
  2173.     
  2174.     * unistd/chown.c: Move here from directory unix to reduce number of
  2175.     files in the directory.
  2176.     * unistd/fchown.c: Likewise.
  2177.     * unistd/link.c: Likewise.
  2178.     * unistd/readlink.c: New file. Function split from link.c
  2179.     * unistd/symlink.c: Likewise.
  2180.     
  2181. Wed Jun 12 15:34:06 2002  Nick Burrett  <nick@dsvr.net>
  2182.  
  2183.     * stdlib/rand.c (srand): Call rand, not lrand.
  2184.  
  2185.     * stricmp.c: Include strings.h.
  2186.     * strnicmp.c: Include strings.h.
  2187.  
  2188. Wed Jun 12 14:34:13 2002  Nick Burrett  <nick@dsvr.net>
  2189.  
  2190.     * stdlib/drand48.c: New file.
  2191.     * stdlib/erand48.c: New file.
  2192.     * stdlib/jrand48.c: New file.
  2193.     * stdlib/lcong48.c: New file.
  2194.     * stdlib/lrand48.c: New file.
  2195.     * stdlib/mrand48.c: New file.
  2196.     * stdlib/nrand48.c: New file.
  2197.     * stdlib/_rand48.c: New file.
  2198.     * stdlib/rand48.h: New file.
  2199.     * stdlib/seed48.c: New file.
  2200.     * stdlib/srand48.c: New file.
  2201.  
  2202.     * stdlib/rand.c: Moved here from parent directory.  Stripped out
  2203.     the rand48 functions and random and srandom.
  2204.  
  2205.     * stdlib/random.c: New file.  A better random number generator.
  2206.  
  2207.     * stdlib.h (lrand48, rand, random, srandom): Remove macroised
  2208.     versions of these functions since they are now properly implemented.
  2209.     (initstate): Declare.
  2210.     (setstate): Declare.
  2211.     (drand48): Declare.
  2212.     (erand48): Declare.
  2213.     (lrand48): Declare.
  2214.     (nrand48): Declare.
  2215.     (mrand48): Declare.
  2216.     (jrand48): Declare.
  2217.     (srand48): Declare.
  2218.     (seed48): Declare.
  2219.     (lcong48): Declare.
  2220.  
  2221.     * sys/mman.h (MAP_FAILED): Add macro.
  2222.  
  2223. Wed Jun 12 12:13:20 2002  Peter Naulls  <peter@chocky.org>
  2224.  
  2225.     * Sprites,ff9, Sprites22,ff9: Rename from !unixlib37 to !unixlib.
  2226.  
  2227. Mon Jun 10 19:14:37 2002  Stefan Bellon  <sbellon@sbellon.de>
  2228.  
  2229.     * unix/dev.c (__fsopen): Fix ImageFS logic inversion.
  2230.  
  2231. Mon Jun 10 19:08:39 2002  Peter Naulls  <peter@chocky.org>
  2232.  
  2233.     * locale.h (LC_MESSAGES): Define.
  2234.     * locale/localeconv.c (localeconv): Use malloc'ed strings rather
  2235.     than statics.
  2236.     * locale/setlocale.c (locale_names): Add LC_MESSAGES.
  2237.  
  2238. Mon Jun 10 17:31:46 2002  Nick Burrett  <nick@dsvr.net>
  2239.  
  2240.     * common/stat.c (__feature_imagefs_is_file): Remove extern decl.
  2241.     * unix/dev.c: Likewise.
  2242.     * unixlib/features.h (__feature_imagefs_is_file): Declare here.
  2243.  
  2244. Mon Jun 10 13:08:23 2002  Stefan Bellon  <sbellon@sbellon.de>
  2245.  
  2246.     * unix/dev.c (__fsopen): Support PipeFS.
  2247.     
  2248. Mon Jun 10 13:01:48 2002  Nick Burrett  <nick@dsvr.net>
  2249.               Stefan Bellon  <sbellon@sbellon.de>
  2250.  
  2251.     * unix/features.c (__feature_imagefs_is_file): Declare.
  2252.     (__runtime_features): Set default to handling Image filesystems
  2253.     as directories.
  2254.     * unix/stat.c (__stat): Allow image filesystems to be treated
  2255.     as a file.
  2256.     * unix/dev.c (__fsopen): Likewise.
  2257.  
  2258. Mon Jun 10 12:43:11 2002  Peter Naulls  <peter@chocky.org>
  2259.               John Tytgat  <John.Tytgat@aaug.net>
  2260.  
  2261.     * pwd.h (__pwddefault): Declare.
  2262.     * getpwnam.c (getpwnam): If passwd file cannot be found,
  2263.     then use __pwddefault to supply fake entries.
  2264.     * getpwnam_r.c (getpwnam_r): Likewise.
  2265.     * getpwuid.c (getpwuid): Likewise.
  2266.     * getpwuid_r.c (getpwuid_r): Likewise.
  2267.     * pwdread.c (__pwddefault): New function.
  2268.  
  2269. Mon Jun 10 12:32:13 2002  John Tytgat  <John.Tytgat@aaug.net>
  2270.  
  2271.     * math/exp.c: Include stdlib.h.
  2272.     * unix/unix.c (__badr): Delete macro.
  2273.     (__unixlib_fatal): Delete macro.
  2274.  
  2275. Mon Jun 10 11:01:17 2002  John Tytgat  <John.Tytgat@aaug.net>
  2276.  
  2277.     * unix/unix.c (_main): Make a snapshot of `environ' as calls
  2278.     to getenv can change its value, which is considered invalid.
  2279.  
  2280. Mon Jun 10 10:56:10 2002  Maarten Bezemer  <veger2002@hotmail.com>
  2281.  
  2282.     * stdio/tmpfile.c (tempnam): A logic error prevents `dir' being
  2283.     used as a suitable temporary directory.
  2284.     
  2285. Thu Apr 18 08:39:08 2002  Alex Waugh  <alex@alexwaugh.com>
  2286.  
  2287.     * stdio/printf.c (vsnprintf): Honour the length parameter even
  2288.     if it is zero.
  2289.  
  2290. Thu Apr 18 08:32:42 2002  John Tytgat  <John.Tytgat@aaug.net>
  2291.  
  2292.     * clib/stddef.h: Better protection against multiple includes
  2293.     avoiding the "repeated definition of #define macro xxx" warning
  2294.     from the Norcroft compiler.  Simplified source a bit.
  2295.     * clib/time.h: Likewise.
  2296.     * sys/time.h: Likewise.
  2297.     * sys/uio.h: Removed the unnecessary #include <stdarg.h> and
  2298.     #define __need_size_t.
  2299.  
  2300. Wed Apr 03 09:41:27 2002  Nick Burrett  <nick@dsvr.net>
  2301.  
  2302.     * netlib/host.c (gethostbyname2): New function.  Move the
  2303.     main work of gethostbyname into here.
  2304.     (gethostbyname): This is implmented in terms of gethostbyname2.
  2305.     
  2306. Wed Apr 03 08:45:18 2002  Peter Naulls  <peter@chocky.org>
  2307.  
  2308.     * memcmp.c (memcmp): Fix compiler warnings.
  2309.     * sys/debug.c (__debugval): Likewise.
  2310.     * strncmp.c (strncmp): Likewise.
  2311.     * errno.h (sys_errlist): Constify.
  2312.     * signal.h (sys_siglist): Constify.
  2313.     * stdio.h (sys_errlist): Constify.
  2314.     * time.h (tm_zone): Constify.
  2315.     * signal/signame.c (sys_siglist): Constify.
  2316.     * sys/errlist.c (sys_errlist): Constify.
  2317.     * uname.c (__uname): Return pointer to empty buffer in read/write
  2318.     space.
  2319.     
  2320. Tue Apr 02 20:01:07 2002  Nick Burrett  <nick@dsvr.net>
  2321.  
  2322.     * unix/unix.c (verify_redirection): Add logic to cope with
  2323.     file descriptor numbers before redirection operators.
  2324.     (find_redirection_type): Add logic to recognise file descriptor
  2325.     before redirection operators so as to prevent false arguments.
  2326.  
  2327. Mon Apr 01 11:27:23 2002  Peter Naulls  <peter@chocky.org>
  2328.  
  2329.     * ctype.h (isprint): Fix logic error.
  2330.  
  2331. Sat Mar 30 10:09:52 2002  Alex Waugh  <alex@alexwaugh.com>
  2332.  
  2333.     * unix/tty.c (__ttyicanon): Don't set error if EOF is encountered.
  2334.  
  2335. Sat Mar 30 10:00:52 2002  Alex Waugh  <alex@alexwaugh.com>
  2336.  
  2337.     * sys/_jmp.s: Fix APCS-32 typo.
  2338.  
  2339. Sat Mar 30 10:00:52 2002  John Tytgat  <John.Tytgat@aaug.net>
  2340.  
  2341.     * unistd.h (ualarm): Declare.
  2342.     (usleep): return type is now 'int'.
  2343.     * signal/sleep.c: Added GNU LGPL.
  2344.     (sleep_int): Created, this gets    used by `sleep' and `usleep'.
  2345.     `usleep' works now with a 1/100th sec resolution instead of 1 sec.
  2346.     * sys/alarm.c: Added GNU LGPL.
  2347.     (alarm): Synced implementation with GNU C Lib.
  2348.     (ualarm): Added.
  2349.     * time/setitmr.c (setitimer): Changed invalid parameter test
  2350.  
  2351.     * unixlib/features.h: Clean up Norcroft compiler warnings.
  2352.  
  2353. Sat Mar 30 09:37:00 2002  Theo Markettos  <theo@markettos.org.uk>
  2354.  
  2355.     * unistd/chroot.c: New file.  Stub function.
  2356.     * unistd/getpass.c: New file.
  2357.     * unistd.h (chroot): Declare.
  2358.     (getpass): Declare.
  2359.  
  2360. Mon Feb 11 13:15:03 2002  Alex Waugh  <alex@alexwaugh.com>
  2361.  
  2362.     * strtol.c (strtol): Correctly detect when the string supplied
  2363.     contains a leading +, - or 0x but no actual number.
  2364.     * strtoll.c (strtoll): Likewise.
  2365.     * strtoul.c (strtoul): Likewise.
  2366.     * strtoull.c (strtoull): Likewise.
  2367.     
  2368. Mon Feb 11 13:10:28 2002  John Tytgat  <John.Tytgat@aaug.net>
  2369.  
  2370.     * stdio/printf.c (vfprintfsub): Incorrect argument for `wcrtomb'.
  2371.     Added #include <strings.h> for bcopy() declaration.
  2372.     * sys/_syslib.s: Reshuffling of the AREAs otherwise AAsm complains.
  2373.     Added ALIGN after RMEnsure text.
  2374.  
  2375. Thu Feb  7 10:29:02 2002  Christian Ludlam  <chris@recoil.org>
  2376.  
  2377.     * unix/dirent.c (scandir): New function.
  2378.     * dirent.h (scandir): Fix prototype.
  2379.  
  2380. Thu Feb  7 10:17:01 2002  Peter Naulls  <peter@chocky.org>
  2381.  
  2382.     * alloc.c: Clean up compiler warnings.
  2383.     * netlib/host.c: Likewise.
  2384.     * stdarg.h: Likewise.
  2385.     * machine/nan.h (NAN): Likewise.
  2386.  
  2387.     * inttypes.h: Add __extension__ to GCC specific C extensions.
  2388.     * stdint.h: Likewise.
  2389.     * stdlib.h: Likewise.
  2390.     * wchar.h: Likewise.
  2391.     * unixlib/types.h: Likewise.
  2392.  
  2393.     * math.h (exp2, exp10, round, lround, llround, drem): Prototype.
  2394.     * machine/ieee754.h (__ieee754_exp): Prototype.
  2395.     
  2396.     * fcntl.h (O_NOCTTY): Define.
  2397.     * assert.h (assert): Remove __noreturn__.
  2398.     
  2399. Tue Jan 31 16:18:22 2002  Nick Burrett  <nick.burrett@btinternet.com>
  2400.  
  2401.     * getopt.h: Don't include the GNU specific getopt long stuff.
  2402.  
  2403. Tue Jan 31 16:18:22 2002  Nick Burrett  <nick.burrett@btinternet.com>
  2404.  
  2405.     * getopt.h: New file.
  2406.     * unistd.h: Include getopt.h rather than defining prototypes
  2407.     for getopt.
  2408.  
  2409. Tue Jan 31 14:31:05 2002  Nick Burrett  <nick.burrett@btinternet.com>
  2410.  
  2411.     * stdio/tmpfile.c (generate_temporary_filename): Randomise
  2412.     filename based on program start time.  This should help to
  2413.     reduce application concurrency issues.
  2414.  
  2415. Tue Jan 31 14:31:05 2002  Peter Naulls  <peter@chocky.org>
  2416.  
  2417.     * unistd.h (symlink): Declare.
  2418.     (readlink): Declare.
  2419.     * unix/link.c (symlink): New function.
  2420.     (readlink): New function.
  2421.     * unix/glob.c (glob3): Fix warnings.
  2422.     * unix/open.c (ttyname): Return pointer to a static buffer.
  2423.     * unix/syslog.c (vsyslov): Call `write' rather than `writev'.
  2424.     * unix/unix.c (__unixinit): Fix warnings.
  2425.     (initialise_unix_io): Make tty const.
  2426.  
  2427. Tue Jan 15 13:20:42 2002  Nick Burrett  <nick.burrett@btinternet.com>
  2428.  
  2429.     * stdio.h (_IOMAGIC): Change to 0xfe000000 in order to reduce
  2430.     the number of instructions required to check for a valid stream.
  2431.     * stdio/flsbuf.c (__flsbuf): Remove check on stream validity
  2432.     since all callers provide this.
  2433.     * stdio/putc.c (fputc): Implement old `putc' macro here to remove
  2434.     infinite loop caused by last change.
  2435.  
  2436. Sat Jan 12 16:31:01 2002  Nick Burrett  <nick.burrett@btinternet.com>
  2437.  
  2438.     * stdio.h (putc): Do not define as a macro.  We should not
  2439.     be evaluating the argument more than once.
  2440.  
  2441. Sat Jan 12 16:15:07 2002  Alex Waugh  <alex@alexwaugh.com>
  2442.  
  2443.     * locale/ctypetable.c (__build_ctype_tables): Correctly
  2444.     initialise __ctype_lower and upper for C/POSIX locale.
  2445.  
  2446.     * unix/dev.c (__fsopen): When opening a file O_RDWR, return
  2447.     ENOENT when file does not exist.
  2448.     
  2449. Sat Jan 12 16:09:05 2002  Peter Naulls  <peter@chocky.org>
  2450.  
  2451.     * unix/fcntl.c (fcntl): Restrict flags that can be altered
  2452.     by F_SETFL.
  2453.     
  2454. Sat Jan 12 16:06:35 2002  Peter Naulls  <peter@chocky.org>
  2455.  
  2456.     * termios/tcsetattr.c (tcsetattr): Mask out hardware state.
  2457.     * unix/tty.c (__ttyicanon): Don't reset cursor position.
  2458.  
  2459. Sat Jan 12 15:46:08 2002  Nick Burrett  <nick.burrett@btinternet.com>
  2460.  
  2461.     * stdio.h (putchar): Do not define as a macro.
  2462.  
  2463. Thu Dec 20 09:46:26 2001  David Marston  <david@illudium.org.uk>
  2464.  
  2465.     * module/sul.s (upcall_handler): Remove duplicate lines.
  2466.  
  2467. Wed Dec 19 16:52:09 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2468.  
  2469.     Module workaround for UpCall related system lock-up.
  2470.     * unixlib/asm_dec.s: New SWI decls.
  2471.     * sys/_syslib.s (_main): Add SharedUnixLibrary initialisation
  2472.     code.
  2473.     (__exit): Add SharedUnixLibrary finialsation code.
  2474.     (handlers): We no longer install __h_upcall.
  2475.     * module/sul.s: New file.
  2476.  
  2477. Tue Dec 18 11:19:01 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2478.  
  2479.     * unix/dev.c (__fsopen): Do not set O_CREAT if the files does
  2480.     not exist.
  2481.  
  2482. Thu Oct  4 13:50:05 2001  Alex Waugh  <alex@alexwaugh.com>
  2483.  
  2484.     * stdlib/realpath.c: New file.
  2485.     * stdlib.h (realpath): Declare.
  2486.  
  2487. Tue Oct 02 11:18:36 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2488.  
  2489.     * unixlib/asm_dec.s (EOPSYS): Change to 88 inline with errno.h.
  2490.  
  2491. Tue Oct 02 11:15:13 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2492.  
  2493.     * signal/_signal.s (__h_error): Call __unixlib_raise_signal
  2494.     rather than raise.
  2495.  
  2496. Fri Sep 21 17:12:15 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2497.  
  2498.     * complex.h (cacos): Fix typo that I made in last change by John..
  2499.  
  2500. Fri Sep 21 11:20:47 2001  John Tytgat  <John.Tytgat@aaug.net>
  2501.  
  2502.     * complex.h (cacos): Add missing underscore to _Complex.
  2503.     * unixlib/features.h: Add "#undef __attribute__" for
  2504.     Norcroft compatibility otherwise it complains about redefinition
  2505.     with different value.
  2506.  
  2507. Fri Sep 21 11:11:44 2001  John Tytgat  <John.Tytgat@aaug.net>
  2508.  
  2509.     * signal/_signal.s (__seterr): Wrote 4 bytes too far in
  2510.     __ul_errbuf_errblock so that next zero initialised variable got
  2511.     nuked.
  2512.  
  2513. Fri Sep 14 15:00:02 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2514.  
  2515.     This is part one of a large header file cleanup.  The patch
  2516.     reduces the namespace pollution of including too many header
  2517.     files, by creating special __need_XXX macros for headers that
  2518.     only need certain definitions.  Multiple definitions are
  2519.     fixed by using special __XXX_defined macros.
  2520.     * complex.h, dirent.h, fcntl.h, fnmatch.h, glob.h: Changed.
  2521.     * grp.h, math.h, pwd.h, setjmp.h, stdarg.h, stddef.h: Changed.
  2522.     * stdint.h, stdio.h, stdlib.h, string.h, termios.h: Changed.
  2523.     * time.h, unistd.h, utime.h, wchar.h: Changed.
  2524.     * sys/poll.h, sys/resource.h, sys/select.h: Changed.
  2525.     * sys/socket.h, sys/stat.h, sys/syslog.h: Changed.
  2526.     * sys/time.h, sys/timeb.h, sys/types.h, sys/uio.h: Changed.
  2527.     * sys/utsname.h, sys/wait.h: Changed.
  2528.     * unixlib/dev.h, unixlib/local.h, unixlib/types.h: Changed.
  2529.     * unixlib/unix.h: Changed.
  2530.  
  2531.     * unixlib/tty.h: Renamed from sys/tty.h.
  2532.     * poll.h: New header file.
  2533.     * pthread.h: New header file.
  2534.     * syslog.h: New header file.
  2535.     
  2536.     * sys/exec.c (execve): Delete code in __TTY_STATIC_BUFS.
  2537.     (__exret): Likewise.
  2538.     * unix/tty.c (__ttyopen): Likewise.
  2539.     (__ttyclose): Likewise.
  2540.     (__ttyread): Likewise.
  2541.     (__ttyicannon): Likewise.
  2542.     (__ttywrite): Likewise.
  2543.     (__ttydel): Likewise.
  2544.     * unix/unix.c (create_process_structure): Likewise.
  2545.  
  2546.     * unix/alphasort.c (alphasort): Fix definition.
  2547.     * unix/poll.c (poll): Likewise.
  2548.     * unix/syslog.c (openlog): Likewise.
  2549.     * unix/pselect.c: Include time.h.
  2550.     * unix/select.c (select): Change __FD_SETSIZE to FD_SETSIZE.
  2551.     
  2552.     * unixlib/features.h: Added macros as a placeholder for part two
  2553.     of the header file cleanup.
  2554.     
  2555.     * strings.h (index, rindex): Moved here from string.h.
  2556.     (bcmp, bcopy, bzero, strcasecmp, strncasecmp): Likewise.
  2557.     * inttypes.h (imaxdiv_t): Define.
  2558.     
  2559.     * ctype.h (_toupper, _tolower): Declare.
  2560.     * div.c (lldiv): New function.    
  2561.     * ctypeproc.c (_tolower): New function.
  2562.     (_toupper): New function.
  2563.  
  2564. Tue Sep 11 17:53:37 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2565.  
  2566.     * errno.h (EAGAIN): Renumber from 82 to 11 to bring inline
  2567.     with the Acorn Internet module.
  2568.     (EREFUSED): New Acorn Internet misspelling.
  2569.     (ENOSYS): Renumbered from 78 to 87.
  2570.     (ENOSR, ENOMSG, EBSDMSG, EIDRM, EDEADLK, ENOLCK, ENOMSG): Define.
  2571.     (ELIBVER, ELIBLIM, ELIBNOENT, ELIBNOEXEC): Define.
  2572.     * sys/errlist.c (sys_errlist): Fixup.
  2573.  
  2574.     * sys/ioctl.h (FIOSLEEPTW): Define.
  2575.     * termios/tcsetattr.c (tcsetattr): Use NOFLSH, ECHO, TOSTOP.
  2576.     * termios/tcgetattr.c (tcgetattr): Likewise.
  2577.     
  2578. Tue Sep 11 16:44:59 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2579.  
  2580.     * net/if.h: New file.  Renamed from sys/if.h.
  2581.     
  2582. Tue Sep 11 16:07:13 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2583.  
  2584.     * termios.h: Re-synced with FreeBSD 4.3.
  2585.     * sys/ioctl.h: Re-synced with FreeBSD 4.3.
  2586.     * unix/tty.c (ttydefchars): Change index 7 from _POSIX_VDISABLE
  2587.     to CERASE.
  2588.     (__ttyioctl): References into the c_cc array should use the
  2589.     V* macros rather than the C* macros.
  2590.     t_flushc gets its value from VDISCARD, not VFLUSH.
  2591.     t_brkc gets its value from VEOL, not CBRK.
  2592.     
  2593. Tue Sep 11 15:19:41 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2594.  
  2595.     * sys/child.c: Delete file.
  2596.     * objs/Makefile (SYS): Remove sys.o.child.
  2597.     (sys.o.child): Delete dependency.
  2598.     
  2599. Tue Sep 11 15:15:37 2001  John Tytgat  <John.Tytgat@aaug.net>
  2600.  
  2601.     * unix/write.c: Include <unixlib/features.h> for the
  2602.     __FEATURE* #define's.
  2603.     * sys/exec.c: Likewise.
  2604.     * unix/tty.c: Likewise
  2605.     (__ttyioctl): Changed os_423break() into __os_423break().
  2606.     * sys/vfork.c: Likewise. And added explicit pid casting
  2607.     in __vfork().
  2608.     * time/setitmr.c (add_timer): Changed variable 'new' into 'newtime'
  2609.     to avoid C++ keyword warnings.
  2610.     * wchar/wcsdup.c: Likewise.
  2611.     * unistd.h: Moved the tcsetpgrp() declaration outside the
  2612.     #if 0'ed block.  Decl. of tcgetpgrp().
  2613.     * unixlib/unix.h: Decl. of __bsd_speeds[], __unixinit(), _main(),
  2614.     __exerr, __unixlib_signal_initialise(), __resource_initialise().
  2615.     Added #include <sys/types.h>, <kernel.h>.
  2616.     * termios/tcgetattr.c: #include unixlib/unix.h for
  2617.     __bsd_speeds[].
  2618.     * termios/tcsetattr.c: Likewise.
  2619.     * termios/tcsetattr.c (tcsetattr): Explicit char casting added.
  2620.     * stdio/printf.c: Made vfprintfsub() static.
  2621.     * signal/_signal.s: Added IMPORT |__unixlib_raise_signal| & raise.
  2622.     * unix/unix.c: Removed decl. of __unixlib_signal_initalise()
  2623.     & __resource_initialise().
  2624.     * objs/Makefile,fe1: (again) removed sys/syslib.c & sys/os.c.
  2625.     Moved Predefs to the top as it is independent of which
  2626.     compiler/linker is used.
  2627.     * termcap.c: Removed #include <sys/ioctl.h> as this avoids a
  2628.     problem in the Norcroft C compiler.  This header file will be
  2629.     loaded indirectly by including the other header files.
  2630.     * unixlib/local.h: Decl. of __sfixinit() & __sdirinit().
  2631.     * unix/features.c: Moved decl. of __sfixinit() & __sdirinit()
  2632.     
  2633. Tue Sep 11 14:57:01 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2634.  
  2635.     * objs/Makefile (GRP): User group files.
  2636.     
  2637. Tue Sep 11 14:40:33 2001  John Tytgat  <John.Tytgat@aaug.net>
  2638.  
  2639.     * unistd.h (usleep): New decl.
  2640.     * signal/sleep.c (usleep): New function.
  2641.  
  2642. Tue Sep 11 14:32:08 2001  Alex Waugh  <ajw498@ecs.soton.ac.uk>
  2643.  
  2644.     * grp.h: New header file.
  2645.     * grp/fgetgrent.c: New file.
  2646.     * grp/fgetgrentr.c: New file.
  2647.     * grp/getgrent.c: New file.
  2648.     * grp/getgrgid.c: New file.
  2649.     * grp/getgrgid_r.c: New file.
  2650.     * grp/getgrnam.c: New file.
  2651.     * grp/getgrnam_r.c: New file.
  2652.     * grp/getgroups.c: New file.
  2653.     * grp/grpread.c: New file.
  2654.  
  2655.     * pwd/pwdread.c (__pwdread): Make local buffer static to
  2656.     avoid referencing problems.
  2657.     
  2658. Tue Sep 11 14:18:32 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2659.  
  2660.     * unix/select.c (select): Use recommended setting of R1 for
  2661.     Taskwindow sleep.#
  2662.     * unix/tty.c (__ttyicanon): Yield in taskwindow to reduce
  2663.     CPU use.
  2664.     (__ttyiraw): Likewise.
  2665.  
  2666. Tue Sep 11 14:04:13 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2667.  
  2668.     * alloc.c (malloc_useable_size): Don't compile.  I don't think
  2669.     this is used on RISC OS.
  2670.     (malloc_update_mallinfo): Likewise.
  2671.     (malloc_stats): Likewise.
  2672.     (mALLOPt): Likewise.
  2673.     
  2674.     * signal/_coredump.s: Change AREA C$$data to C$$zidata.
  2675.     * sys/_alloca.s: Likewise.
  2676.     * sys/_vfork.s: Likewise.
  2677.  
  2678.     * sys/_sdiv.s: Rename C$code to C$$code.
  2679.     * scl/_memchk.s: Likewise.
  2680.     * sys/_udiv10.s: Likewise.
  2681.     * sys/_smod.s: Likewise.
  2682.     * sys/_umod.s: Likewise.
  2683.     * sys/_divtest.s: Likewise.
  2684.     * sys/_profile.s: Likewise.
  2685.     * sys/_sdiv10.s: Likewise.
  2686.  
  2687.     * time/setitmr.c (remove_ticker): Add inline attribute.
  2688.     (add_ticker): Likewise.
  2689.     
  2690. Tue Sep 11 13:55:54 2001  Alex Waugh  <ajw498@ecs.soton.ac.uk>
  2691.  
  2692.     * sysexits.h: New header file.
  2693.  
  2694. Thu Sep  6 15:51:33 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2695.  
  2696.     * objs/Makefile,fe1 (SIGNAL): Remove o.setup and o.sigwakeup.
  2697.     * unixlib/sigstate.h (__unixlib_sig_init): Delete decl.
  2698.     (__unixlib_internal_post_signal): Delete decl.
  2699.     (__unixlib_setup_sighandler): Delete decl.
  2700.     (__h_sigill, __h_sigbus, __h_sigsegv0): Delete decl.
  2701.     (__h_sigfpe, __h_error, __h_sigint, __h_event): Delete decl.
  2702.     (__h_sigsys, __h_upcall, __h_sigalrm): Delete decl.
  2703.     (__h_sigvtalrm, __h_sigprof, __h_cback): Delete decl.
  2704.     (__h_exit, __cbreg, __h_errbuf, sigwakeup): Delete decl.
  2705.     * unixlib/unix.h (__runtime_features): Fix proto.
  2706.     * signal/_signal.s (__raise): Call __unixlib_raise_signal direct.
  2707.     (__h_error, __h_cback): Likewise.
  2708.     (callback_signal): Delete function.
  2709.     * signal/init.c (__unixlib_signal_initialise): Merge
  2710.     __unixlib_default_sigaction into here.
  2711.     * signal/post.c (__unixlib_default_sigaction): Delete funciton.
  2712.     (post_signal): Renaed from __unixlib_internal_post_signal.
  2713.     Make static.  Minor code cleanup.
  2714.     (sigsetup): New function.  This was __unixlib_setup_sighandler.
  2715.     * signal/setup.c: Delete file. Moved into post.c.
  2716.     * signal/sigwakeup.c: Delete file.  Nothing used it.
  2717.     * signal/signame.c (sys_siglist): Add comma after SIGTRAP [from
  2718.     Ian Jeffray].  Change message for SIGSYS to Unknown SWI.
  2719.     * signal/_syslib.s (__main): Don't change __stack_limit/__rwlimit
  2720.     after dynamic area setup [from Ian Jeffray].
  2721.     Fix inverse-logic bug when deleting UnixLib$env [from Ian Jeffray].
  2722.     
  2723. Wed Sep  5 17:32:19 2001  Alex Waugh  <ajw498@ecs.soton.ac.uk>
  2724.  
  2725.     * unix/syslog.c (vsyslog): Bug fix.
  2726.     
  2727. Wed Sep  5 17:26:15 2001  John Tytgat  <John.Tytgat@aaug.net>
  2728.  
  2729.     * objs/Makefile,fe1: Added info on how to build APCS-R and
  2730.     APCS-32 versions. Fixed include path for objasm. Removed
  2731.     sys/syslib.c & sys/os.c.
  2732.     * clib/unixlib/asm_dec.s: Changed "{config}" into "{CONFIG}"
  2733.     (objasm knows only about the latter).
  2734.     * signal/sigexec.s: Likewise.
  2735.     * signal/_coredump.s: Likewise.
  2736.     * sys/_jmp.s: Likewise.
  2737.     * sys/_jmp.s (setjmp & __longjmp_l3): Changed test on "ARMFPE = "3""
  2738.     into "{CONFIG}=26" [This means either an APCS-R build, or either
  2739.     an APCS-32 build. No other flavours possible.]
  2740.     SFM/LFM post increase must be 48, not 12. When SFM/LFM gets
  2741.     executed, it shouldn't execute STFE/LDFE as well.
  2742.     * sys/_syslib.s: Added lots of IMPORT statements.
  2743.  
  2744. Tue Sep  4 17:31:42 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2745.  
  2746.     Emphasise that these header files are private to UnixLib.
  2747.     * unixlib/dev.h: Renamed from sys/dev.h.
  2748.     * unixlib/os.h: Renamed from sys/os.h.  Change all functions to
  2749.     be prepended with a double-underscore.
  2750.     * unixlib/unix.h: Renamed from sys/unix.h.
  2751.  
  2752.     Fixup all source files for the above change.
  2753.     
  2754. Mon Sep  3 13:21:31 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2755.  
  2756.     * unix/tty.c (__tty_console_gwinsz): If a WIMP program, then
  2757.     try to read terminal size from the ROWS and COLUMNS environment
  2758.     variables.
  2759.     (__ttyioctl): Turn TIOCLGET and TIOCLSET into dummy ioctls.
  2760.     Fix typo in TIOCSETP to allow setting of CBREAK.
  2761.     
  2762. Mon Sep  3 13:07:28 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2763.  
  2764.     * unix/unix.c (check_io_redir): Print sensible error message
  2765.     upon I/O redirection failure.
  2766.     (convert_command_line): Null terminate command line.
  2767.     
  2768. Mon Sep  3 13:01:42 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2769.  
  2770.     * sys/termios.h: New header.
  2771.     * sys/types.h: Include machine/endian.h.
  2772.     * unixlib/local.h: Fix RISC OS spelling typos.
  2773.     * !Help: Likewise.
  2774.  
  2775. Mon Sep  3 09:29:42 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2776.  
  2777.     * sys/iocomm.h: Delete file -- duplicated by sys/ioctl.h.
  2778.     * sys/filio.h: Delete file -- duplicated by sys/ioctl.h.
  2779.     * sys/sockio.h: Delete file -- duplicated by sys/ioctl.h.
  2780.  
  2781. Sun Sep  2 15:03:26 2001  David Marston <david.marston@physics.org>
  2782.  
  2783.     * sys/_syslib.s (__main): Take into account __sigstk when
  2784.     checking for old dynamic area.
  2785.  
  2786. Sun Sep  2 11:25:00 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2787.  
  2788.     * stdio.h (vsnprintf): Add decl.
  2789.     (snprintf): Add decl.
  2790.  
  2791. Sun Sep  2 11:18:36 2001  Christian Ludlam <chris@recoil.org>
  2792.  
  2793.     * stdio/printf.c (out_char): New function.
  2794.     (out_write): New function.ls
  2795.     (WIDESTRING): Define.
  2796.     (WCHAR): Define.
  2797.     (STOP): Define.
  2798.     (vprintfsub): Renamed from vfprintf.  Support wide characters.
  2799.     (vfprintf): New function.
  2800.     (vsnprintf): New function.
  2801.     (snprintf): New function.
  2802.  
  2803. Sun Sep  2 11:07:47 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2804.  
  2805.     * sys/_syslib.s (__main): Let user specify their own name for
  2806.     the dynamic area.
  2807.  
  2808. Sat Sep  1 14:43:32 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2809.  
  2810.     * signal/_coredump.s (backtrace_remove_loop): Re-work restoring
  2811.     of RISC OS environment handlers.
  2812.     (backtrace_reinstall_loop): Likewise.
  2813.     (__c_environment_end): Delete.
  2814.     (AREA C$$data): Set NOINIT.
  2815.     * signal/_signal.s (__h_upcall): Fix to work in SVC mode [from
  2816.     Peter Naulls]
  2817.     (__seterr): Fix [from Peter Naulls].
  2818.     (__h_errbuf): Delete.  Change all uses to __ul_errbuf_errblock.
  2819.     (__h_error): Add some comments.
  2820.     (__h_sigint): No need to store tempories on stack.
  2821.     (__h_event): Likewise.
  2822.     (__ul_errbuf): Renamed from __ul_errbuf.pc -- makes errbuf
  2823.     the correct size [from Peter Naulls].
  2824.     * sys/_syslib.s (__read_environment_handler): Delete function.
  2825.     (__write_environment_handler): Delete function.
  2826.     (__env_riscos): New function. Replacement for
  2827.     __restore_calling_environment_handlers.
  2828.     (__env_read): New function.
  2829.     (__env_unixlib): New function.
  2830.     Set __ul_errbuf for the Error handler [from Peter Naulls].
  2831.     (handlers): New table.
  2832.     (__calling_environment): Define.
  2833.     * sys/syslib.c: Delete file.
  2834.     * sys/exec.c (execve): Inline call to __reset.
  2835.     (__exret): Call __env_read and __env_unixlib rather than
  2836.     __write_environment_handler.
  2837.     
  2838.     * sys/unix.h: Merge sys/syslib.h into here.
  2839.     (__unixinit): Delete decl.
  2840.     (__unixexit): Delete decl.
  2841.     (__find_free_child): Delete decl.
  2842.     * sys/syslib.h: Delete header file.
  2843.     * sys/_syslib.s (__main): Merge _main from sys/syslib.c into
  2844.     here.  Big code cleanup.  __himem was incorrectly set to __sigstksize.
  2845.     Reference variables relative to ip, to reduce use of LTORG.
  2846.     Incorporate the reading of UnixLib$env into here.
  2847.     Inline check_for_callaswi.
  2848.     (__svccli): Delete function.
  2849.     (check_for_callaswi): Delete function.
  2850.     (___stdioinit): Delete weak link.
  2851.     (___stdioexit): Likewise.
  2852.     (__u): Define.
  2853.     * unix/unix.c: Merge sys/syslib.c into here.
  2854.     (__atexit_function_array): New vector.
  2855.     (__atexit_function_count): New.
  2856.     (__unixinit): Initialise locale and stdio here.  Remove UnixLib$env
  2857.     checks.  If child process does not inherit an environment, then
  2858.     create a new one.
  2859.     (__unixexit): Delete function.
  2860.     (_main): New function.
  2861.     (exit): Moved here from sys/syslib.c.
  2862.     (_exit): Likewise.
  2863.  
  2864.     * bsearch.c: Include sys/unix.h rather than sys/syslib.h.
  2865.     * qsort.c, termcap.c: Likewise.
  2866.     * common/funcallerr.c: Likewise.
  2867.     * netlib/socket.c: Likewise.
  2868.     * resource/getrlimit.c, resource/initialise.c: Likewise.
  2869.     * resource/ulimit.c: Likewise.
  2870.     * signal/init.c: Likewise.
  2871.     * sys/brk.c, sys/debug.c, sys/exec.c, sys/mman.c: Likewise.
  2872.     * sys/vfork.c: Likewise.
  2873.     * time/getitmr.c, time/setitmr.c: Likewise.
  2874.     * unix/close.c, unix/dirent.c, unix/getcwd.c: Likewise.
  2875.     * unix/ioctl.c, unix/lseek.c, unix/open.c, unix/pipe.c: Likewise.
  2876.     * unix/read.c, unix/readv.c, unix/reopen.c, unix/select.c: Likewise.
  2877.     * unix/tty.c, unix/write.c, unix/writev.c: Likewise.
  2878.  
  2879.     * time/setitmr.c (check_ticker): Optimise.
  2880.     
  2881. Thu Aug 16 11:23:16 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2882.  
  2883.     * sys/_syslib.s (sigstk): Delete.
  2884.     (__main): Fix indirection error when referencing __sigstksize.
  2885.     (no_old_area): Use local variables rather than % variables
  2886.     to kill warnings.
  2887.     (exit_with_error_no_memory): Change to an unconditional MOV.
  2888.  
  2889. Thu Aug 16 11:02:04 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2890.  
  2891.     * signal/_signal.s (__h_event): Don't set our own callback.
  2892.  
  2893. Thu Aug 16 10:17:58 2001  Alex Waugh <ajw498@ecs.soton.ac.uk>
  2894.  
  2895.     * swis.h: Add SysLog module macros.
  2896.     * unix/syslog.c (LogFile): Delete.
  2897.     (connected): Delete.
  2898.     (__progname): Delete.
  2899.     (vsyslog): Use Doggysoft's SysLog module.
  2900.     (openlog): Remove old socket code.
  2901.     (closelog): Likewise.
  2902.     
  2903. Thu Aug 16 10:07:01 2001  Alex Waugh <ajw498@ecs.soton.ac.uk>
  2904.  
  2905.     * common/unixify.c (__unixify): Ensure we allocate enough buffer
  2906.     space for the ,xyz filetype extension.
  2907.  
  2908. Wed Aug 15 17:22:19 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2909.  
  2910.     * signal/_signal.s (__seterr): Prevent corruption of v5.
  2911.  
  2912. Wed Aug 15 15:25:34 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2913.  
  2914.     * tmpfile.c (tmpfile): Fix logic error with the inlined fcntl.
  2915.     We were previously taking the action of failure, which cannot
  2916.     possibly happen.
  2917.     
  2918. Thu Aug  9 08:46:48 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2919.  
  2920.     * assert.c (__assert_fail): Change exp to const char*.
  2921.     * assert.h (__assert_fail): Likewise.
  2922.     
  2923. Wed Aug  8 19:41:10 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  2924.  
  2925.     * kernel.h (struct stack_chunk): Fix GCC warning.
  2926.     * math.h (double, ldexp, scalb): Likewise.
  2927.     
  2928. Wed Aug  8 09:52:58 2001  Peter Burwood  <pjb@arcangel.dircon.co.uk>
  2929.               Nick Burrett  <nick.burrett@btinternet.com>
  2930.  
  2931.     * signal/_signal.s: Add lots of explanations.
  2932.     (__seterr): New function.  Moved here from sys/os.c.
  2933.     (_kernel_last_oserror): Likewise.
  2934.     (__h_sigsegv1): Remove code that attempted to fixup the base
  2935.     register.  Only really of use for virtual memory.
  2936.     (__h_sigsys): Alter to call __h_cback directly rather than via
  2937.     SWI OS_CallBack.
  2938.     * sys/os.c: Delete file.
  2939.     
  2940. Wed Aug  8 09:44:05 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2941.  
  2942.     Work towards a drop-in replacement for the SharedCLibrary.
  2943.     * swis.h: Renamed from sys/swis.h.
  2944.     (_swi, _swix, _FLAGS, _IN): Moved here from sys/os.h.
  2945.     (_INR, _OUT, _OUTR, _BLOCK, _RETURN, _C, _N, _Z): Likewise.
  2946.     * sys/os.h: Delete definitions above.
  2947.     * sys/swis.h: Delete file.
  2948.     * common/fdname.c: Include swis.s, not sys/swis.h.
  2949.     * common/riscosify.c: Likewise.
  2950.     * common/serial.c: Likewise.
  2951.     * locale/ctypetable.c: Likewise.
  2952.     * locale/strcoll.c: Likewise.
  2953.     * locale/strxfrm.c: Likewise.
  2954.     * locale/setlocale.c: Likewise.
  2955.     * resource/initialise.c: Likewise.
  2956.     * stdio/rename.c: Likewise.
  2957.     * sys/brk.c: Likewise.
  2958.     * sys/exec.c: Likewise.
  2959.     * sys/mman.c: Likewise.
  2960.     * sys/vfork.c: Likewise.
  2961.     * sys/syslib.c: Likewise.
  2962.     * time/strftime.c: Likewise.
  2963.     * time/stdtime.c: Likewise.
  2964.     * time/calendconv.c: Likewise.
  2965.     * time/broken.c: Likewise.
  2966.     * time/setitmr.c: Likewise.
  2967.     * time/gmtime.c: Likewise.
  2968.     * time/localtime.c: Likewise.
  2969.     * time/tzset.c: Likewise.
  2970.     * time/mktime.c: Likewise.
  2971.     * unix/dev.c: Likewise.
  2972.     * unix/tty.c: Likewise.
  2973.     * unix/rmdir.c: Likewise.
  2974.     * unix/dirent.c: Likewise.
  2975.     * unix/getcwd.c: Likewise.
  2976.     * unix/getenv.c: Likewise.
  2977.     * unix/pipe.c: Likewise.
  2978.     * unix/uname.c: Likewise.
  2979.     * unix/select.c: Likewise.
  2980.     * unix/unix.c: Likewise.
  2981.     * unix/setenv.c: Likewise.
  2982.     * unix/chdir.c: Likewise.
  2983.  
  2984. Tue Aug  7 17:44:26 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2985.  
  2986.     * signal/_coredump.s (backtrack_reinstall_loop): Replace occurrances
  2987.     of the check for APCS32 with {config}=26.
  2988.     * signal/sigexec.s (__unixlib_exec_sigstack): Likewise.
  2989.     (__unixlib_exec_sigstack_bsd): Likewise.
  2990.     (__unixlib_exec_sig): Likewise.
  2991.     * unixlib/asm_dec.s (MACRO return): Likewise.
  2992.     (MACRO stackreturn): Likewise.
  2993.     * sys/_jmp.s (__longjmp_l1): Likewise.
  2994.  
  2995. Tue Aug  7 16:13:28 2001  Nick Burrett  <nick.burrett@btinternet.com>
  2996.  
  2997.     * conform: New directory.  This is a testsuite extracted from
  2998.     glibc 2.2.3 that tests the conformancy of C library headers.
  2999.     
  3000. Tue Aug  7 10:07:03 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  3001.  
  3002.     * sys/_swi.s (__swihack): New.  Missing from initial checkin.
  3003.     (_swihack_build): Likewise.
  3004.  
  3005. Tue Aug  7 09:14:12 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  3006.  
  3007.     * sys/_swi.s: New file.
  3008.     * sys/os.h (_swi, _swix): Add function prototype.
  3009.     (_FLAGS, _IN, _INR, _OUT, _OUTR, _BLOCK, _RETURN, _C, _N, _Z): Add
  3010.     supporting macros.
  3011.     * Makefile (SYS_ASM): Add _swis.o.
  3012.     
  3013. Mon Aug  6 09:16:22 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  3014.  
  3015.     * signal/_signal.s (__h_sigint): Unset escape condition flag
  3016.     if escape not pressed.
  3017.     (__h_cback): Tidy up.
  3018.     
  3019. Mon Aug  6 09:11:55 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  3020.  
  3021.     * unix/unix.c (convert_command_line): Fix off-by-one error
  3022.     when creating temporary buffer for command line args.
  3023.  
  3024. Sat Aug 04 15:29:12 2001  Nick Burrett  <nick.burrett@btinternet.com>
  3025.  
  3026.     * sys/exec.c (set_dde_cli): Don't use strchr.
  3027.     (execve): If called from `system' then cope when command and
  3028.     arguments all appear in argv[1].
  3029.     (__exret): Ensure process->argc is set to zero.
  3030.     * sys/vfork.c (__vfork): Set child->argc earlier so if we do
  3031.     have memory problems, we at least will have the opportunity to
  3032.     free the vector.
  3033.  
  3034. Sat Aug 04 11:46:43 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  3035.  
  3036.     * time/times.c (times): Add NULL check on argument.
  3037.     * unix/tty.c (__ttyioctl): Fix the FIXMEs in TIOCGETP and TIOCSETP.
  3038.     
  3039. Thu Aug 02 09:22:31 2001  Nick Burrett  <nick@dsvr.net>
  3040.  
  3041.     * vfork.c: Unset debugging mode.
  3042.  
  3043. Thu Aug 02 15:55:07 2001  John Tytgat <John.Tytgat@aaug.net>
  3044.  
  3045.         Removing clashing symbols between UnixLib and OSLib.
  3046.         * clib/sys/os.h (__os_cli): Renamed from os_cli.
  3047.         (__os_byte): Renamed from os_byte.
  3048.     (__os_word): Renamed from os_word.
  3049.         * sys/_os.s: Likewise.
  3050.         * unix/gethostnam.c: Renamed os_byte to __os_byte.
  3051.         * unix/tty.c: Likewise.
  3052.         * sys/exec.c: Renamed os_cli to __os_cli.
  3053.     * time/time.c: Renamed from os_word to __os_word.
  3054.     
  3055. Thu Aug 02 14:26:42 2001  Nick Burrett  <nick@dsvr.net>
  3056.  
  3057.     * sys/exec.c (execve, __exret): Revert last change.  Was infact
  3058.     an off-by-1 error.
  3059.     * sys/_syslib.s (__main): Extra indirection needed to correctly
  3060.     set __sigstk.
  3061.     * sys/_vfork.s (vfork): Change final stack return from EQ to AL.
  3062.     Was dropping through to __vret.
  3063.     * sys/debug.c (__debug): Add __sigstk and __sigstksize output.
  3064.     * sys/vfork.c (__vexit): Additional logging.
  3065.  
  3066. Tue Jul 31 12:32:14 2001  Nick Burrett  <nick@dsvr.net>
  3067.  
  3068.     * sys/exec.c (execve): ushift envp only if it already exists.
  3069.     (__exret): dshift envp only if it exists.
  3070.  
  3071. Tue Jul 24 17:11:43 2001  Nick Burrett  <nick@dsvr.net>
  3072.  
  3073.     * time/strftime.c (strftime): Call tzset -- reverts John Tytgat's
  3074.     change of 08-Nov-2000.
  3075.  
  3076. Mon Jul 23 16:30:46 2001  Peter Teichmann <teich-p@Rcs1.urz.tu-dresden.de>
  3077.  
  3078.     * time.h (struct tm): Change tm_zone to char*.
  3079.     * time/calendconv.c (__calendar_convert): Don't fixup tm_gmtoff,
  3080.     tm_isdst or tm_zone here.
  3081.     * time/ctime.c (ctime): Call tzset.
  3082.     * time/gmtime.c (gmtime): Set tm_gmtoff, tm_isdst and tm_zone.
  3083.     * time/localtime.c (localtime): Likewise.
  3084.     * time/mktime.c (mktime): Call tzset. Base tm_gmtoff, tm_zone
  3085.     and tm_isdst on values of tzname.
  3086.     * time/tzset.c (__tzname): Renamed from tzname.
  3087.     (tzname): New pointer version.
  3088.     (timezone, daylight): Zero-initialise.
  3089.     (tzset): Cope with 7 character time zone names.
  3090.  
  3091. Thu May 24 14:46:43 2001  Nick Burrett  <nick@dsvr.net>
  3092.  
  3093.     * sys/_alloca.s (__alloca): Use unconditional stackreturn
  3094.     otherwise we drop into __alloca_free.
  3095.  
  3096. Wed May  9 09:21:36 2001  Nick Burrett  <nick@dsvr.net>
  3097.  
  3098.     * signal/_signal.s: Add IMPORTs for __sigstk and __sigstksize.
  3099.     Remove IMPORT for __unixlib_exec_sig_interrupt.
  3100.     * objs/Makefile (SYS_ASM): Remove sys/_address.o
  3101.  
  3102. Thu May  3 08:35:46 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  3103.  
  3104.     * unix/tty.c (__ttyiraw): Check appropriate file descriptor
  3105.     flag for O_NDELAY.
  3106.     (__ttyicanon): Likewise.  If buffer is empty and we're doing
  3107.     non-blocking I/O, return and set errno to EAGAIN.
  3108.  
  3109. Thu May  3 08:27:13 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  3110.               Nick Burrett  <nick@dsvr.net>
  3111.  
  3112.     * unix/tty.c (__ttyioctl): Implement TIOCSETAW, TIOCSETAF,
  3113.     TIOCGPGRP, TIOCSPGRP, TIOCLGET, TIOCLSET, TIOCGETP, TIOCSETP,
  3114.     TIOCGETC, TIOCSETC, TIOCGLTC and TIOCSLTC.
  3115.  
  3116. Thu May  3 07:14:49 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  3117.  
  3118.     * sys/_os.s (os_console): Don't set input stream to listen on
  3119.     serial port.
  3120.  
  3121. Thu May  3 07:14:49 2001  Peter Naulls  <peter@erble.freeserve.co.uk>
  3122.               Nick Burrett  <nick@dsvr.net>
  3123.  
  3124.     * signal/_signal.s (callback_signal): Use a semaphore to evade
  3125.     re-entrancy problems.  We cannot be certain about the size or
  3126.     state of the USR stack, so provide our own.  Merge the functionality
  3127.     of __unixlib_exec_sig_interrupt into here.
  3128.     (__h_event): Preserve flags on exit.
  3129.     (__h_cback, __cbflg): Clarify.
  3130.     * signal/sigexec.s (__unixlib_exec_sig_interrupt): Delete function.
  3131.     * sys/_syslib.s (__main): Reserve __sigstksize bytes for the
  3132.     callback_signal stack.
  3133.     (__sigstk): Define.
  3134.     (__sigstksize): Define.  Set default stack size of 4096 bytes.
  3135.  
  3136. Tue Jan  2 10:20:30 2001  Nick Burrett  <nick.burrett@btinternet.com>
  3137.  
  3138.     * signal/coredump.c: Delete file.
  3139.     * sys/_address.s: Delete file.
  3140.     * unixlib/local.h (__address_valid): Delete decl.
  3141.  
  3142. Fri Dec 29 11:49:55 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3143.  
  3144.     * sys/_mem.s (__memcpy_cu_l1): Fix typo in return regs.
  3145.     * Docs/Changes: Delete file.
  3146.  
  3147. Thu Dec 21 15:07:42 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3148.  
  3149.     Do some of the leg-work required to support APCS-32.
  3150.     * unixlib/asm_dec.s (MACRO return): New MACRO.
  3151.     (MACRO stackreturn): New MACRO.
  3152.     * All assembler files: All files changed to use the MACROs return
  3153.     and stackreturn for function exit.
  3154.  
  3155. Wed Nov 29 12:40:26 2000  John Tytgat  <John.Tytgat@aaug.net>
  3156.  
  3157.     * stdio/scanf.c (vfscanf): fix for infinite loop when skipping spaces.
  3158.     Reading fixed length string did not consume enough input characters.
  3159.     (problem found by Vincent Lefevre)
  3160.  
  3161. Wed Nov 08 10:21:26 2000  John Tytgat  <John.Tytgat@aaug.net>
  3162.  
  3163.     * time/broken.c (__cvt_broken_time): Reduced stack requirements.
  3164.     Added workaround for month overflow problem in the Territory/UK module.
  3165.     * time/calendconv.c (__calendar_convert): Removed tzset call (not
  3166.     needed).
  3167.     * time/mktime.c (mktime): Likewise.
  3168.     * time/strftime.c (strftime): Likewise.
  3169.     * clib/time.h (mktime): argument "struct tm *" is not const.
  3170.     * time/mktime.c(mktime): argument "struct tm *" is not const and
  3171.     tm_wday & tm_yday are now correctly filled in (not in __tz variable).
  3172.     * unix/fstat.c (fstat): set regs[3] to zero too when it is not a
  3173.     RISC OS device.
  3174.     * unix/stat.c (stat): stat("/dev/null") didn't work.
  3175.  
  3176. Sun Aug 20 12:04:34 2000  John Tytgat  <John.Tytgat@aaug.net>
  3177.  
  3178.     * errno.c (errno): Remove volatile, for POSIX conformance.
  3179.     * sys/_syslib.s (__wimpprogram): Export.
  3180.  
  3181. Thu Aug 17 17:17:22 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3182.  
  3183.     Re-write command line and environment passing between processes.
  3184.     Arguments are now passed on the command line rather than both the
  3185.     command line and the proc structure.
  3186.     * sys/unix.h (struct proc): Delete clean_argv, clean_argb, envb, argb.
  3187.     Add envc and cli.
  3188.     * sys/debug.c (__debug): Fix for new proc structure and print
  3189.     environment vector.
  3190.     * sys/exec.c (__ushift): Comment.
  3191.     (execve): Use os_print for debugging.  Print environment vector.
  3192.     Re-write the code for building argv and envp for the child process.
  3193.     Cope properly with " and ' in arguments.  Don't copy new argv into
  3194.     struct proc - leave this task up to __unixinit.  Major tidyup.
  3195.     Don't prepend command line with a '/' because we won't be able to
  3196.     call RISC OS builtin commands.
  3197.     (__exret): Fixup for new struct proc.
  3198.     * sys/execl.c (execl): Initially allocate memory for 8 arguments.
  3199.     * sys/vfork.c (free_process): New function.
  3200.     (__vfork): Clean up.  Re-write argv and envp inheritance.
  3201.     Call free_process on error.
  3202.     (__vexit): Call free_process.  Tidy up.
  3203.     * sys/_exec.s: Annotate.  So that in the future I don't have such a
  3204.     hard time trying to figure out what it does.
  3205.     * unix/unix.c (__unixinit): Simplify because we know that the command
  3206.     line arguments are always taken from the CLI.
  3207.     Print a more descriptive error message when something serious fails.
  3208.     (__unixexit): More descriptive __debug statements.
  3209.     (find_terminator): Optimise function.
  3210.     (initialise_process_structure): Delete #if 0 code.
  3211.     (convert_command_line): Re-work now that we've changed struct proc.
  3212.     Cope with an infinite command line length.
  3213.  
  3214.     * sys/brk.c (brk, sbrk): Add some debugging code.
  3215.     * sys/execvp.c (execvp): Add some debugging code.
  3216.     * unix/features.c: Likewise.
  3217.     * unix/getenv.c (__chkenv, __addenv): Likewise.
  3218.  
  3219.     * unix/getcwd.c (getcwd): Change unixify_path call to a __unixify_std
  3220.     call.
  3221.  
  3222. Wed Jul  5 15:58:27 2000  John Tytgat <John.Tytgat@aaug.net>
  3223.  
  3224.     * clib/errno.h (errno): Remove volatile, for POSIX conformance.
  3225.     * unix/fchmod.c: Remove garbade from header.
  3226.  
  3227. Mon Jul  3 12:31:38 2000  John Tytgat <John.Tytgat@aaug.net>
  3228.  
  3229.     * sys/syslib.h (__wimpprogram): Declare.
  3230.     * unixlib/asm_dec.s (XWimp_ReadSysInfo): Define.
  3231.     * sys/_syslib.s: Initialise __wimpprogram.
  3232.     * time/getitmr.c (getitimer): Change test for __taskwindow to
  3233.     __wimpprogram.
  3234.     * time/setitmr.c (setitimer): Likewise.
  3235.     * signal/sleep.c (sleep): Likewise.
  3236.     * unix/unix.c (__stop_itimers): Likewise.
  3237.  
  3238. Mon Jul  3 12:19:27 2000  John Tytgat <John.Tytgat@aaug.net>
  3239.  
  3240.     * common/unixify.c (unixify): Fix suffix swapping for "c.dev".
  3241.  
  3242. Mon Jul  3 12:14:10 2000  John Tytgat <John.Tytgat@aaug.net>
  3243.  
  3244.     * !Help: Change "RiscOS" to "RISC OS".
  3245.     * qsort.c: Change PARANOID to __PARANOID.
  3246.     * common/unixify.c (__unixify): Filetype extension marker is
  3247.     a comma, not a dot.
  3248.  
  3249. Sat Jun 10 13:58:43 2000  John Tytgat <John.Tytgat@aaug.net>
  3250.  
  3251.     Support `,xyz' RISC OS file type extensions on filenames.
  3252.     * dirent.h (telldir): Return __off_t.
  3253.     (struct __os_gbpb_10): New struct.
  3254.     (struct __dir_stream): Add suffix, dd_suf_off.  Change type of
  3255.     dir_cache and dir_cache_index to __os_gbpb_10.  Change do_read to
  3256.     __u_int.  Make dirent not a pointer.  Place conditionally in
  3257.     __UNIXLIB_INTERNALS.
  3258.     * unixlib/swiparams.h: New file.
  3259.     * unixlib/local.h (__sfixfind): Declare.
  3260.     (__RISCOSIFY_FILETYPE_EXT): Define.
  3261.     (__RISCOSIFY_FILETYPE_FFF_EXT): Define.
  3262.     (__RISCOSIFY_FILETYPE_NOTFOUND): Define.
  3263.     (__RISCOSIFY_FILETYPE_NOTSPECIFIED): Define.
  3264.     (__riscosify, __riscosify_std, __unixify): Add __filetype argument.
  3265.     (__unixify_std): Add declaration.
  3266.     * unixlib/asm_dec.s (USEFILEPATH): Define.
  3267.     * common/exist.c (__isdir): Add support for filetype extension.
  3268.     (__object_exists): Likewise.
  3269.     * common/riscosify.c (__sfixinit): Free previously allocated memory.
  3270.     (__sfixfind): Make global.
  3271.     (__riscosify_std): Add filetype argument.
  3272.     (__riscosify): Add filetype argument.  Support filetype extension.
  3273.     * common/serial.c (__get_file_ino): Support filetype extension.
  3274.     * common/uname.c (__uname): Likewise.
  3275.     * common/unixify.c (__unixify_std): New function.
  3276.     (__unixify): Add filetype argument.  Support filetype extension.
  3277.     * stdio/rename.c (rename): Support filetype extension.
  3278.     * unix/chdir.c (chdir): Likewise.
  3279.     * unix/chmod.c (chmod): Likewise.
  3280.     * unix/dev.c (__fsopen): Likewise.
  3281.     * unix/dirent.c (GBPB_FAKE_CURRENTDIR): Define.
  3282.     (GBPB_FAKE_PARENTDIR): Define.
  3283.     (GBPB_START_ENUM): Define.
  3284.     (GBPB_END_ENUM): Define.
  3285.     (GBPB_MAX_ENUM): Define.
  3286.     (newstream, opendir, readdir_r, readdir): Support filetype extension.
  3287.     (telldir, seekdir, rewinddir, closedir): Likewise.
  3288.     * sys/exec.c (execve): Fix call to __riscosify.
  3289.     * unix/fstat.c (fstat): Support filetype extension.
  3290.     * unix/mkdir.c (mkdir): Likewise.
  3291.     * unix/rmdir.c (rmdir): Likewise.
  3292.     * unix/stat.c (stat): Likewise.
  3293.     * unix/unlink.c (unlink): Likewise.
  3294.     * unix/utime.c (utime): Likewise.
  3295.     * unix/getcwd.c (unixify_path): Delete function.
  3296.     (getcwd): Call unixify_std instead.
  3297.     * unix/truncate.c (truncate): Fix call to __riscosify_std.
  3298.  
  3299. Sat Jun 10 09:58:21 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3300.  
  3301.     Prevent compiler warnings.
  3302.     * math/j0.c (pzero, qzero): Initialise p and q.
  3303.     * math/j1.c (pone, qone): Likewise.
  3304.     * math/jn.c (jn, yn): Likewise.
  3305.     * math/lgamma_r (lgamma_r): Initialise temp.
  3306.     * math/log1p.c (log1p): Initialise f, c and hu.
  3307.     * math/rem_pio2.c (rem_pio2): Initialize z.
  3308.     * strtod.c (Storeinc): Add parentheses.
  3309.     (__dtoa): Initialise ilim, ilim1, spec_case, mlo.
  3310.     * sys/syslib.h (__resource_initialise): Delete declaration.
  3311.     (__unixlib_signal_initialise): Delete declaration.
  3312.     * stdio/stdio.c: Include stdlib.h.
  3313.     * wchar.h: Disable inline functions.
  3314.     * wchar/wcstok.c (wcstok): Fix ambiguous else warning.  Uncomment
  3315.     __set_errno.
  3316.  
  3317. Sat Jun 03 16:21:34 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3318.  
  3319.     * wchar/btowc.c: New file.
  3320.     * wchar/mbrlen.c: New file.
  3321.     * wchar/mbrtowc.c: New file.
  3322.     * wchar/mbsinit.c: New file.
  3323.     * wchar/mbsnrtowcs.c: New file.
  3324.     * wchar/mbsrtowcs.c: New file.
  3325.     * wchar/wcpcpy.c: New file.
  3326.     * wchar/wcpncpy.c: New file.
  3327.     * wchar/wcrtomb.c: New file.
  3328.     * wchar/wcscat.c: New file.
  3329.     * wchar/wcschr.c: New file.
  3330.     * wchar/wcscmp.c: New file.
  3331.     * wchar/wcscoll.c: New file.
  3332.     * wchar/wcscpy.c: New file.
  3333.     * wchar/wcscspn.c: New file.
  3334.     * wchar/wcsdup.c: New file.
  3335.     * wchar/wcslen.c: New file.
  3336.     * wchar/wcsncat.c: New file.
  3337.     * wchar/wcsncmp.c: New file.
  3338.     * wchar/wcsncpy.c: New file.
  3339.     * wchar/wcsnrtombs.c: New file.
  3340.     * wchar/wcspbrk.c: New file.
  3341.     * wchar/wcsrchr.c: New file.
  3342.     * wchar/wcsrtombs.c: New file.
  3343.     * wchar/wcsspn.c: New file.
  3344.     * wchar/wcsstr.c: New file.
  3345.     * wchar/wcstod.c: New file.
  3346.     * wchar/wcstof.c: New file.
  3347.     * wchar/wcstok.c: New file.
  3348.     * wchar/wcstol.c: New file.
  3349.     * wchar/wcstold.c: New file.
  3350.     * wchar/wcstoq.c: New file.
  3351.     * wchar/wcstoul.c: New file.
  3352.     * wchar/wcstouq.c: New file.
  3353.     * wchar/wcswidth.c: New file.
  3354.     * wchar/wcsxfrm.c: New file.
  3355.     * wchar/wctob.c: New file.
  3356.     * wchar/wcwidth.c: New file.
  3357.     * wchar/wmemchr.c: New file.
  3358.     * wchar/wmemcmp.c: New file.
  3359.     * wchar/wmemcpy.c: New file.
  3360.     * wchar/wmemmove.c: New file.
  3361.     * wchar/wmemset.c: New file.
  3362.     * wchar.h: New file.
  3363.     * Makefile (WCHAR): Add new files.
  3364.  
  3365. Sat Jun 03 16:26:06 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3366.  
  3367.     * fenv.h (fesetexceptflag): Use const rather than __const.
  3368.     * math/exp2.c: Include stdlib.h.
  3369.     * complex.h: For Acorn C compiler, define _Complex, __real__,
  3370.     __imag__ and __complex__ to empty strings.  This is simply to
  3371.     get Acorn C to compile UnixLib rather than make a working complex
  3372.     math library.
  3373.     * complex/conj.c (conj): Hack compilation for Acorn C.
  3374.     * !Help: Add a note warning of a broken complex library.
  3375.  
  3376.     * Docs/ReadMe38: Updated.
  3377.  
  3378. Sat Jun 03 15:53:18 2000  John Tytgat <John.Tytgat@aaug.net>
  3379.  
  3380.     * fenv.h (fesetenv, feupdateenv): Use const rather than __const.
  3381.     * unix/write.c (write): Change __FEATURE_DEV_PIPE to __FEATURE_PIPEDEV.
  3382.     * unix/dev.c: Include string.h.
  3383.  
  3384. Sat Jun 03 15:44:21 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3385.  
  3386.     * unix/unix.c: Undefine DEBUG.
  3387.     * signal/post.c (__unixlib_internal_post_signal): Use os_print for
  3388.     debug messages rather than printf.  This cleans up the display when
  3389.     running UnixLib with full debug.
  3390.     (__unixlib_raise_signal): Likewise.
  3391.     * signal/setup.c (__unixlib_setup_sighandler): Likewise.
  3392.     * signal/sigprocmsk.c (sigprocmask): Likewise.
  3393.     * signal/sigsuspend.c (sigsuspend): Likewise.
  3394.     * signal/sleep.c (sleep): Likewise.
  3395.     * common/riscosify.c (__sfixinit): Likewise.
  3396.     (__riscosify): Likewise.  Inline the assert call.
  3397.     (__eprintf): Delete function.
  3398.     * signal/siginfo.c (__unixlib_siginfo_handler): Merge os_nl into
  3399.     os_print.
  3400.  
  3401. Sat Jun 03 15:26:46 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3402.  
  3403.     Remove command line length restriction - based on the work originally
  3404.     done by John Tytgat <John.Tytgat@aaug.net>.
  3405.     * unix/unix.c (__unixinit): Use a malloc buffer for the incoming
  3406.     command string.
  3407.     (create_process_structure): Don't malloc buffers for argv and argb
  3408.     here.
  3409.     (convert_command_line): Check argc doesn't exceed
  3410.     `command_line_size >> 1'. This should make it parse many one character
  3411.     arguments.
  3412.     (check_io_redir): Renamed from check_for_io_redirection.  Function
  3413.     re-written to remove code duplication and simplified.
  3414.     (get_io_redir): Created from check_for_io_redirection.
  3415.     (verify_redirection): Return an int.  Simplified.
  3416.     (find_redirection_type): Re-write.
  3417.     (initialise_unix_io): Tidy code.  When allocating an fd for stderr,
  3418.     directly access the fd array rather than using __alloc_file_descriptor.
  3419.     * sys/param.h (MAXCOMMANDLEN): Delete.
  3420.     * sys/exec.c (execve): Use command line length to create the buffer
  3421.     space for `cli'.  Remove check for length exceeding MAXCOMMANDLEN.
  3422.     Stipulate that __codeshift must be greater than command line length.
  3423.     * sys/execlp.c (execlp): Remove MAXCOMMANDLEN restriction.
  3424.     * sys/execle.c (execle): Likewise.
  3425.     * sys/execl.c (execl): Likewise.
  3426.     * sys/syslib.h (__resource_initialise): Delete decl.
  3427.     (__unixlib_signal_initialise): Delete decl.
  3428.  
  3429.     Fix compiler errors.
  3430.     * math.h (fpclassify): Remove splurious semi-colon.
  3431.     (fma, fmin, fmax, fdim, log2, lrint, llrint): Likewise.
  3432.     (nearbyint, trunc, signbit): Likewise.
  3433.     * signal/_signal.s: Use errno rather than __errno.
  3434.  
  3435.     Code clean up.
  3436.     * resource/initialise.c (__resource_initialise): Take struct proc
  3437.     as an argument. Re-write function to set variables in that argument
  3438.     rather than the global __u.
  3439.     * signal/init.c (__unixlib_signal_initialise): Likewise.
  3440.     * unix/unix.c (create_process_structure): Take no argument.  Return
  3441.     a struct proc as the result instead of directly writing to __u.
  3442.     (initialise_process_structure): Simplified.
  3443.     (__unixinit): Re-written and simplified, reducing code duplication.
  3444.     (find_terminator): Return a const char*.
  3445.  
  3446.     * !MKDir: Create directories for complex, math-asm, scl and string.
  3447.     * objs/Makefile (CCfeatures): Define as empty.
  3448.  
  3449. Sat Jun 03 13:20:28 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3450.  
  3451.     * signal/signame.c (__unixlib_internal_signame_init): Delete function.
  3452.     (sys_siglist): Statically define signals in here.
  3453.     * unixlib/sigstate.h (__unixlib_internal_signame_init): Delete decl.
  3454.  
  3455.     * locale/ctypetable.c (__build_ctype_tables): Optimised.
  3456.  
  3457. Wed Jan 12 16:55:36 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3458.  
  3459.     * inttypes.h: New header file.
  3460.     * stdint.h: New header file.
  3461.     * strtoimax.c: New file.
  3462.     * strtoumax.c: New file.
  3463.     * strtoll.c: New file.
  3464.     * strtoull.c: New file.
  3465.  
  3466.     * math.h: Add GCC __const__ attribute to some functions.
  3467.  
  3468. Wed Jan 12 16:50:51 2000  Nick Burrett  <nick.burrett@btinternet.com>
  3469.  
  3470.     * unix/features.c (features): Check UnixEnv$prog$sfix and initialise
  3471.     riscosify.
  3472.     (__sfix_default): Define.
  3473.     * unix/unix.c (__unixinit): Remove call to __riscosify_init.
  3474.     * common/riscosify.c (__sfix_default): Move to features.c.
  3475.     (__riscosify_init): Delete function.
  3476.     (__sdirinit): Rename from sdirinit and make globally accessable.
  3477.     (__sfixinit): Rename from sfixinit and make globally accessable.
  3478.     (sfix_hash): Declare inline for GCC.
  3479.  
  3480.     * sys/_syslib.s (__real_break): Declare here.
  3481.     * sys/brk.c (__real_break): Declare extern.
  3482.     
  3483.     * stdio/freopen.c (freopen): Set EINVAL if filename is NULL.
  3484.  
  3485.     * signal/signame.c (sys_siglist): Define signals at compile time.
  3486.     (__unixlib_internal_signame_init): Delete.
  3487.     * sys/syslib.c (_main): Don't call __unixlib_internal_signame_init.
  3488.  
  3489.     * sys/_exec.s (__exec_rtn_corrupt): Call _exit rather than abort.
  3490.  
  3491.     * unix/unix.c (initialise_unix_io): Inline fcntl call to duplicate
  3492.     the stdout file descriptor.
  3493.     (check_fd_redirection): Inline fcntl file descriptor duplication call.
  3494.     * stdio/fopen.c (fdopen): Inline fcntl call.
  3495.     * stdio/tmpfile.c (tmpfile): Likewise.
  3496.     * stdio/newstream.c (__getmode): Initialise mptr using a cast rather
  3497.     than call memset. Replace switch statements with if..elseif for
  3498.     improved code generation. Remove final real/write sanity check.
  3499.     * stdio.h (__getmode): Alter decl. appropriately.
  3500.  
  3501.     * unix/dev.c (__fslseek): Tidy up.
  3502.     (__pipewrite): Likewise.
  3503.     (__pipeclose): Likewise.
  3504.     (__fsclose): Likewise.
  3505.     
  3506.     * sys/unix.h (__unixlib_fatal): Add GCC's __noreturn__ attribute.
  3507.     
  3508.     * sys/brk.c (brk): Inline getrlimit call.
  3509.     
  3510.     * stdio/freopen.c (freopen): Check validity of `mode' here.
  3511.     * stdio/fopen.c (fopen): Likewise.
  3512.     * stdio/newstream.c (__getmode): Remove check for mode == NULL.
  3513.     Change return type to __io_mode; remove __io_mode parameter.
  3514.  
  3515. Thu Nov 18 12:25:07 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3516.  
  3517.     * math/llrint.c: Only GCC can compile this file.
  3518.     * math/llround.c: Likewise.
  3519.     * math.h (llround): Declare.
  3520.  
  3521. Thu Nov 18 12:18:07 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3522.  
  3523.     Move SharedCLibrary functions to their own directory.
  3524.     * scl: New directory.
  3525.     * scl/_kernel.s: Moved from directory sys.
  3526.     * scl/_kgetenv.s: Likewise.
  3527.     * scl/_kosargs.s: Likewise.
  3528.     * scl/_kosbget.s: Likewise.
  3529.     * scl/_kosbput.s: Likewise.
  3530.     * scl/_kosbyte.s: Likewise.
  3531.     * scl/_koscli.s: Likewise.
  3532.     * scl/_kosfile.s: Likewise.
  3533.     * scl/_kosfind.s: Likewise.
  3534.     * scl/_kosgbpb.s: Likewise.
  3535.     * scl/_kosrdch.s: Likewise.
  3536.     * scl/_kosword.s: Likewise.
  3537.     * scl/_koswrch.s: Likewise.
  3538.     * scl/_ksetenv.s: Likewise.
  3539.     * scl/_kswi_c.s: Likewise.
  3540.     * scl/_memchk.s: Likewise.
  3541.  
  3542.     * kernel.h (_kernel_current_stack_chunk): Declare.
  3543.     * scl/_kcurskch.s: New file. Implement it.
  3544.  
  3545.     * complex.h: Add missing header file.
  3546.  
  3547. Tue Nov 16 13:45:59 1999  John Tytgat <John.Tytgat@aaug.net>
  3548.  
  3549.     * time/setitmr.c (add_ticker): Time for OS_CallAfter was wrongly
  3550.     calculated.
  3551.     * signal/sleep.c (sleep): Don't block forever when called in a
  3552.     Taskwindow due to alarm not working.
  3553.  
  3554. Tue Nov 16 13:33:50 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3555.  
  3556.     * math-asm/_sincos.s: New file.
  3557.     * math.h (__sincos): If __UNIXLIB_INTERNALS then declare __sincos.
  3558.  
  3559.     * unixlib/math.h (signbit, copysign, finite): If __GNUC__ and
  3560.     optimising then define inline versions of these functions.
  3561.  
  3562.     * complex.h: New header file.
  3563.     * complex/cabs.c: New file.
  3564.     * complex/cacos.c: New file.
  3565.     * complex/cacosh.c: New file.
  3566.     * complex/carg.c: New file.
  3567.     * complex/casin.c: New file.
  3568.     * complex/casinh.c: New file.
  3569.     * complex/ccos.c: New file.
  3570.     * complex/ccosh.c: New file.
  3571.     * complex/cexp.c: New file.
  3572.     * complex/cimag.c: New file.
  3573.     * complex/clog.c: New file.
  3574.     * complex/clog10.c: New file.
  3575.     * complex/conj.c: New file.
  3576.     * complex/cpow.c: New file.
  3577.     * complex/cproj.c: New file.
  3578.     * complex/creal.c: New file.
  3579.     * complex/csin.c: New file.
  3580.     * complex/csinh.c: New file.
  3581.     * complex/csqrt.c: New file.
  3582.     * complex/ctan.c: New file.
  3583.     * complex/ctanh.c: New file.
  3584.  
  3585. Tue Nov 16 13:30:56 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3586.  
  3587.     * Docs/Copyright: New file.
  3588.  
  3589.     * math-asm: New directory. Move all files from math/*.s here
  3590.     to workaround RISC OS 77 file directory limit.
  3591.     * Makefile: Updated.
  3592.  
  3593.     * fenv.h: New header file.
  3594.     * math-asm/_flrexcpt.s: New file.
  3595.     * math-asm/_fegetenv.s: New file.
  3596.     * math-asm/_fegetrnd.s: New file.
  3597.     * math-asm/_feholdexc.s: New file.
  3598.     * math-asm/_fesetenv.s: New file.
  3599.     * math-asm/_fesetroun.s: New file.
  3600.     * math-asm/_fraiseexc.s: New file.
  3601.     * math-asm/_fsetexcpt.s: New file.
  3602.     * math-asm/_ftstexcpt.s: New file.
  3603.     
  3604.     * math.h: Include machine/nan.h.
  3605.     (FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, FP_NORMAL): Define.
  3606.     (fpclassify): Declare.
  3607.     (FP_ILOGB0): Define.
  3608.     (FP_ILOGBNAN): Define.
  3609.     (isfinite): Define.
  3610.     (isnormal): Define.
  3611.     (isgreater, isgreaterequal): Define.
  3612.     (isless, islessequal): Define.
  3613.     (islessgreater): Define.
  3614.     (isunordered): Define.
  3615.     * math/fpclassify.c: New file.
  3616.     * math/fma.c: New file.
  3617.     * math/fmin.c: New file.
  3618.     * math/fmax.c: New file.
  3619.     * math/fdim.c: New file.
  3620.     * math/lrint.c: New file.
  3621.     * math/llrint.c: New file.
  3622.     * math/log2.c: New file.
  3623.     * math/nearbyint.c: New file.
  3624.     * math/remquo.c: New file.
  3625.     * math/trunc.c: New file.
  3626.     
  3627.     * math/exp.c: New file.
  3628.     * math/exp2.c: New file.
  3629.     * math/exp10.c: New file.
  3630.     * math/t_exp.c: New file.
  3631.     * math/round.c: New file.
  3632.     * math/lround.c: New file.
  3633.     * math/llround.c: New file.
  3634.     * math-asm/_signbit.s: New file.
  3635.     * machine/huge_val.h (HUGE_VALL): Renamed from HUGE_VALl.
  3636.     (HUGE_VALF): Renamed from HUGE_VALf.
  3637.  
  3638. Tue Nov 16 13:25:15 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3639.  
  3640.     * sys/dev.h (struct dev): Change `open' return type to void*.
  3641.     (__fsopen, __ttyopen, __pipeopen, __sockopen): Fix accordingly.
  3642.     (__nullopen): Likewise.
  3643.     * unix/dev.c (__fsopen, __ttyopen, __pipeopen): Likewise and
  3644.     ensure all return types are cast to void*.
  3645.     (__sockopen, __nullopen): Likewise.
  3646.     * unix/tty.c (__ttyopen): Likewise.
  3647.     * unix/open.c (__open): Recognise that `open' now returns void*.
  3648.  
  3649.     * unixlib/fd.h (struct __unixlib_fd): Make `dflag' 16 bits,
  3650.     saving 4 bytes per file descriptor.
  3651.     (__alloc_file_descriptor): Wrap in `__UNIXLIB_INTERNALS'.
  3652.     * unix/dev.c (__fsopen): If file is a directory then use `opendir'.
  3653.     (__fsclose): If file is a directory then use `closedir'.
  3654.     (__fsread): If file is a directory then use `readdir_r'.
  3655.     * unix/fstat.c (fstat): Handle file canonicalisation when file
  3656.     is a directory.
  3657.  
  3658.     * common/riscosify.c (__riscosify): RISC OS pathname `@.c' was
  3659.     incorrectly translated to `@./c'.
  3660.  
  3661.     * unixlib/features.h: Make macros re-definable at compile time.
  3662.     * unix/dev.c (__FEATURE_*): Make macro checks #if rather than a
  3663.     #ifdef/#ifndef check.
  3664.     * stdio.h: Likewise.
  3665.     * dirent.h: Likewise.
  3666.  
  3667.     * common/attrib.c (__set_protection): Re-write to open up better
  3668.     optimisation by the compiler.
  3669.     (__get_protection): Likewise.
  3670.     
  3671.     * sys/os.c (__seterr): Inlined string copy to remove function
  3672.     prologue overhead and re-ordered lines for better opimisation by
  3673.     the compiler.
  3674.     
  3675.     * unix/unix.c (initialise_unix_io): Replace `dup' with `fcntl'.
  3676.     (check_fd_redirection): Replace `dup2' with `fcntl'.
  3677.     
  3678.     * unix/write.c (write): Raise SIGPIPE if __FEATURE_DEV_PIPE is
  3679.     defined.
  3680.  
  3681.     * math/drem.c: New function.
  3682.  
  3683.     * strsep.c (strsep): Don't return NULL if begin[0] is 0.
  3684.     * strtoul.c (strtoul): If the input is negative, then return 1 minus
  3685.     the result, rather than returning EINVAL.
  3686.  
  3687. Fri Sep 24 16:38:35 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3688.  
  3689.     * sys/syslib.h (__ALLOCA_FATAL, __PARANOID): Move macro definitions
  3690.     from here
  3691.     (__DYNAMIC_AREA, __4K_BOUNDARY, __USEFILEPATH): Likewise
  3692.     * unixlib/features.h: ... to here. New file.
  3693.     (__INTEGRITY_CHECK): New macro - define it by default.
  3694.     (__FEATURE_ITIMERS): New macro.
  3695.     (__FEATURE_SOCKET): New macro.
  3696.     (__FEATURE_PIPEDEV): New macro.
  3697.     * stdio.h: Include unixlib/features.h.
  3698.     (__validfp): Define as 1 if `__INTEGRITY_CHECK' is undefined.
  3699.     * dirent.h (__validdir): Likewise.
  3700.      * stdio/newstream.c (__newstream): Replace `__validfp' check with an
  3701.      inline version.
  3702.  
  3703.     * sys/syslib.c (_exit): Remove `COMPLETE_CRAP' code.
  3704.  
  3705.     * sys/vfork.c (__vexit): Call `__stop_itimers' only if
  3706.     `__FEATURE_ITIMERS' is defined.
  3707.     * sys/exec.c (execve): Likewise.
  3708.     * sys/syslib.c (_exit): Likewise.
  3709.     * unix/unix.c (__unixexit): Likewise.
  3710.  
  3711.     * sys/alarm.c (alarm): If `__FEATURE_ITIMERS' is undefined then
  3712.     set `errno' to ENOSYS and return.
  3713.     * time/setitmr.c (setitimer): Likewise.
  3714.     * unix/pipe.c: Likewise.
  3715.  
  3716.     * unix/unix.c (__stop_itimers): Define if `__FEATURE_ITIMERS' is
  3717.     defined.
  3718.     * time/setitmr.c (remove_ticker, add_ticker): Likewise.
  3719.     (check_ticker, struct timer_control): Likewise.
  3720.  
  3721.     * unix/dev.c (__dev): Include __pipe* function pointers only if
  3722.     `__FEATURE_PIPEDEV' is defined.
  3723.     Include __sock* function pointers only if `__FEATURE_SOCKET' is
  3724.     defined.
  3725.     (__pipeopen): Define if `__FEATURE_PIPEDEV' is defined.
  3726.     (__pipeclose, __piperead, __pipewrite, __pipelseek): Likewise.
  3727.     (__pipeioctl, __pipeselect): Likewise.
  3728.     (__sockopen): Define if `__FEATURE_SOCKET' is defined.
  3729.     (__sockclose, __sockread, __sockwrite, __socklseek): Likewise.
  3730.     (__sockioctl, __sockselect): Likewise.
  3731.     
  3732.     * sys/_udiv.s: Fix typo in C$code.
  3733.     
  3734.     * signal/_coredump.s (__write_corefile): We output a stack backtrace
  3735.     rather than an corefile.
  3736.     * signal/post.c (__unixlib_internal_post_signal): `sigwakeup' doesn't
  3737.     do much, so inline it.
  3738.  
  3739. Fri Sep 21 12:19:15 1999  John Tytgat  <John.Tytgat@barco.com>
  3740.  
  3741.     * common/unixify.c (__unixify): Fix the return values that would
  3742.     otherwise break `getcwd'.
  3743.  
  3744. Tue Sep 21 11:45:41 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3745.  
  3746.     * stdio.h (TMP_MAX): Reduce size to fit into a signed 32-bit
  3747.     type.
  3748.  
  3749. Tue Sep 21 11:38:03 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3750.  
  3751.     * sys/_os.s (os_prdec): New function.
  3752.     * sys/os.h (os_prdec): Declare.
  3753.     * unixlib/asm_dec.s (XOS_ConvertInteger1): Define.
  3754.     (XOS_ConvertInteger2, XOS_ConvertInteger3): Define.
  3755.     (XOS_ConvertInteger4): Define.
  3756.     * unix/write.c: Minor debug statement improvements.
  3757.     * unix/dev.c: Likewise.
  3758.     * stdio/flsbuf.c: Likewise.
  3759.     * stdio/fwrite.c: Likewise.
  3760.     * stdio/fpos.c: Likewise.
  3761.     * stdio/freopen.c: Likewise.
  3762.     * stdio/fopen.c: Likewise.
  3763.     * stdio/fclose.c: Likewise.
  3764.     
  3765.     * stdio/fpos.c (ftell): On streams open for read/write, flush the
  3766.     output buffer before attempting to calculate the file position.
  3767.     
  3768.     * Changelog: Tidy up.
  3769.  
  3770. Fri Aug 20 09:28:15 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3771.  
  3772.     * gcccompat/_udivdi3.s: New file.
  3773.     * gcccompat/_umoddi3.s: New file.
  3774.     * gcccompat/_divdi3.s: New file.
  3775.     * gcccompat/_moddi3.s: New file.
  3776.  
  3777. Wed Aug 01 13:02:06 1999  Nick Burrett  <nick.burrett@btinternet.com>
  3778.  
  3779.     * stddef.h (NULL): Remove cast to void *.
  3780.     * errno.h (errno): Define if not already defined.
  3781.     Declare `errno' and defined `__errno' as a macro to point to it.
  3782.     (ED, EIEIO): Removed.
  3783.     * unixlib/asm_dec.s (__set_errno): Use `errno'.
  3784.     (__get_errno): Define.
  3785.     * netlib/_net_error.s: Import `errno'.
  3786.     * sys/errlist.c: Remove ED and EIEIO.
  3787.     * netlib/htonl.s: Remove embedded function name.
  3788.     * netlib/htons.s, netlib/ntohl.s, netlib/ntohs.s: Likewise.
  3789.  
  3790. Tue Jul 27 21:09:00 1999 CL0085
  3791. John Tytgat <John.Tytgat@barco.com>
  3792.  
  3793.     * sys/syslib.h: Add RISC OS 4 version identifier
  3794.  
  3795. Tue Jul 27 21:09:00 1999 CL0084
  3796. John Tytgat <John.Tytgat@barco.com>
  3797.  
  3798.     * kernel.h (_kernel_oscli): Add prototype.
  3799.  
  3800. Thu May 06 20:00:00 1999 CL0083
  3801. Simon Callan <simon@callan.demon.co.uk>
  3802.  
  3803.     * Add small test programme, and build for release.
  3804.  
  3805. Mon Feb 15 20:00:00 1999 CL0082
  3806. Simon Callan <simon@callan.demon.co.uk>
  3807.  
  3808.     * Correct small problem with make file
  3809.  
  3810. Sun Jan  3 16:04:11 1999 CL0081
  3811. Nick Burrett  <nick.burrett@btinternet.com>
  3812.  
  3813.     * unix/features.c: New file.
  3814.     * sys/unix.h (__runtime_features): Declare.
  3815.     * unix/unix.c (__unixinit): Call it.
  3816.     * Makefile: Added unix/features.c.
  3817.  
  3818.     * stpcpy.c (stpcpy): Add parentheses to remove GCC warnings.
  3819.     * strcat.c (strcat): Likewise.
  3820.     * strcpy.c (strcpy): Likewise.
  3821.     * strcspn.c (strcspn): Likewise.
  3822.     * strncat.c (strncat): Likewise.
  3823.     * strpbrk.c (strpbrk): Likewise.
  3824.     * strspn.c (strspn): Likewise.
  3825.     * termcap.c (tgetent): Re-arrange code to remove GCC warnings.
  3826.     (t_tentcp, tgetnum, tgoto, tputs): Likewise.
  3827.     * common/riscosify.c (def_map): Likewise.
  3828.     (__sfixfind): Re-ordered 'if' logic.
  3829.     (__sfix_default): Add 'ii'.
  3830.     (__riscosify): Case 'char' subscripts to 'unsigned char'.
  3831.     (everywhere): Formatting changes.
  3832.     * stdio/rename.c (rename): Re-arrange code to remove GCC warnings.
  3833.     * stdio/tmpfile.c (generate_temporary_filename): Likewise.
  3834.     * sys/debug.c (__debug): Likewise.
  3835.     * sys/exec.c (execve): Likewise.
  3836.     * unix/dirent.c (readdir_r): Likewise.
  3837.     * unix/getenv.c (__addenv): Likewise.
  3838.     * unix/unix.c (convert_command_line): Likewise.
  3839.  
  3840.     * unix/select.c (select): Use 'clock' to read the monotonic time.
  3841.  
  3842.     * Docs/ReadMe: New file.
  3843.     * Docs/ReadMe38: Updated.
  3844.  
  3845. Sat Dec 12 12:32:09 1998 CL0080
  3846. Nick Burrett  <nick.burrett@btinternet.com>
  3847.  
  3848.     * alloc.c (RISCOS_CCBUG): Don't define if compiling with GCC.
  3849.     * stdio.h: Don't use pragmas if compiling with GCC.
  3850.     * signal/_coredump.s (backtrace_register_dump_loop_end): Use a
  3851.     number instead of a string in SWI OS_WriteI expression.
  3852.     (backtrace_print_function_name_found): Likewise.
  3853.  
  3854. Wed Oct 07 21:05:15 1998 CL0079
  3855. Nicholas Clark <nick@unfortu.net>
  3856.  
  3857.     * stdio/perror.c: For a null pointer perror() is supposed to print only
  3858.     the error message, not treat the null pointer as a null string.
  3859.  
  3860. Sun Oct 04 22:25:31 1998 CL0078
  3861. Nicholas Clark <nick@unfortu.net>
  3862.  
  3863.     * stdio/fread.c: Was adding (bytes read) to file offset for reads
  3864.     satisfied from stdio buffer. Result was that fseek SEEK_CUR (and ftell)
  3865.     would be wrong position in file.
  3866.     * stdio/fwrite.c: Likewise.
  3867.  
  3868. Thu Sep 24 20:47:00 1998 CL0077
  3869. Nicholas Clark <nick@unfortu.net>
  3870.  
  3871.     * clib/sys/dev.h: Prototype for __pipeselect()
  3872.     * unix/dev.c (__pipeselect): Check if there is data in the pipe ready
  3873.     to read.
  3874.     * unix/dev.c (__pipewrite): Allow more data to be written to a pipe
  3875.     after reading data has commenced.
  3876.  
  3877. Thu May 07 14:45:47 1998 CL0076
  3878. Nicholas Clark <nick@unfortu.net>
  3879.  
  3880.     * sys/_alloca.s: Reorder LDR to optimise for StrongARM
  3881.     * sys/_exec.s: Likewise.
  3882.     * sys/_jmp.s: Likewise.
  3883.     * sys/_vfork.s: Likewise.
  3884.  
  3885. Sun Jun 21 19:36:45 1998 CL0076
  3886. Nicholas Clark <nick@unfortu.net>
  3887.  
  3888.     * unix/getenv.c (__getenv_from_os): Free buffer and call malloc
  3889.     again, to save unnecessary copying of (garbage) contents.
  3890.  
  3891. Thu Jul 23 14:17:44 1998 CL0076
  3892. Nicholas Clark <nick@unfortu.net>
  3893.  
  3894.     * common/riscosify.c (sfixinit, __sfixfind): Replaced binary search
  3895.     lookup with array of linked lists keyed by a hash function. Clearer,
  3896.     smaller, presumably faster and avoids OS_HeapSort. Why did I implement
  3897.     binary search in the first place?
  3898.  
  3899. Fri Jul 24 10:40:07 1998 CL0076
  3900. Nicholas Clark <nick@unfortu.net>
  3901.  
  3902.     * signal/_signal.s: Removed two gramatically incorrect "'"s spotted
  3903.     by Peter Nauls.
  3904.     * sys/os.h: RISC OS not RiscOS in comment.
  3905.     * sys/dev.h: Likewise.
  3906.     * sys/syslib.h: Likewise.
  3907.     * stdio/rename.c: Likewise.
  3908.  
  3909. Sun Jul 26 23:58:14 1998 CL0076
  3910. Nicholas Clark <nick@unfortu.net>
  3911.  
  3912.     * signal/_coredump.s: 3 should be 12 (ie 3 * 4) in the definitions of
  3913.     __calling_environment_end and __c_environment_end as you don't get
  3914.     pointer arithmetic in assembler. Second LDR ip was actually ADR ip.
  3915.  
  3916. Fri Jun 05 18:12:47 1998 CL0075
  3917. Nick Burrett  <nick.burrett@btinternet.com>
  3918.  
  3919.     * math/_ldexp.s: Second parameter is an int, not a double.
  3920.     * clib/termios.h (__TERMIOS_H): Rename from _TERMIOS_H.
  3921.  
  3922. Sat May 09 15:37:33 1998 CL0074
  3923. Nicholas Clark <nick@unfortu.net>
  3924.  
  3925.     * clib/sys/unix.h: Add clean_argb and clean_argv to process struct
  3926.     * sys/debug.c: Dump clean_argv and clean_argb
  3927.     * sys/exec.c (execve): Reset clean_argv and clean_argb
  3928.     * sys/vfork.c (__vfork): Create child argv from clean_argv
  3929.     * unix/unix.c (convert_command_line_): Create clean_argv and
  3930.     clean_argb
  3931.  
  3932. Thu May 07 14:45:47 1998 CL0074
  3933. Nicholas Clark <nick@unfortu.net>
  3934.  
  3935.     * clib/unixlib/asm_dec.s: Correct typos in comments.
  3936.     * netlib/_net_error.s: Spotted spelling mistake in comment
  3937.     * signal/_coredump.s: Reorder LDR to optimise for StrongARM
  3938.     * signal/_signal.s: Likewise.
  3939.     * sys/_alloca.s: Likewise.
  3940.     * sys/_exec.s: Likewise.
  3941.     * sys/_jmp.s: Likewise.
  3942.     * sys/_syslib.s: Likewise.
  3943.     * sys/_vfork.s: Likewise.
  3944.     * strchr.c: BUG fixed - now casts to (char)
  3945.     * strrchr.c: Likewise.
  3946.     * memchr.c: Likewise.
  3947.  
  3948. Mon May 04 15:13:08 1998 CL0074
  3949. Nicholas Clark <nick@unfortu.net>
  3950.  
  3951.     * sys/syslib.c: Replace (r) by (return_code) inside #ifdef DEBUG
  3952.     * unix/tty.c (__ttyrc): Ensure '\r' is actualy output, else "\r\n"
  3953.     sent to tty appears as "\n". ("\n\r" output as "\n\r" with and without
  3954.     this change)
  3955.  
  3956. Sun May 03 16:22:49 1998 CL0074
  3957. Nicholas Clark <nick@unfortu.net>
  3958.  
  3959.     * common/riscosify.c (__riscosify): Add check so that
  3960.     "<GCC$Dir>.foo" and "<GCC$Dir>/foo" both convert to "<GCC$Dir>.foo"
  3961.     * unix/getenv.c (__getenv_from_os): When failing to read macro
  3962.     variable expansion due to buffer overflow r[2] not always equal to 2.
  3963.     Changed buffer overflow check to test that error number is 0x1E4
  3964.     * sys/_syslib.s (__main): Do not assume *anything* about
  3965.     registers when XOS_DynamicArea or XOS_ChangeEnvironment fail. Minor
  3966.     optimisations to exit_with_error and CallASWI check.
  3967.  
  3968. Thu Apr 30 17:42:08 CL0073
  3969. 1998 Nicholas Clark <nick@unfortu.net>
  3970.  
  3971.     * termios/tcsetattr.c: Cast (char) -1 in error check after loop that
  3972.     searches __bsd_speeds[].
  3973.     * termios/cfsetispeed.c: New file.
  3974.     * termios/cfsetospeed.c: New file.
  3975.     * termios/cfsetispeed.c: New file.
  3976.     * termios/cfsetospeed.c: New file.
  3977.     * sys/syslib.c: Remove call to __resource_initialise() - 1) at this
  3978.     point the call attempts to use undefined values, 2) it is called
  3979.     later in unix/unix.c.
  3980.  
  3981. Mon Jan 12 22:53:48 CL0072
  3982. 1998 Nicholas Clark <nick@unfortu.net>
  3983.  
  3984.     * sys/_os.s(os_prhex): Re-written - 3 words shorter, 1 loop removed.
  3985.     * sys/_syslib.s(__main): Revised code to generate dynamic area name -
  3986.     code output unchanged but new algorithm somewhat shorter
  3987.     * clib/unixlib/asm_dec.s: Added XOS_WriteI
  3988.     * signal/_coredump.s: replaces sys/coredump.c
  3989.     * signal/_signal.s(__core): moved to _coredump.s to allow a tail
  3990.     optimisation.
  3991.     * signal/coredump.c: Re-written in assembler - deleted
  3992.  
  3993. Sun Jan 11 17:35:24 1998 CL0071
  3994. Nicholas Clark <nick@unfortu.net>
  3995.  
  3996.     * signal/_signal.s: Store sp in callback handler *without* write back.
  3997.  
  3998. Thu Jan 08 17:26:49 1998 CL0071
  3999. Nicholas Clark <nick@unfortu.net>
  4000.  
  4001.     * common/riscosify.c: Moved __riscosify_control to separate file
  4002.     * common/riscosifyc.c: __riscosify_control
  4003.  
  4004. Sat Jan 03 00:10:25 1998 CL0071
  4005. Nicholas Clark <nick@unfortu.net>
  4006.  
  4007.     * sys/_os.s os_swi: use lr rather than fp to load registers (save on
  4008.     stack over SWI so SVC safe) - preserves fp for stack backtrace if SWI
  4009.     causes a signal.
  4010.  
  4011. Fri Jan 02 00:49:15 1998 CL0071
  4012. Nicholas Clark <nick@unfortu.net>
  4013.  
  4014.     * common/riscosify.c (__riscosify): Code to find end of disc name
  4015.     now more sophisticated - recognises ".$" and '/', and can reliably
  4016.     detect full native pathnames.
  4017.  
  4018. Fri Dec 26 15:34:24 1997 CL0071
  4019. Nicholas Clark <nick@unfortu.net>
  4020.  
  4021.     * common/stat.c: set X bit from R bit for all filetypes except Text and
  4022.     Data.
  4023.  
  4024. Thu Dec 25 12:00:00 1997 CL0071
  4025. Nicholas Clark  <nickc@liv.ac.uk>
  4026.  
  4027.     * unix/dev.c __fsopen: if OS_File 18 fails to create file explicitly
  4028.     check whether parent dir exists before reporting ENOENT.
  4029.     * unix/select.c select: do not assume that fd_set pointers passed in
  4030.     actually point to full length structs when writing results.
  4031.  
  4032. Sat Dec 20 19:40:05 1997 CL0070
  4033. Nick Burrett  <nick.burrett@btinternet.com>
  4034.  
  4035.     * pwd/fgetpwentr.c: New file.
  4036.     * pwd/getpwuid_r.c: New file.
  4037.     * pwd/getpwnam_r.c: New file.
  4038.     * pwd/getpwent.c (getpwent_r): New function.
  4039.     * pwd/getlogin.c (getlogin): Use re-entrant pwd functions and store
  4040.     the login name statically.
  4041.     * termios/cuserid.c: New file.
  4042.     * clib/unistd.h (L_cuserid): Defined.
  4043.     * clib/pwd.h: Add re-entrant functions.
  4044.  
  4045. Wed Jan 28 21:05:00 1998 CL0069
  4046. Simon Callan <simon@callan.demon.co.uk>
  4047.  
  4048.     * clib/sys/sockio.h: Remove reference to <sys/iocomm.h>
  4049.     * netlib/socket.c: Remove reference to <sys/filio.h>
  4050.     * sys/vfork.c: Include <termios.h>, not <termio.h>
  4051.  
  4052. Mon Dec 08 00:59:31 1997 CL0068
  4053. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4054.  
  4055.     * clib/assert.h: Allow multiple inclusion as required by the standard.
  4056.  
  4057.     * clib/ctype.h (isascii): Correct parentheses for operand precedence.
  4058.  
  4059.     * clib/netinet/in.h: Declare INADDR_NONE. Add some BSD protocols.
  4060.     Add declarations of standard well-known ports.
  4061.     (struct ip_opts): Declare.
  4062.     Include sys/byteorder.h.
  4063.  
  4064.     * netlib/ntop.c: Use __set_errno.
  4065.  
  4066.     * netlib/pton.c: Use __set_errno.
  4067.     (inet_pton4): Update to version 8.7 from Internet Software Consortium.
  4068.  
  4069.     * netlib/inet_aton.c: Use inet_pton.
  4070.     * netlib/inet_addr.c: Likewise.
  4071.  
  4072.     * sys/_syslib.s: Place _kernel_fpavailable back in C$$Code to fix
  4073.     assember errors with ObjASM 3.
  4074.  
  4075.     * sys/mman.c: Remove causes of 'use of = in a condition' warnings.
  4076.     Correct parentheses in usage of & and == in expressions.
  4077.     * time/time.c: Likewise.
  4078.  
  4079.     * unix/dirent.c (readdir_r): Do not write past the end of the d_name
  4080.     buffer. Increase cache for reading directories to 1K.
  4081.  
  4082.     * unix/ioctl.c: Remove #include <termio.h>.
  4083.  
  4084. Wed Dec 03 23:27:56 1997 CL0067
  4085. Nick Burrett  <nick.burrett@btinternet.com>
  4086.  
  4087.     * common/riscosify.c (sdirinit): Remove 'use of = in condition' warning.
  4088.     (sfixinit): Likewise.
  4089.     (sdirseg): Likewise.
  4090.     (__riscosify): Likewise.
  4091.  
  4092.     * unix/open.c (ttyname): Only return /dev/tty if fd is a terminal.
  4093.  
  4094.     * sys/_syslib.s (C$$data): Re-arrange and enforce a strict structure.
  4095.     (__main): Optimise for the new data structure arrangement.
  4096.     (__rt_stkovf_split_small): Likewise.
  4097.     (__rt_stkovf_split_big): Likewise.
  4098.     (error_table): New table
  4099.     (exit_with_error): Fix for ObjASM 3 bug. Pass an index into error_table.
  4100.     (NO_MEMORY): New define.
  4101.     (NO_CALLASWI): New define.
  4102.     (no_old_area, no_dynamic_area): Remove underscores for local names.
  4103.     (da_found, exit_word, dynamic_deletion): Likewise.
  4104.     (dynamic_area_name_end): Likewise.
  4105.     (_kernel_fpavailable): Place in its own AREA.
  4106.     * clib/sys/syslib.h (__main): Remove declaration.
  4107.  
  4108.     * clib/termios.h: Re-written.
  4109.     * clib/sys/ioctl.h: Integrate clib/sys/{fileio, sockio, iocomm}.h.
  4110.     * clib/sys/{fileio, sockio, iocomm}.h: Removed.
  4111.     * clib/termio.h: Display compiler error, if included.
  4112.     * clib/sgtty.h: New header file.
  4113.     * clib/stdio.h (L_ctermid): Define macro.
  4114.     (ctermid, cuserid): Remove enclosing #if 0
  4115.     * termios/{ctermid, cuserid, gtty, stty, tcdrain, tcflow}.c: New file.
  4116.     * termios/{tcflush, tcgetattr, tcgetpgrp, tcsendbrk}.c: New file.
  4117.     * termios/{tcsetattr, tcsetpgrp}.c: New file.
  4118.     * termcap.c: Include termios.h, not termio.h.
  4119.  
  4120.     * clib/sys/tty.h (tty): Use structure termios.
  4121.     Include termios.h, not termio.h.
  4122.     Include sys/ioctl.h.
  4123.     * unix/tty.c (everywhere): Support header file termios.h.
  4124.     Replace XTABS with OXTABS.
  4125.     (__ttyopen): Remove cc array. Use ttydefchars instead. Set __ispeed
  4126.     and __ospeed.
  4127.     (__ttyicanon): Don't recognise flag ONLRET.
  4128.     (__ttywrite): Don't recognise flag OLCUC.
  4129.     (__ttyinput): Don't recognise flag IUCLC.
  4130.     (__ttycr): Don't recognise flag OCRNL and ONOCR.
  4131.     (__ttyopen): Remove setting of c_line.
  4132.     * unix/unix.c. Use the header file termios.h.
  4133.  
  4134.     * unix/tty.c (__ttyioctl): Re-written, ready to provide more support
  4135.     for tty ioctls.
  4136.     (__ttyioctl, case TIOCEXCL): Do nothing.
  4137.     (__ttyioctl, case TIOCNXCL): Likewise.
  4138.     (__ttyioctl, case TIOCFLUSH): Flush input/output buffers.
  4139.     
  4140.     * unix/tty.c (__ttyiraw): Set variables iflag, oflag and lflag to type
  4141.     tcflag_t.
  4142.     (__ttyicanon): Likewise.
  4143.     (__ttywrite): Set variables oflag, lflag to type tcflag_t.
  4144.     (baud_map): New structure.
  4145.     (baud_rate): New array.
  4146.     (convert_baud_rate): New function.
  4147.     (__tty_423_sterm): Rename variable c to control.
  4148.     Make variable i type tcflag_t and rename to cflag.
  4149.     Remove array __ttybaud; use convert_baud_rate instead.
  4150.     (__ttyinput): Change argument iflag to type tcflag_t.
  4151.     (__ttyecho): Change arguments oflag and lflag to type tcflag_t.
  4152.     (__ttydel): Change argument lflag to type tcflag_t.
  4153.     (__ttytab): Change argument oflag to type tcflag_t.
  4154.     (__ttycr): Likewise.
  4155.     (__ttynl): Likewise.
  4156.  
  4157.     * clib/unixlib/types.h (__tcflag_t): Change type to unsigned long
  4158.     (__speed_t): New typedef.
  4159.     * clib/sys/types.h (speed_t): Define for __speed_t.
  4160.  
  4161.     * clib/unistd.h (_POSIX_{NO_TRUNC, VDISABLE, TIMERS}): Defined.
  4162.     (_POSIX_{REALTIME_SIGNALS, PII, PII_SOCKET, PII_INTERNET}): Defined.
  4163.     (_POSIX_{PII_INTERNET_STREAM, PII_INTERNET_DGRAM, POLL}): Defined.
  4164.     (_POSIX_SELECT): Defined.
  4165.  
  4166.     * clib/termcap.h: Correct prototype declarations.
  4167.     * termcap.c (tgetent): Fix prototypes according to termcap.h.
  4168.     (tgetnum, tgetflag, tgetstr, tputs): Likewise.
  4169.     (t_tgetid): Make argument const.
  4170.     (everywhere): Replace 0 with NULL when referring to pointers.
  4171.     Remove use of register.
  4172.     Remove causes of 'use of = in condition' warning.
  4173.  
  4174.     * sys/_os.s: Remove all uses of the macro NAME.
  4175.  
  4176. Wed Oct 29 10:43:50 1997 CL0066
  4177. Nick Burrett  <nick.burrett@btinternet.com>
  4178.  
  4179.     * wchar/mblen.c: New file.
  4180.     * wchar/mbstowcs.c: New file.
  4181.     * wchar/mbtowc.c: New file.
  4182.     * wchar/wcstombs.c: New file.
  4183.     * wchar/wctomb.c: New file.
  4184.     * clib/stdlib.h [0]: Allow prototypes for mblen, mbstowcs, mbtowc,
  4185.     wcstombs and wctomb to be declared.
  4186.  
  4187.     * unix/fnmatch.c: Remove some RCS/SCCS headers. Reformat for GNU
  4188.     coding standards.
  4189.  
  4190. Tue Oct 21 00:07:06 1997 CL0065
  4191. Nicholas Clark  <nickc@liv.ac.uk>
  4192.  
  4193.     * unix/dev.c (__pipeselect): Fix to use FD_SET (initial version passed
  4194.     int * rather than fd_set *)
  4195.  
  4196. Mon Oct 20 11:05:21 1997 CL0064
  4197. Nick Burrett  <nick.burrett@btinternet.com>
  4198.  
  4199.     * common/riscosify.c (__riscosify): Extra comments. Re-write of
  4200.     the code used to part discnames and environment variables.
  4201.     (can_csd): Removed.
  4202.     (dir_sep_kind): Removed.
  4203.  
  4204.     * unix/syslog.c: Fixes to allow a successful compilation.
  4205.     * clib/sys/syslog.h: Prevent multiple inclusion.
  4206.     (_PATH_LOG): Changed to /usr/syslog.
  4207.     (vsyslog): Use correct va_list prototype.
  4208.  
  4209. Sun Oct 19 13:59:14 1997 CL0063
  4210. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4211.  
  4212.     * clib/unixlib/local.h: Put __open and __close back in.
  4213.     Comment out __riscosify_std macro.
  4214.     * clib/sys/unix.h (struct sfile): Remove.
  4215.  
  4216.     * common/exist.c: Remove unnecessary #include's.
  4217.     Use _POSIX_PATH_MAX instead of MAXPATHLEN.
  4218.     (__isdir): Call __isdir_raw rather than os_file.
  4219.     (__object_exists): Likewise.
  4220.     * common/_exist.c: Use OS_File 17 rather than OS_File 5.
  4221.     * common/fdname.c: Remove causes of 'use of = in a condition' warnings.
  4222.  
  4223.     * unix/*.c: Remove causes of 'use of = in a condition' warnings.
  4224.     Use __set_errno. Use __riscosify_std instead of __riscosify.
  4225.     Remove '__' from argument types in .c files. Remove 'register'.
  4226.     Use meaningful variable names.
  4227.     Use _POSIX_PATH_MAX instead of MAXPATHLEN.
  4228.     Use os_* when already exists in preference to os_swi.
  4229.     Reduce #include's to those required (on some files).
  4230.  
  4231.     * unix/access.c: General tidy up as above.
  4232.     * unix/fcntl.c: Likewise.
  4233.     * unix/fnmatch.c: Likewise.
  4234.     * unix/fstat.c: Likewise.
  4235.     * unix/getenv.c: Likewise.
  4236.     * unix/gethostnam.c: Likewise.
  4237.     * unix/getopt.c: Likewise.
  4238.     * unix/glob.c: Likewise.
  4239.     * unix/isatty.c: Likewise.
  4240.     * unix/ispipe.c: Likewise.
  4241.     * unix/link.c: Likewise.
  4242.     * unix/lseek.c: Likewise.
  4243.     * unix/pipe.c: Likewise.
  4244.     * unix/select.c: Likewise.
  4245.     * unix/stat.c: Likewise.
  4246.     * unix/sync.c: Likewise.
  4247.     * unix/sysconf.c: Likewise.
  4248.     * unix/truncate.c: Likewise.
  4249.     * unix/ulink.c: Likewise.
  4250.  
  4251.     * unix/chdir.c: Set ENOENT rather than EEXIST when directory does
  4252.     not exist.
  4253.     * unix/chmod.c (chmod): OS_File 17 instead of OS_File 5.
  4254.     (fchmod): Move into its own compilation unit.
  4255.     * unix/fchmod.c: New file.
  4256.     * unix/chown.c (fchown): Move into its own compilation unit.
  4257.     * unix/fchown.c: New file.
  4258.  
  4259.     * unix/dev.c: Restructure to remove most gotos.
  4260.  
  4261.     * unix/dirent.c: Define CACHE_SIZE. Loop on call to fill cache with
  4262.     OS_GBPB, since that can fail.
  4263.  
  4264.     * unix/dup2.c: Correct validation of FD2 argument.
  4265.  
  4266.     * unix/getcwd.c (unixify_path): New function.
  4267.     (getcwd): Use unixify_path to call __unixify.
  4268.  
  4269.     * unix/mkdir.c: OS_File 17 instead of OS_File 5.
  4270.  
  4271.     * unix/open.c (struct sfile): Moved here.
  4272.  
  4273.     * unix/pathconf.c (fpathconf): Convert FD to filename for call
  4274.     to pathconf.
  4275.  
  4276.     * unix/rmdir.c: Loop on OS_GBPB 9 as required by the PRM's.
  4277.  
  4278.     * unix/setenv.c (unsetenv): Re-adjust EP pointer when removing
  4279.     item from array.
  4280.  
  4281.     * unix/tty.c: (MAX_INPUT): #if used to check value is valid.
  4282.     (__ttyicanon): Swapped tty and file_desc argument position and callers.
  4283.     (__ttyiraw): Likewise.
  4284.     (__ttywrite): Remove unnecessary isupper.
  4285.     (__ttyinput): Likewise.
  4286.  
  4287.     * unix/unix.c: Ensure function names appear at start of line.
  4288.     (check_fd_redirection): Check fd < MAXFD.
  4289.  
  4290.     * unix/utime.c: OS_File 17 instead of OS_File 5.
  4291.  
  4292.     * unix/wait4.c (wait4): Check options against ~(WNOHANG|WUNTRACED).
  4293.  
  4294. Fri Oct 17 10:17:06 1997 CL0062
  4295. Nick Burrett  <nick.burrett@btinternet.com>
  4296.  
  4297.     * clib/glob.h: Don't include <sys/stat.h> when compiled with GCC.
  4298.  
  4299.     * sys/syslib.c (_main): Remove call to ___do_global_ctors and __fptest.
  4300.     Use __[read,write]_environment_handler.
  4301.     * sys/syslib.s (___do_global_ctors): Remove.
  4302.     (__no_dynamic_area): Merge __fptest into here.
  4303.     (__fptest): Remove.
  4304.     (__read_environment_handler): Renamed from __rdenv.
  4305.     (__write_environment_handler): Renamed from __wrenv.
  4306.     (__rt_stkovf_split_small): Call __unixlib_raise_signal directly.
  4307.     (__rt_stkovf_split_big): Likewise.
  4308.     * sys/exec.c: (__exret): Use __write_environment_handler.
  4309.     * clib/sys/syslib.h (__fptest): Remove declaration.
  4310.     (___do_global_ctors): Remove declaration.
  4311.     (__read_environment_handler): Renamed from __rdenv.
  4312.     (__write_environment_handler): Renamed from __wrenv.
  4313.     * signal/coredump.c (__backtrace): Use __write_environment_handler.
  4314.  
  4315. Tue Oct 14 11:18:13 1997 CL0061
  4316. Nicholas Clark  <nickc@liv.ac.uk>
  4317.  
  4318.     * clib/unixlib/local.h: Added 2 new riscosify flags
  4319.     * riscosify.c __riscosify(): now check for dir present. os_file 17
  4320.     before creating dir. more comments
  4321.  
  4322. Tue Oct 14 23:36:35 1997 CL0060
  4323. Nick Burrett  <nick.burrett@btinternet.com>
  4324.  
  4325.     * atexit.c (__atexit_function_array): Renamed from __ax.
  4326.     (__atexit_function_count): Renamed from __axcnt.
  4327.     (__MAX_ATEXIT_FUNCTION_COUNT): Renamed from __MAX_AXCNT.
  4328.     * clib/stdlib.h: Likewise.
  4329.     * sys/syslib.c: Likewise.
  4330.     (_main): Setup the signal names and resource limits as early as
  4331.     possible.
  4332.     Do not initialise the signal handlers here.
  4333.     * signal/init.c (__unixlib_signal_initialise): Do not setup the
  4334.     signal names here.
  4335.  
  4336.     * bsearch.c (bsearch): Use more meaningful variable names.
  4337.  
  4338.     * unix/unix.c (convert_command_line): Don't decrement argc when
  4339.     we terminate the argv list.
  4340.     (__unixinit): Initialise the signal handlers immediately after
  4341.     the process structure has been created.
  4342.  
  4343.     * unix/stat.c (lstat): Move into its own compilation unit.
  4344.     (fstat): Likewise.
  4345.     (__stat): Likewise.
  4346.     * unix/lstat.c: New file.
  4347.     * unix/fstat.c: New file.
  4348.     * common/stat.c: New file.
  4349.     * clib/sys/stat.h (__stat): Declare.
  4350.  
  4351. Tue Oct 14 17:01:00 1997 CL0059
  4352. Nick Burrett  <nick.burrett@btinternet.com>
  4353.  
  4354.     * Docs/Changelog: Add entries CL0001 to CL0030
  4355.     * Doc/CL0000049/*: delete
  4356.  
  4357. Mon Oct 13 00:07:23 1997 CL0058
  4358. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4359.  
  4360.     * clib/unistd.h: Use __nbytes rather than __n in prototype or write.
  4361.  
  4362.     * clib/sys/uio.h: Update prototypes for readv, writev to use __ssize_t.
  4363.  
  4364.     * unix/read.c: Added quick exit for nbytes == 0. Use ssize_t rather
  4365.     than __ssize_t and removed unnecessary type conversions to ssize_t.
  4366.     * unix/write.c: Likewise.
  4367.  
  4368.     * unix/readv.c: Use ssize_t instead of int. Check iov_len before
  4369.     calling device read function. Return byte count if fail after first
  4370.     read. Set errno to EINVAL if count is <= 0.
  4371.     * unix/writev.c: Likewise. Also increment process's output count.
  4372.  
  4373. Sun Oct 12 11:58:29 1997 CL0057
  4374. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4375.  
  4376.     * clib/netinet/ip.h (struct ip): Use bitfields to ensure structure
  4377.     layout is correct with ARM C compiler in ANSI mode.
  4378.     (struct ip_timestamp): Likewise.
  4379.     * clib/netinet/ip_var.h (struct ipasfrag): Likewise.
  4380.     * clib/netinet/tcp.h (struct tcphdr): Likewise.
  4381.  
  4382. Sat Oct 11 01:00:00 1997 CL0056
  4383. Simon Callan  <simon@callan.demon.co.uk>
  4384.  
  4385.     * sys/_jmp.s: restore file that got deleted.
  4386.  
  4387. Thu Oct 09 16:05:58 1997 CL0055
  4388. Nick Burrett  <nick.burrett@btinternet.com>
  4389.  
  4390.     * unix/unix.c (__unixlib_fatal, __badr): Add the noreturn attribute
  4391.     to the function definition.
  4392.     [__badr, __unixlib_fatal]: Don't define for __GNUC__.
  4393.     (check_for_io_redirection): Recogise the [fd]> redirection construct.
  4394.     Call __open to open the file descriptor.
  4395.     (verify_redirection): Likewise.
  4396.     (get_fd_redirection): New function.
  4397.     (convert_command_line): Check *cli != NULL on the 2nd while loop.
  4398.  
  4399.     * unix/open.c (__open): Move code to open a file for a file descriptor
  4400.     to here.
  4401.     (open): Call __open.
  4402.     (__sfile): Make static.
  4403.     * unix/close.c (__close): Move code to perform the file descriptor
  4404.     closing to here.
  4405.     (close): Call __close.
  4406.     * unix/reopen.c (__reopen): Delete common code shared with close/open
  4407.     and call __close/__open instead.
  4408.     * clib/unixlib/local.h (__open, __close): Declare.
  4409.     * clib/sys/unix.h (__sfile): Remove
  4410.  
  4411.     * unix/pselect.c: New file.
  4412.     * unix/poll.c: New file.
  4413.     * clib/sys/select.h (pselect): Declare.
  4414.     * clib/sys/poll.h: New file
  4415.  
  4416. Thu Oct 09 20:08:48 1997 CL0054
  4417. Simon Callan  <simon@callan.demon.co.uk>
  4418.  
  4419.     * all files: remove all RCS log entries.
  4420.  
  4421. Mon Oct 06 22:36:06 1997 CL0053
  4422. Nicholas Clark  <nickc@liv.ac.uk>
  4423.  
  4424.     * netlib/_net_error.s: preserve ip across call to __seterr
  4425.  
  4426. Sat Sep 20 09:53:25 1997 CL0052
  4427. Nicholas Clark  <nickc@liv.ac.uk>
  4428.  
  4429.     * strlen.c: Rewrite to optimise loop by 1 ARM instruction (3 not 4)
  4430.  
  4431. Mon Sep 29 23:56:40 1997 CL0052
  4432. Nicholas Clark  <nickc@liv.ac.uk>
  4433.  
  4434.     * clib/sys/tty.h: Add 1 character lookahead buffer
  4435.     * clib/sys/dev.h: add __select function entry to dev table
  4436.     relevant function prototypes wrapped with __UNIXLIB_NO_COMMON_DEV
  4437.     changed all dev table functions to pass unixlib_fd pointer as 1st arg
  4438.     tidied and added __ to dummy argument names
  4439.  
  4440.     * unix/tty.c: Use lookahead buffer to implement __ttyselect
  4441.     __ttyicanon and __ttyiraw check lookahead, __ttylseek not compiled
  4442.     unless __UNIXLIB_NO_COMMON_DEV
  4443.  
  4444.     * unix/close.c: use __set_errno. more debugging info
  4445.  
  4446.     * unix/dev.c: relevant functions wrapped with __UNIXLIB_NO_COMMON_DEV
  4447.     added __*select, changed functions to pass unixlib_fd as 1st arg
  4448.  
  4449.     * unix/open.c,
  4450.     * unix/pipe.c: changed to call with unixlib_fd as 1st arg
  4451.  
  4452.     * unix/ioctl.c,
  4453.     * unix/lseek.c,
  4454.     * unix/read.c,
  4455.     * unix/readv.c,
  4456.     * unix/reopen.c,
  4457.     * unix/write.c,
  4458.     * unix/writev.c: changed to call with unixlib_fd as 1st arg
  4459.     use __set_errno
  4460.  
  4461.     * netlib/accept.c: set _FDMAGIC on accepted socket's fd
  4462.  
  4463.     * sys/select.h: remove const from select prototype
  4464.     * netlib/select.c: renamed as unix/select.c
  4465.     * unix/select.c: major re-write. Copes with all DEVs. Retruns FD_SETs of
  4466.     live fds. Subtracts time waited from timeout passed
  4467.  
  4468.     * signal/coredump.c __backtrace: Give register dump when PC is invalid
  4469.  
  4470. Mon Oct 06 20:20:30 1997 CL0051
  4471. Nick Burrett  <nick.burrett@btinternet.com>
  4472.  
  4473.     * unix/unix.c (check_for_io_redirection): Cope with spaces appearing
  4474.     after a redirection chevron.
  4475.     (verify_redirection): Likewise.
  4476.     (convert_command_line): Likewise.
  4477.  
  4478. Sat Oct 04 16:05:23 1997 CL0050
  4479. Nick Burrett  <nick.burrett@btinternet.com>
  4480.  
  4481.     * unix/unix.c: (initalise_process_structure): Renamed from
  4482.     __initialise_proc.
  4483.     Rename process variable 'u' to 'process'.
  4484.     Increase the regs array from 3 to 10.
  4485.     (__unixinit): Re-write and split into many functions.
  4486.     (create_process_structure): New function.
  4487.     (initialise_unix_io): New function.
  4488.     (check_fd_redirection): New function.
  4489.     (find_terminator): New function.
  4490.     (check_for_io_redirection): New function.
  4491.     (verify_redirection): New function.
  4492.     (find_redirection_type): New function.
  4493.     (convert_command_line): New function.
  4494.  
  4495.     * sys/exec.c (execl, execle, execlp, execv, execvp): Move into
  4496.     their own separate compilation units.
  4497.     (execve): Cosmetic changes, make variable names more descriptive.
  4498.     * sys/execl.c: New file.
  4499.     * sys/execle.c: New file.
  4500.     * sys/execlp.c: New file.
  4501.     * sys/execv.c: New file.
  4502.     * sys/execvp.c: New file.
  4503.  
  4504. Sat Oct 04 23:36:26 1997 CL0049
  4505. Nicholas Clark  <nickc@liv.ac.uk>
  4506.  
  4507.     * common/riscosify.c (__riscosify): Ensure "." returns "@"
  4508.     Do create directories unless they exist already. (not don't!)
  4509.     (sdirinit) don't loose last char from names when adding '.'
  4510.  
  4511. Sat Sep 20 09:53:25 1997 CL0048
  4512. Nicholas Clark  <nickc@liv.ac.uk>
  4513.  
  4514.     * clib/unixlib/asm_dec.s: Added NetSWIsimple macro
  4515.     Update NetSWI to call __net_error before changing out of SVC
  4516.  
  4517.     * netlib/_net_error.s: Added  __net_error_simple_entry
  4518.     * netlib/*.s
  4519.       Files with 1-4 args which call NetSWI: Replaced with NetSWIsimple
  4520.       Other files which call NetSWI: remove BLVS __net_error
  4521.     netlib/_shutdown.s,
  4522.     netlib/_listen.s,
  4523.     netlib/_ioctl.s,
  4524.     netlib/_getsockname.s,
  4525.     netlib/_getpeername.s,
  4526.     netlib/_connect.s,
  4527.     netlib/_close.s,
  4528.     netlib/_bind.s:
  4529.       NetSWIsimple0 - ie don't rely on R0 being uncorrupted.
  4530.     netlib/_getsockopt.s:
  4531.     netlib/_setsockopt.s:
  4532.       NetSWI0 - ie don't rely on R0 being uncorrupted.
  4533.     netlib/_select.s: Work around bug in Internet 5.02
  4534.  
  4535. Sat Oct 04 19:40:02 1997 CL0047
  4536. Nicholas Clark  <nickc@liv.ac.uk>
  4537.  
  4538.     * common/riscosify.c (__riscosify): Ensure "." returns "@"
  4539.     (sdirinit) don't loose last char from names when adding '.'
  4540.  
  4541. Thu Oct 02 11:53:21 1997 CL0046
  4542. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4543.  
  4544.     * clib/dirent.h (struct __dir_stream): Correct spelling of gbpb_off
  4545.     field and change type to remove compiler warning.
  4546.  
  4547.     * clib/sys/unix.h: Remove struct sdir. Correct indentation.
  4548.  
  4549.     * clib/unixlib/local.h: Change __RISCOSIFY_* from enum. Declare
  4550.     __riscosify_init. Conditionalise out __sfixfind. New macro
  4551.     __RISCOSIFY_TRUNCATE_VALUE replaces separate mask and shift.
  4552.  
  4553.     * common/riscosify.c (__riscosify_init): New function.
  4554.     (__sdirinit): Moved from unix.c and rewritten to make it easy to add
  4555.     default mappings for Unix directories to RISC OS directories.
  4556.     (size_t truncate[]): Removed reference to the devil himself.
  4557.     (sdirseg): Changed return value to enum sdirseg_result. Move '.'
  4558.     termination of translation to sdirinit.
  4559.     (__riscosify): Style. Correct os_file (8) call. Allow '_' in
  4560.     pathnames. Various bug fixes
  4561.  
  4562.     * common/uname.c: __uname moved back here from riscosify.c.
  4563.  
  4564.     * common/unixify.c (__unixify): Free buffer if it overflows.
  4565.     Keep symmetric with __riscosify.
  4566.  
  4567.     * sys/exec.c: Merge recent changes from Nick B and Nick C.
  4568.     * sys/syslib.c: Likewise.
  4569.     * unix/dirent.c: Likewise.
  4570.     * unix/stat.c: Likewise.
  4571.  
  4572.     * unix/unix.c: (__unixinit): Tidied up redirection processing and added
  4573.     support for [n]<> file and more comments.
  4574.     (__panic): Removed. (__badr): Reinstated. Simulated 'noreturn' on
  4575.     __badr and local use of __unixlib_fatal from within __unixinit since
  4576.     it reduces code size.
  4577.     (__sdirinit): Moved with suffix initialisation code to
  4578.     common/riscosify.c.
  4579.     
  4580. Fri Sep 19 13:40:41 1997 CL0045
  4581. Nick Burrett  <nick.burrett@btinternet.com>
  4582.  
  4583.     * common/unixify.c: #include <errno.h>
  4584.     * clib/sys/unix.h (__sfix): Remove definition.
  4585.     * clib/unixlib/local.h: Move #include <stddef.h> outside of
  4586.     __UNIXLIB_INTERNALS check. General tidy-up.
  4587.     * clib/unixlib/math.h: Don't #include <machine/endian.h>.
  4588.     * sys/_exec.s (__exec_rtn_corrupt): Call abort() instead of raise().
  4589.     * sys/_alloca.s (__builtin_alloca): Do not define.
  4590.  
  4591.     * unix/stat.c (__stat): Remove #ifdef DEV_SOCKET
  4592.     * unix/dev.c (__dev): Likewise.
  4593.     
  4594.  
  4595. Thu Sep 18 23:40:22 1997 CL0044
  4596. Nicholas Clark  <nickc@liv.ac.uk>
  4597.  
  4598.     * sys/exec.c execve: Changed processing of execname[0] == '*' so that
  4599.     it removes '*' and ' ' characters from child argb.
  4600.  
  4601.     * clib/unixlib/asm_dec.s: Corrected macro NetSWI to load errno before
  4602.     exiting SVC mode.
  4603.  
  4604.     * netlib/s/_net_error: Removed code to load errno
  4605.  
  4606. Thu Sep 18 17:29:38 1997 CL0043
  4607. Nick Burrett  <nick.burrett@btinternet.com>
  4608.  
  4609.     * clib/stdlib.h: Annotated. Don't #include <errno.h>.
  4610.     * unix/getenv.c: #include <errno.h>.
  4611.     * unix/dirent.c: #include <errno.h>. Remove Alun Jones comment.
  4612.     * stdio/newstream.c: #include <errno.h>.
  4613.     (__getmode): Set errno with __set_errno.
  4614.     * stdio/getdelim.c: #include <errno.h>.
  4615.     (getdelim): Set errno with __set_errno.
  4616.     * stdio/fwrite.c: #include <errno.h>.
  4617.     (fwrite): Set errno with __set_errno.
  4618.     * stdio/fread.c: #include <errno.h>.
  4619.     * stdio/flsbuf.c: #include <errno.h>.
  4620.     (__flsbuf): Set errno with __set_errno.  Include Nick Clark's change
  4621.     to prevent a write operation of zero bytes.
  4622.     * stdio/filbuf.c: #include <errno.h>.
  4623.     * stdio/fclose.c: #include <errno.h>.
  4624.     (fclose): Set errno with __set_errno.
  4625.     * system.c: #include <errno.h>.
  4626.     (system): Set errno with __set_errno.
  4627.  
  4628.     * clib/assert.h (__fail): Delete
  4629.     (__assert_fail): Declare prototype.
  4630.     (assert): Fix to reflect above. Define a GCC specific version.
  4631.     * assert.c (__fail): Delete.
  4632.     (__assert_fail): New function.
  4633.     
  4634.     * clib/dirent.h (__dir_stream): Make __magic an unsigned int.
  4635.     (DIRSIZ): Remove
  4636.  
  4637.     * clib/sys/syslib.h (handler): Replace one character variable names
  4638.     with something more appropriate.
  4639.     (env): Likewise. Use a macro to define number of handlers.
  4640.     (__ENVIRONMENT_HANDLERS): Define
  4641.     (__Oenv): Rename to __calling_environment.
  4642.     (__Cenv): Rename to __c_environment.
  4643.     (__restore_calling_environment_handlers): Declare prototype.
  4644.     * sys/syslib.c (everywhere): Reflect changes made to syslib.h.
  4645.     (__c_environment): Declare a handler for UpCall.
  4646.     (__restore_calling_environment_handlers): New function
  4647.     (_main): Use long local variable names.
  4648.     (exit): Likewise.
  4649.     (_exit): Likewise.
  4650.     (__reset): Likewise. Call __restore_calling_environment_handlers.
  4651.     * signal/coredump.c (__backtrace): Reflect changes made to syslib.h.
  4652.     * signal/_signal.s (__h_upcall): New function
  4653.     * clib/unixlib/sigstate.h (__h_upcall): Declare prototype.
  4654.     * sys/exec.c (execve): Call __restore_calling_environment_handlers
  4655.     (__exret): Reflect changes made to syslib.h
  4656.  
  4657.     * sys/os.c (__seterr_): Remove
  4658.     * clib/sys/os.h (__seterr_): Remove prototype.
  4659.     (OS_E*): Removed macros.
  4660.  
  4661. Thu Sep 18 11:04:20 1997 CL0042
  4662. Nicholas Clark  <nickc@liv.ac.uk>
  4663.  
  4664.     * clib/unixlib/local.h:     define __filename_to_riscos();
  4665.       defined constants for flags
  4666.       arrange __UNIXLIB_OLD_UNAME when defined to cause compliation of
  4667.       "traditional" __uname() emulation, otherwise ensure compile time
  4668.       errors for __uname()
  4669.  
  4670.     * common/uname.c: deleted
  4671.  
  4672.     * common/unixify.c: new file - __unixify()
  4673.  
  4674.     * common/riscosify.c: new file - __riscosify() and special suffix
  4675.     routines
  4676.  
  4677.     * unix/dirent.c: __uname() -> __riscosify(), use filename character
  4678.     conversion table to convert '/', '#' found in filenames
  4679.  
  4680.     * unix/getcwd.c: use filename character conversion table
  4681.     use new __unixify() function rather than static function to convert path
  4682.     
  4683.     * unix/unix.c:     call __sfixinit() in riscosify() to initialise special
  4684.     suffix list
  4685.  
  4686.     * common/exist.s: __uname() -> __riscosify(), convert non "raw"
  4687.     functions to C
  4688.  
  4689.     * common/exist.c: __file_exitsts(), __object_exists() now in C
  4690.  
  4691.     * common/serial.c: __uname() -> __riscosify(), save inline strcpy
  4692.  
  4693.     * stdio/rename.c: __uname() -> __riscosify() twice, save two strcpy
  4694.     I've used __set_errno(ENAMETOOLONG) is this acceptable for rename() ?
  4695.  
  4696.     * sys/syslib.c        remove reference to __uname_dont_pack_ptr
  4697.     currently default is not to truncate at all, and not to drop vowels
  4698.  
  4699.     * unix/chdir.c:    __uname() -> __riscosify(), save strlen
  4700.  
  4701.     * unix/chmod.c: __uname() -> __riscosify()
  4702.  
  4703.     * unix/dev.c: __uname() -> __riscosify()
  4704.  
  4705.     * sys/exec.c: __uname() -> __riscosify(), save strlen
  4706.  
  4707.     * unix/mkdir.c: __uname() -> __riscosify(), replaced assignment to errno
  4708.     with __set_errno
  4709.  
  4710.     * unix/open.c: comment about __uname() updated
  4711.  
  4712.     * unix/rmdir.c:    __uname() -> __riscosify(), replaced assignment to errno
  4713.       with __set_errno
  4714.  
  4715.     * unix/stat.c: __uname() -> __riscosify()
  4716.  
  4717.     * unix/truncate.c: __uname() -> __riscosify(), replaced assignment to
  4718.     errno with __set_errno
  4719.  
  4720.     * unix/unlink.c: __uname() -> __riscosify(), replaced assignment to
  4721.     errno with __set_errno
  4722.  
  4723.     * unix/utime.c: __uname() -> __riscosify(), replaced assignment to errno
  4724.     with __set_errno
  4725.  
  4726. Wed Sep 17 07:34:04 1997 CL0041
  4727. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4728.  
  4729.     * alloc.c (malloc_stats): Re-enabled for -DDEBUG.
  4730.     (malloc, realloc, memalign): Check that malloc size has not wrapped
  4731.     around after rounding.
  4732.  
  4733.     * unix/stat.c (__stat): Constrain stat.st_size for directories to
  4734.     be in [0,32768] to overcome image FS problems.
  4735.  
  4736. Mon Sep 15 16:02:28 1997 CL0040
  4737. Nick Burrett  <nick.burrett@btinternet.com>
  4738.  
  4739.     * sys/_jmp.s (sigsetjmp, siglongjmp): Remove
  4740.     * sys/_sigjmp.s: Move sigsetjmp and siglongjmp here.
  4741.  
  4742.     * locale/ctypetable.c (__build_ctype_tables): Define
  4743.     * clib/locale.h (__build_ctype_tables): Declare.
  4744.     * locale/locale.c (build_ctype_tables): Move to ctypetable.c
  4745.     (__locale_territory): Remove declaration.
  4746.     (setlocale): Call __build_ctype_tables.
  4747.     * locale/territory.c (__locale_territory): New file and declare.
  4748.     * sys/syslib.c (_main): Replace setlocale with __build_ctype_tables.
  4749.     (_exit): Don't store the time that the process was executing for.
  4750.  
  4751.     * ctype.c (toascii, tolower, toupper, isascii, isalnum, isalpha,
  4752.     iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace,
  4753.     isupper, isxdigit): Move to ctypeproc.c
  4754.     * ctypeproc.c: New file.
  4755.  
  4756.     * locale/localeconv.c (read_byte_list): Use OS_BinaryToDecimal to
  4757.     convert numbers to strings.
  4758.  
  4759.     * unix/proc.c (getegid, geteuid, getgid, getpgrp, getpid, getppid,
  4760.     getuid, seteuid, setgid, setpgid, setpgrp, setuid): Move functions
  4761.     into their own compilation units
  4762.     * resource/getegid.c: New file
  4763.     * resource/geteuid.c: New file
  4764.     * resource/getgid.c: New file
  4765.     * resource/getpgrp.c: New file
  4766.     * resource/getpid.c: New file
  4767.     * resource/getppid.c: New file
  4768.     * resource/getuid.c: New file
  4769.     * resource/seteuid.c: New file
  4770.     * resource/setgid.c: New file
  4771.     * resource/setpgid.c: New file
  4772.     * resource/setpgrp.c: New file
  4773.     * resource/setuid.c: New file
  4774.  
  4775. Mon Sep 15 01:30:55 1997 CL0039
  4776. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4777.  
  4778.     * clib/unixlib/asm_dec.s (XOS_SetVarVal): Corrected.
  4779.     (EOPPNOTSUP, FIOSLEEPTW): Removed.
  4780.  
  4781.     * stdio/setbuf.c (do_buffer): Keep iobuf struct consistent even on
  4782.     malloc failure.
  4783.  
  4784.     * sys/exec.c (set_dde_cli): New function.
  4785.     (execve): Use set_dde_cli. Deinstall handlers after point of no return.
  4786.  
  4787.     * sys/_kgetenv.s: Pass (size-1) to XOS_ReadVarVal instead of size to
  4788.     leave room for the terminator. Save error around call to __seterr.
  4789.  
  4790.     * sys/_ksetenv.s: Handle incoming value == NULL. Save error around
  4791.     call to __seterr.
  4792.  
  4793.     * sys/_kosargs.s: Save one instruction.
  4794.     * sys/_kosbget.s: Set return value on error.
  4795.     * sys/_kosbput.s: Return -2, not -1, on error.
  4796.     * sys/_kosbyte.s: Correct formation of return value from r1,r2 and C.
  4797.     * sys/_koscli.s: Return 1 on success.
  4798.     * sys/_kosfile.s: Return -2, not -1, on error.
  4799.     * sys/_kosrdch.s: Check for error and set return appropriately.
  4800.     * sys/_koswrch.s: Likewise.
  4801.  
  4802. Sun Sep 14 18:07:50 1997 CL0038
  4803. Nick Burrett  <nick.burrett@btinternet.com>
  4804.  
  4805.     * clib/unixlib/asm_dec.s: Place vertical bars around __set_errno
  4806.     * netlib/_net_error.s: Likewise.
  4807.  
  4808. Sun Sep 14 15:45:43 1997 CL0037
  4809. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4810.  
  4811.     * clib/unixlib/asm_dec.s: Added NetSWI macro.
  4812.  
  4813.     * netlib/*.s: Rename macro CallSWI to NetSWI. Call __net_error on error.
  4814.  
  4815.     * netlib/_net_error: New file.
  4816.  
  4817.     * netlib/_socket.s: Do not explicitly set FIOSLEEPTW in assembly,
  4818.     now done in netlib/socket.c if running in a task window.
  4819.  
  4820.     * netlib/socket.c: Set FIOSLEEPTW on sockets when running in a task
  4821.     window.
  4822.  
  4823. Sun Sep 14 17:31:13 1997 CL0036
  4824. Nick Burrett  <nick.burrett@btinternet.com>
  4825.  
  4826.     * clib/kernel.h (_kernel_swi_c, _kernel_osbyte, _kernel_osrdch,
  4827.     _kernel_oswrch, _kernel_osbget, _kernel_osbput, _kernel_osgbpb,
  4828.     _kernel_osword, _kernel_osfind, _kernel_osargs, _kernel_oscli,
  4829.     _kernel_getenv, _kernel_setenv): Declare
  4830.  
  4831.     * unixlib/asm_dec.s (ExitSVC): Replace 1<<28 with 1:SHL:28.
  4832.     (XOS_BGet, XOS_BPut, XOS_SetEnv, XOS_SetVarVal): Define
  4833.  
  4834.     * sys/_kernel.s (_kernel_osfile): Moved function to sys/_kosfile.s
  4835.     * sys/_kosfile.s: New file
  4836.     * sys/_koswrch.s: New file
  4837.     * sys/_kosrdch.s: New file
  4838.     * sys/_kosbyte.s: New file
  4839.     * sys/_kosbget.s: New file
  4840.     * sys/_kosbput.s: New file
  4841.     * sys/_kswi_c.s: New file
  4842.     * sys/_kgetenv.s: New file
  4843.     * sys/_kosargs.s: New file
  4844.     * sys/_koscli.s: New file
  4845.     * sys/_kosfind.s: New file
  4846.     * sys/_kosgbpb.s: New file
  4847.     * sys/_ksetenv.s: New file
  4848.  
  4849.     * objs/Makefile: Add support for compiling with GCC, assembling with
  4850.     'as' and making the library with 'makealf'.
  4851.     (CCflags): Remove '-fw' switch for Norcroft C
  4852.     (ARflags): Add switch '-c'
  4853.     (Unixlib): Remove switch '-c'
  4854.  
  4855. Wed Sep 10 18:09:16 1997 CL0035
  4856. Nick Burrett  <nick.burrett@btinternet.com>
  4857.  
  4858.     * stdio/setbuf.c: Reduce code duplication. Used __set_errno.
  4859.  
  4860.     * clib/unixlib/types.h: Rename __uint*_t types to __u_int*_t
  4861.  
  4862.     * clib/sys/unix.h: Make __magic unsigned.
  4863.     * clib/stdio.h: Make __magic unsigned. Fixed all prototypes with a
  4864.     double underscore.
  4865.  
  4866. Tue Sep 09 17:37:51 1997 CL0034
  4867. Nicholas Clark  <nickc@liv.ac.uk>
  4868.  
  4869.     * netlib/*.s: Used Stewart Brodies SWI veneer to ensure all sockets
  4870.     are called in SVC mode [Stewart says that some versions of Acorn's stack
  4871.     go horribly wrong otherwise]
  4872.  
  4873.     * stdio/flsbuf.c: Flushing a stream with no characters buffered
  4874.     pending a write now does not perform a write() of 0. [consistent with
  4875.     BSD, can avoid problems with unconnected sockets]
  4876.  
  4877.     * sys/exec.c: Remove DDE Utils extended command line on OSCLI failure
  4878.     * sys/_exec.s: Remove DDE Utils extended command line on OSCLI failure
  4879.  
  4880.     * clib/unixlib/asm_dec.s: Added Stewarts SVC swi veneers and DDE SWI
  4881.  
  4882.  
  4883. Tue Sep 02 15:55:49 1997 CL0033
  4884. Nick Burrett  <nick.burrett@btinternet.com>
  4885.  
  4886.     * math/erf.c: New file. Implements erf() and erfc().
  4887.     * math/j0.c: New file. Bessel functions j0() and y0().
  4888.     * math/j1.c: New file. Bessel functions j1() and y1().
  4889.     * math/jn.c: New file. Bessel functions jn() and yn().
  4890.     * math/k_cos.c: New file. Internal function __kernel_cos().
  4891.     * math/k_rem_pio2.c: New file. Internal func. __kernel_rem_pio2().
  4892.     * math/k_sin.c: New file. Internal function __kernel_sin().
  4893.     * math/lgamma.c: New file. Gamma functions gamma() and lgamma().
  4894.     * math/lgamma_r.c: New file. Gamma function lgamma_r().
  4895.     * math/logb.c: New file. Function logb().
  4896.     * math/rem_pio2.c: New file. Function rem_pio2().
  4897.     * clib/math.h: Declare prototypes for the above
  4898.  
  4899.     * signal/post.c (__unixlib_internal_post_signal): Optimise the
  4900.     default signal action check.
  4901.  
  4902. Fri Sep 05 1997 CL0032
  4903. Simon Callan <simon@callan.demon.co.uk>
  4904.  
  4905.     * Backout the __uname() / __riscosify() changes, as they are not
  4906.     yet ready for release.
  4907.  
  4908. Thu Aug 07 00:17:12 1997 CL0030
  4909. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4910.  
  4911.     * sys/mman.c: (mmap): Set errno to ENOSYS when no dynamic areas rather
  4912.     than ENOMEM.
  4913.  
  4914. Wed Aug 06 20:35:48 1997 CL0029
  4915. Nicholas Clark  <nickc@liv.ac.uk>
  4916.  
  4917.     * clib/unixlib/local.h (__filename_to_riscos): Define.
  4918.     (__RISCOSIFY*): Define.
  4919.     (__UNIXLIB_OLD_UNAME): Define.
  4920.  
  4921.     * common/riscosname.c (__filename_to_riscos): New function.
  4922.  
  4923.     * unix/dirent.c: Use filename character conversion table in
  4924.     common/riscosname.c to convert '/' found in filenames
  4925.     * unix/getcwd.c: Likewise.
  4926.     * unix/unix.c: Call __sfixinit().
  4927.  
  4928.     * common/exist.s (__file_exists): Remove.
  4929.     (__object_exists): Remove.
  4930.     * common/exist.c (__file_exitsts): New function.
  4931.     (__object_exists): New function.
  4932.  
  4933.     * common/serial.c: Use __filename_to_riscos instead of __uname.
  4934.     * stdio/rename.c: Likewise.
  4935.     * unix/chdir.c: Likewise.
  4936.     * unix/chmod.c: Likewise.
  4937.     * unix/dev.c: Likewise.
  4938.     * sys/exec.c: Likewise.
  4939.     * unix/open.c: Likewise.
  4940.     * unix/stat.c: Likewise.
  4941.     * unix/mkdir.c: Likewise. Use __set_errno.
  4942.     * unix/rmdir.c: Likewise.
  4943.     * unix/truncate.c: Likewise.
  4944.     * unix/unlink.c: Likewise.
  4945.     * unix/utime.c: Likewise.
  4946.  
  4947.     * sys/syslib.c (__uname_dont_pack_ptr): Remove.
  4948.  
  4949. Sun Aug 03 18:34:24 1997 CL0027
  4950. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  4951.  
  4952.     * clib/signal.h: Correct macros for sigaddset, sigdelset, sigismember
  4953.     and put them inside a __UNIXLIB_INTERNALS. These macros are not really
  4954.     for the user, especially since they do not do any argument checking.
  4955.  
  4956.     * clib/stdlib.h: Declare setenv, unsetenv and clearenv.
  4957.  
  4958.     * clib/sys/unix.h: Add envp and envb to Unix proc struct. These are
  4959.     temporary until the UnixLibSupport module is ready. They are used to
  4960.     pass the current environ to a child process. Remove declaration of
  4961.     defunct __permstr. Declare __decstrtoui, __last_environ,
  4962.     __UNIX_ENV_PREFIX and environment support functions.
  4963.  
  4964.     * stdio/popen.c: (pclose): Return status from wait not return value of
  4965.     wait. Do not close stream->fd directly in pclose, let fclose do it.
  4966.  
  4967.     * sys/exec.c: (execve): Copy current environ into proc struct for
  4968.     child process to collect. Check result of realloc before storing so
  4969.     memory leak is avoided. Reorganisation to move calculation of
  4970.     __codeshift and __exshift later in function so that malloc_trim can
  4971.     be called safely. Fix store beyond end of buffer when argv[0] is NULL,
  4972.     i.e., when called from system with execl (line, 0).
  4973.  
  4974.     * sys/syslib.c: (_exit): Do not set Sys$ReturnCode since __exit does it.
  4975.  
  4976.     * sys/vfork.c: Initialisation and freeing of child's envp and envb.
  4977.     Use monotonic clock to generate process id (this will change).
  4978.  
  4979.     * unix/chdir.c: Rewritten to use and change Prefix$Dir when it has
  4980.     been set. Use new __getenv_from_os.
  4981.  
  4982.     * unix/getcwd.c: Complete rewrite to reduce code size and make clearer.
  4983.     Check Prefix$Dir first since OS_File calls are intercepted by DDEUtils.
  4984.     Use new __getenv_from_os. Remove possible memory errors.
  4985.  
  4986.     * unix/getenv.c: Complete rewrite. Use __UNIX_ENV_PREFIX when
  4987.     environment names interact with global RISC OS environment. Support
  4988.     for new setenv, clearenv and unsetenv functions. Remove need for static
  4989.     __envcnt and __envsize variables. __intenv now only checks RISC OS
  4990.     environment. Allow for environ to have been allocated in parent process.
  4991.  
  4992.     * unix/pipe.c: Change call to __intenv and __permstr.
  4993.  
  4994.     * unix/putenv.c: Rewritten to not modify argument and allow NAME to be
  4995.     removed from the environment. Use setenv to add and unsetenv to remove.
  4996.  
  4997.     * unix/setenv.c: New file to provide setenv, unsetenv and clearenv.
  4998.  
  4999.     * unix/unix.c: Add default value for UnixFS$/pipe to use Wimp$ScrapDir,
  5000.     needed for cases when programs use pipes but do not set UnixFS$/pipe.
  5001.     Remove __permstr and use strdup instead. Make __decstrtoui external
  5002.     and check END argument before writing to it. Collect environment from
  5003.     parent process if we are a child. Use monotonic clock to generate
  5004.     process id (this will change).
  5005.  
  5006. Sun Aug 03 15:45:24 1997 CL0025
  5007. Nick Burrett  <nick.burrett@btinternet.com>
  5008.  
  5009.     * clib/signal.h (sigaddset, sigdelset, sigismember): Fix typos
  5010.     
  5011.     * signal/_signal.s (__h_error): Fix LDM typo that would otherwise
  5012.     cause an Address Exception if raise ever returned.
  5013.  
  5014.     * unix/getsubopt.c: Re-written.
  5015.  
  5016. Sun Aug 03 14:42:53 1997 CL0028
  5017. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  5018.  
  5019.     * clib/unixlib/local.h: Arguments to __address_valid are now const.
  5020.  
  5021.     * locale/localeconv.c: (read_byte_list): Converted sprintf call into
  5022.     inline code and check buffer does not overflow.
  5023.  
  5024.     * unix/uname.c: Extract module version from help string instead of
  5025.     using OS_Module 20 since that does not work on ROMPatches which is
  5026.     not a ROM module.
  5027.  
  5028. Sat Aug 02 17:13:24 1997 CL0024
  5029. Nick Burrett  <nick.burrett@btinternet.com>
  5030.  
  5031.     * time/broken.c: fix off-by-one error with tm_mon.
  5032.     
  5033.     * time/tzset.c: don't overwrite the tzname string constants.
  5034.     
  5035.     * time/settod.c: remove some comments
  5036.     
  5037.     * clib/signal.h: Define macro versions of sigaddset, sigdelset,
  5038.     sigismember. Prefix all variable names with '__'.
  5039.  
  5040.     * signal/sigismember.c: #undef sigismember
  5041.     * signal/sigdelset.c: #undef sigdelset
  5042.     * signal/sigaddset.c: #undef sigdelset
  5043.     * signal/sigsets.c: #undef sigemptyset, sigfillset, sigmask
  5044.  
  5045.     * signal/post.c, signal/signal.c, signal/sigprocmsk.c: Remove
  5046.     inline_sigfuncs and code associated with it.
  5047.     
  5048.     * clib/netdb.h: re-written
  5049.     
  5050.     * clib/socketlib.h: removed
  5051.     * clib/unixlib/local.h: declare __net_readline
  5052.     
  5053.     * netlib/readline.c (__socketlib_readline): remove static buffer
  5054.     and redeclare as __net_readline.
  5055.     
  5056.     * netlib/host.c (__gethostent): use __net_readline
  5057.     * netlib/net.c (__getnetent): use __net_readline
  5058.     * netlib/proto.c (__getprotoent): use __net_readline
  5059.     * netlib/serv.c (__getservent): use __net_readline
  5060.     
  5061.     * netlib/h_errno.c: new file
  5062.  
  5063. Sat Aug 02 12:54:29 1997 CL0023
  5064. Nick Burrett  <nick.burrett@btinternet.com>
  5065.  
  5066.     * locale/setlocale.c (territory_number): If locale is empty,
  5067.     use default locale and not the C locale.
  5068.     (build_ctype_tables): top-bit set chars are undefined for C locale.
  5069.     (setlocale): Preserve old locale if new locale is invalid.
  5070.     Invalidate lconv structure.
  5071.  
  5072.     * locale/localeconv.c (read_number): removed
  5073.     (read_symbol): return int, not void *
  5074.     (localeconv): Cache lconv structure. Replace read_number calls
  5075.     with read_symbol.
  5076.     (read_byte_list): Replace strcat with stpcpy.
  5077.  
  5078.     * clib/locale.h: Declare __setlocale_called for lconv structure
  5079.     caching.
  5080.  
  5081. Fri Aug 01 20:22:01 1997 CL0022
  5082. Nick Burrett  <nick.burrett@btinternet.com>
  5083.  
  5084.     * clib/sys/utsname.h: New header
  5085.     
  5086.     * unix/uname.c: uname() function for <sys/utsname.h>
  5087.     
  5088.     * unix/glob.c: don't explicitly set errno to zero
  5089.     
  5090.     * clib/unixlib/types.h: more exact definitions of  __int8_t,
  5091.     __int16_t etc. for GCC.
  5092.     
  5093.     * strtol.c: remove strtoul(). Use __set_errno
  5094.     
  5095.     * strtoul.c: define strtoul()
  5096.     
  5097.     * strspn.c, stpcpy.c, strcat.c, strchr.c, strcmp.c, strcpy.c,
  5098.     strichr.c, stricmp.c: move functions into their own separate
  5099.     compilation units
  5100.     
  5101.     * strcspn.c, strpbrk.c, stpncpy.c, strncat.c, strrchr.c, index.c,
  5102.     strncmp.c, strncpy.c, strrichr.c, strnicmp.c: new files
  5103.  
  5104. Thu Jul 31 23:52:21 1997 CL0026
  5105. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  5106.  
  5107.     * strdup.c: Replace use of __permstr with malloc and memcpy.
  5108.  
  5109.     * clib/unixlib/local.h: Comment out __UNIXLIB_INTERNALS after #endif.
  5110.  
  5111.     * locale/localeconv.c: (read_byte_list): Free memory if realloc fails.
  5112.     (localeconv): Only need to malloc 1 character for null string. Do not
  5113.     set errno to ENOMEM, since malloc does that already.
  5114.  
  5115.     * locale/setlocale.c: (setlocale): Use (void) on __set_errno to stop
  5116.     compiler warnings.
  5117.  
  5118.     * stdio/remove.c: Remove need for stdio to be pulled in.
  5119.  
  5120.     * time/calendconv.c: Comment out #define DEBUG.
  5121.  
  5122.     * unix/tty.c: Remove setting of errno to ENOMEM, since malloc does
  5123.     that already.
  5124.  
  5125. Mon Jul 28 21:57:20 1997 CL0021
  5126. Nicholas Clark  <nickc@liv.ac.uk>
  5127.  
  5128.     * clib/string.h: Removed #ifdef 0 from strxfrm and strcol
  5129.     
  5130.     * locale/setlocale.c: setlocale(,"") equivalent to setlocale(,"C").
  5131.       comment in perl source:
  5132.     
  5133.       Ultrix setlocale(..., "") fails if there are no environment
  5134.       variables from which to get a locale name.
  5135.     
  5136.       implication: most Unixes accept "" without complaint.
  5137.     
  5138.     * clib/unixlib/local.h: __attribute to __attrib
  5139.  
  5140.     * time/c.calendconv: Fixed 3 off-by-ones in __tz
  5141.       Check the SWI with Mon 1st Jan 1900.
  5142.     
  5143.     * time/c.gmtime: gmtoff == 0 whether localtime on daylight saving!
  5144.  
  5145. Sat Jul 26 17:03:30 1997 CL0019
  5146. Nick Burrett  <nick.burrett@btinternet.com>
  5147.  
  5148.     * sys/syslib.c: Call setlocale() to initialise ctype tables
  5149.     
  5150.     * locale/setlocale.c: Re-build ctype tables for category LC_ALL.
  5151.     
  5152.     * locale/localeconv.c: Perform malloc memory check and prevent
  5153.     memory leak.
  5154.  
  5155. Sat Jul 26 13:30:25 1997 CL0020
  5156. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  5157.  
  5158.     * All changed files: More meaningful variable names, use of __set_errno
  5159.     and '__' added to function argument names in header files.
  5160.  
  5161.     * clib/unistd.h: Add declaration of getdomainname and setdomainname.
  5162.  
  5163.     * clib/sys/select.h: Add declaration of _select.
  5164.  
  5165.     * clib/unixlib/types.h: Remove __ptr_t from __FD_ZERO. Use unsigned
  5166.     number in __FDMASK.
  5167.  
  5168.     * netlib/select.c: New file to interface select to underlying
  5169.     Socket_Select SWI. Converts fd's and fd_set's from UnixLib fd's
  5170.     to underlying Socket fd's.
  5171.  
  5172.     * sys/debug.c: Check file is a RISC OS device before printing name.
  5173.  
  5174.     * unix/getdomain.c: New file. Provides getdomainname and setdomainname.
  5175.     getdomainname tries Inet$LocalDomain and Inet$HostName.
  5176.  
  5177.     * unix/gethostnam.c: Fixed off-by-one errors with length checks.
  5178.     Returned name is not zero terminated when ENAMETOOLONG occurs.
  5179.  
  5180. Sat Jul 26 12:56:12 1997 CL0018
  5181. Nick Burrett  <nick.burrett@btinternet.com>
  5182.  
  5183.     * signal/kill.c, signal/coredump.c, signal/post.c,
  5184.     signal/raise.c, signal/setup.c, signal/sigprocmsk.c,
  5185.     sys/sigsetjmp.c: remove support for sigcode and sigerror
  5186.  
  5187.     * signal/post.c: inline all signal functions if inline_sigfuncs
  5188.     is defined. Remove all traces of pre-emptive signal handling.
  5189.  
  5190.     * signal/init.c: remove pre-emptive signal handling support.
  5191.     Fix an error message typo.
  5192.  
  5193.     * signal/signal.c: inline sigemptyset() if inline_sigfuncs is
  5194.     defined.
  5195.  
  5196.     * signal/sigpreempt.c: deleted
  5197.  
  5198.     * signal/sigprocmsk.c: inline sigismember() and sigdelset() if
  5199.     inline_sigfuncs is defined.
  5200.  
  5201.     * clib/unixlib/sigstate.h: remove pre-emptive signal handling
  5202.     support. Remove support for sigcode and sigerror. Minor cosmetic
  5203.     changes.
  5204.  
  5205. Thu Jul 24 00:01:33 1997 CL0017
  5206. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  5207.  
  5208.     * All changed files: More meaningful variable names, use of __set_errno
  5209.     and '__' added to function argument names in header files.
  5210.  
  5211.     * clib/dirent.h: Declare readdir_r and add dirent field to DIR struct
  5212.     to hold the last value returned from readdir.
  5213.  
  5214.     * clib/stdio.h: Changed __STDIOLIB__ so each file only uses one word
  5215.     in pulling in __stdioinit rather than a full function.
  5216.  
  5217.     * clib/unixlib/local.h: Declare __fd_to_name to return the RISC OS
  5218.     filename corresponding to an open RISC OS file descriptor. Moved all
  5219.     bar __uname_control stuff inside __UNIXLIB_INTERNALS.
  5220.  
  5221.     * common/fdname.c: New file for __fd_to_name.
  5222.  
  5223.     * common/serial.c: Modified __get_file_ino so __uname is only performed
  5224.     when DIRECTORY is not NULL (as called from readdir). Fixed DIRECTORY
  5225.     and NAME concatenation to not overrun the internal buffer.
  5226.  
  5227.     * sys/debug.c: Only print active file descriptor and now print the
  5228.     filename corresponding to them.
  5229.  
  5230.     * unix/chmod.c: Return EPERM on protection change error rather than
  5231.     RISC OS error. Use __fd_to_name in fchmod. Return more Unix errors
  5232.     where appropriate when RISC OS error occurs.
  5233.  
  5234.     * unix/dev.c: (__fsopen): Open the file before setting protection
  5235.     bits on a newly created file. This allows RCS lock files to be
  5236.     created open for writing with permission 444 (r--r--r--).
  5237.     (__fsclose): Use __fd_to_name.
  5238.  
  5239.     * unix/dirent.c: New readdir_r function for POSIX. readdir function
  5240.     now reentrant for different DIR streams by using a buffer allocated
  5241.     on demand in the DIR stream and uses readdir_r function.
  5242.  
  5243.     * unix/stat.c: (fstat): Use __fd_to_name. Return more Unix errors
  5244.     where appropriate when RISC OS error occurs.
  5245.  
  5246. Wed Jul 23 22:27:56 1997 CL0016
  5247. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  5248.  
  5249.     * clib/sys/syslib.h: remove __noreturn__ attribute from __funcall_error
  5250.  
  5251.     * signal/sigprocmsk.c: declare mask as sigset_t rather than
  5252.     unsigned int.
  5253.  
  5254.     * stdio/freopen.c: reset input pointer (i_ptr), eof (__eof) and
  5255.     pushedback indicator.
  5256.  
  5257.     * stdio/rename.c: remove need for stdio to be pulled in. Call __uname
  5258.     on new file with the create directory flag set. This allows
  5259.     rename ("foo", "foo.c") to create the "c" directory if needed.
  5260.  
  5261.     * sys/syslib.c: remove double initialisation of __uname_control.
  5262.  
  5263.     * sys/_sdiv10.s: correct spelling of sdiv10 functions.
  5264.  
  5265. Tue Jul 22 00:00:00 1997 CL0015
  5266. Nick Burrett  <nick.burrett@btinternet.com>
  5267.  
  5268.     * clib/ctype.h: Rewrite for compatibility with the structures
  5269.     returned by the Territory manager.
  5270.     (_tolower, _toupper): Remove.
  5271.     * ctype.c: Reflect changes made to clib/ctype.h.
  5272.     * unix/tty.c: Replace _tolower with tolower.
  5273.     * strichr.c: Likewise.
  5274.     * stricmp.c: Likewise.
  5275.  
  5276.     * clib/locale.h: Re-arrange the locale globals.
  5277.     * locale/setlocale.c: Fully implement setlocale().
  5278.     * locale/localeconv.c: Bix fixes.
  5279.     * locale/strcoll.c: New file.
  5280.     * locale/strxfrm.c: New file.
  5281.     * sys/syslib.c: Call setlocale() to initialise the ctype tables.
  5282.  
  5283.     * time/tzset.c: Replace __time_territory with __locale_territory.
  5284.     * time/strftime.c: Likewise.
  5285.     * time/stdtime.c: Likewise.
  5286.     * time/mktime.c: Likewise.
  5287.     * time/calendconv.c: Likewise.
  5288.     * time/broken.c: Likewise.
  5289.  
  5290. Sun Jul 13 00:00:00 1997 CL0014
  5291. Nick Burrett  <nick.burrett@btinternet.com>
  5292.  
  5293.     * ctime.c: Removed.
  5294.     * mktime.c: Removed.
  5295.     * unix/time.c: Removed.
  5296.     
  5297.     * clib/locale.h: New file.
  5298.     * clib/time.h: Prototype some internal functions.
  5299.     * time/_clock.s: New file.
  5300.     * time/asctime.c: New file.
  5301.     * time/broken.c: New file.
  5302.     * time/calendconv.c: New file.
  5303.     * time/ctime.c: New file.
  5304.     * time/difftime.c: New file.
  5305.     * time/gmtime.c: New file.
  5306.     * time/localtime.c: New file.
  5307.     * time/mktime.c: New file.
  5308.     * time/stdtime.c: New file.
  5309.     * time/strftime.c: New file.
  5310.     * time/time.c: New file.
  5311.     * time/times.c: New file.
  5312.     * time/tzset.c: New file.
  5313.  
  5314.     * locale/setlocale.c: New file.
  5315.     * locale/localeconv.c: New file.
  5316.     
  5317.     * unix/sysconf.c [_SC_CLK_TCK]: Return CLOCKS_PER_SEC, not 60.
  5318.  
  5319. Sat Jul 12 00:00:00 1997 CL0013
  5320. Nick Burrett  <nick.burrett@btinternet.com>
  5321.  
  5322.     * sys/_syslib.s: Relocate some code from here into their own
  5323.     separate compilation units.
  5324.     * sys/_memchk.s: New file.
  5325.     * sys/_profile.s: New file.
  5326.     * sys/_divtest.s: New file.
  5327.     * sys/_sdiv.s: New file.
  5328.     * sys/_smod.s: New file.
  5329.     * sys/_udiv.s: New file.
  5330.     * sys/_umod.s: New file.
  5331.     * sys/_sdiv10.s: New file.
  5332.     * sys/_udiv10.s: New file.
  5333.     * sys/_divsi3.s: New file.
  5334.     * sys/_modsi3.s: New file.
  5335.     * sys/_udivsi3.s: New file.
  5336.     * sys/_umodsi3.s: New file.
  5337.  
  5338. Mon Jun 30 00:00:00 1997 CL0012
  5339. Nick Burrett  <nick.burrett@btinternet.com>
  5340.  
  5341.     * abort.c (abort): Ensure application terminates if raise returns.
  5342.  
  5343. Sun Jun 29 00:00:00 1997 CL0011
  5344. Nick Burrett  <nick.burrett@btinternet.com>
  5345.  
  5346.     * signal/coredump.c (__backtrace): More stringent checks for
  5347.     out-of-bounds memory accesses.
  5348.  
  5349. Fri Jun 27 00:00:00 1997 CL0010
  5350. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  5351.  
  5352.     * alloc.c: Comment out malloc_stats to remove stdio dependency.
  5353.  
  5354.     * clib/stdio.h [FILE]: Add __string_istream flag.
  5355.     (__underflow): Rename to __peekchar.
  5356.     [__UNIXLIB_INTERNALS]: Add.
  5357.     
  5358.     * clib/unixlib/fd.h [BADF]: Ensure an out-of-range fd will return
  5359.     true instead of false.
  5360.  
  5361.     * sys/syslib.c: Move __funcall_error from here.
  5362.     * common/funcallerr.c: Container file for __funcall_error.
  5363.  
  5364.     * signal/siginfo.c: Use os_print to remove stdio dependency.
  5365.     * stdio/filbuf.c: Check __string_istream flag.
  5366.     * stdio/fread.c: Likewise.
  5367.     * stdio/scanf.c (sscanf, vfscanf): Fix.
  5368.     * sys/exec.c: Call malloc_trim before copying parent process up in
  5369.     memory.
  5370.     * sys/_os.s (os_swi): Place in a READONLY code section.
  5371.     * time/setitmr.c (timer_controls): Make const.
  5372.     * unix/tty.c: Remove need to have global __t variable.
  5373.     * unix/unix.c: Local version of strtoul.
  5374.     [__sfix_default]: Created. Allows sfix string to be writable.
  5375.     (default_outfd): Fix assignment bug.
  5376.     
  5377.     * clib/stdlib.h (malloc_trim): Add prototype.
  5378.  
  5379. Thu Jun 26 00:00:00 1997 CL0009
  5380. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  5381.  
  5382.     * resource/initialise.c: Use u_char* when performing arithmetic on
  5383.     __lomem and __break. Correct error where a non-dynamic area program
  5384.     had its data limit set to 1/4 of its real value.
  5385.     
  5386.     * sys/exec.c: realloc bug fixes.
  5387.     * sys/mman.c: Fix bad use of strncpy.
  5388.     * sys/_kernel.s (_kernel_osfile): New function.
  5389.  
  5390. Tue Jun 24 00:00:00 1997 CL0007
  5391. Nick Burrett  <nick.burrett@btinternet.com>
  5392.  
  5393.     * clib/kernel.h (_kernel_udiv): Declare prototype.
  5394.     (_kernel_sdiv, _kennel_smod, _kernel_umod): Likewise.
  5395.     (_kernel_udiv10, _kernel_sdiv10, _kernel_fpavailable): Likewise
  5396.     * sys/_syslib.s (_kernel_udiv10): New function.
  5397.     (_kernel_sdiv10): New function.
  5398.     (_kernel_fpavailable): New function.
  5399.  
  5400. Sun Jun 22 00:00:00 1997 CL0008
  5401. Peter Burwood  <pjb@arcangel.dircon.co.uk>
  5402.  
  5403.     * mktime.c: Fixed gcc register must appear first warning.
  5404.     * clib/errno.h [__set_errno]: New macro.
  5405.     * clib/kernel.h [_kernel_last_oserror]: New structure.
  5406.     * clib/setjmp.h [__attribute__]: Undefine
  5407.     * clib/stdlib.h (_exit): Remove decl.
  5408.     [__UNIXLIB_INTERNALS]: Use.
  5409.     * clib/unistd.h (_exit): Add gcc's __noreturn__ attribute.
  5410.     (brk): Remove const qualifier.
  5411.     * clib/sys/os.h [__UNIXLIB_INTERNALS]: Use.
  5412.     * clib/sys/syslib.h (__funcall_error): Make 1st arg const.
  5413.     (__exit*): Add __noreturn__ attribute.
  5414.     (__real_break): Add.
  5415.     [__UNIXLIB_INTERNALS]: Use.
  5416.     * clib/unixlib/sigstate.h [__SIG_INVALID_P]: New macro.
  5417.     * signal/coredump.c (__backtrace): Don't restore exit handler.
  5418.     
  5419.     * signal/init.c: Use __set_errno and __SIG_INVALID_P.
  5420.     * signal/kill.c: Likewise.
  5421.     * signal/post.c: Likewise.
  5422.     * signal/raise.c: Likewise.
  5423.     * signal/sig*.c: Likewise.
  5424.     * signal/sleep.c: Likewise.
  5425.  
  5426.     * sys/exec.c: Reduce memory requirements of argv and argv[].
  5427.     * sys/vfork.c: Likewise.
  5428.     * unix/unix.c: Likewise. Set errno to E2BIG if command line too long.
  5429.     (__unixinit): Don't call lseek on tty.
  5430.  
  5431.     * sys/syslib.c (exit): Remove Nick Clark's change.
  5432.  
  5433.     * sys/_exec.s: Use __real_break instead of __break.
  5434.     * sys/_vfork.s: Likewise.
  5435.  
  5436.     * sys/_os.s (os_prhex): Adjust stack pointer so it is below buffer.
  5437.     * sys/_syslib.s (__real_break): Initialise.
  5438.     (_exit): Call __munmap_all.
  5439.  
  5440.     * unix/getenv.c: Don't set errno if variable was not found.
  5441.     * unix/putenv.c: Fix #include filename.
  5442.  
  5443.     * alloc.c: Latest version from Doug Lea.
  5444.     * sys/brk.c: Re-written.
  5445.     * sys/mman.c: New file.
  5446.     * clib/sys/mman.h: New file.
  5447.     * sys/_mman.s: New file.
  5448.     * sys/os.c (__seterr): Don't reset errno if there is no error.
  5449.     (__seterr_): Likewise.
  5450.     (__kernel_last_oserror): New function.
  5451.  
  5452.  
  5453. Sun Jun 22 00:00:00 1997 CL0006
  5454. Nick Burrett  <nick.burrett@btinternet.com>
  5455.  
  5456.     * stdio/*.c (__fill_buffer): Rename from __underflow.
  5457.     * clib/stdio.h (__fill_buffer): Rename from __underflow.
  5458.  
  5459. Wed Jun 18 00:00:00 1997 CL0005
  5460. Nicholas Clark  <nickc@liv.ac.uk>
  5461.  
  5462.     * common/serial.c: Canonicalise the filename.
  5463.  
  5464. Tue Jun 17 00:00:00 1997 CL0004
  5465. Nicholas Clark  <nickc@liv.ac.uk>
  5466.  
  5467.     * errno.c: Initialise errno to zero.
  5468.     * clib/limits.h [QUAD_MAX]: Define.
  5469.     * clib/sys/os.h (__the_error): Renamed from the_error and made global.
  5470.     * stdio/scanf.c: Replace all 'char z' with 'int z'.
  5471.     * sys/sigsetjmp.c (__siglongjmp_helper): Add const to arg.
  5472.  
  5473. Mon Jun 16 00:00:00 1997 CL0003
  5474. Nick Burrett  <nick.burrett@btinternet.com>
  5475.  
  5476.     * unix/fnmatch.c: New file.
  5477.     * clib/fnmatch.h: New file.
  5478.  
  5479. Sun Jun 15 00:00:00 1997 CL0002
  5480. Nick Burrett  <nick.burrett@btinternet.com>
  5481.  
  5482.     * clib/unixlib/types.h (__sigset_t): Define.
  5483.     (__sig_atomic_t): Define.
  5484.     * clib/signal.h: Use __sigset_t, __sig_atomic_t.
  5485.  
  5486.     * clib/setjmp.h (sigsetjmp): Declare.
  5487.     (siglongjmp): Declare.
  5488.     * sys/sigsetjmp.c: New file.
  5489.     * sys/_jmp.s (sigsetjmp): New function.
  5490.     (siglongjmp): New function.
  5491.  
  5492.     * signal/sigprocmsk.c [SIG_BLOCK]: OR the mask instead of ANDing it.
  5493.  
  5494. Sat Jun 14 00:00:00 1997 CL0001
  5495. Nick Burrett  <nick.burrett@btinternet.com>
  5496.  
  5497.     * clib/stdio.h (__underflow): Declare.
  5498.     * stdio/filbuf.c: Restructure.
  5499.     (__underflow): New function.
  5500.     * stdio/scanf.c [peekc]: Use __underflow.
  5501.  
  5502. Fri Jun 13 00:00:00 1997 CL0000
  5503. Nick Burrett  <nick.burrett@btinternet.com>
  5504.  
  5505.     * clib/stdio.h (__getmode): Declare.
  5506.     (__steam_init): Declare.
  5507.     * stdio/fopen.c (freopen): Remove.
  5508.     (getmode): Remove
  5509.     (stream_init): Remove
  5510.     * stdio/newstream.c (__getmode): Define.
  5511.     (__stream_init): Define.
  5512.     * stdio/freopen.c: New file.
  5513.     * unix/reopen.c: New file.
  5514.     * clib/unixlib/local.h (__reopen): Declare.
  5515.