2026-05-10 Harry Sintonen <sintonen@iki.fi>
	* execve(): Added workaround to make it possible to launch MorphOS shell scripts
	  with execute, for example sh -c "execute MOSSYS:S/SPat echo T:#?" or
	  /S/SPat echo T:#? in ksh.
	* Bumped version date only since there are no ABI changes.

2026-04-21 Harry Sintonen <sintonen@iki.fi>
	* Added fstatvfs() and statvfs() functions.
	* Bumped version to 50.31.

2026-04-20 Harry Sintonen <sintonen@iki.fi>
	* getfsstat(), fstatfs(), statfs() and getmntinfo() default to 64-bit
	  variants.
	* Fixed getfsstat() to return only filesystems that respond to
	  ACTION_DISK_INFO.
	* Fixed statfs()/fstatfs() to handle errors more gracefully and
	  to properly lock the signals when holding the doslist lock.
	* Bumped version date only since there are no ABI changes.

2026-01-27 Harry Sintonen <sintonen@iki.fi>
	* timer_create()/clock_nanosleep(): fixed uninitialized flags field.
	* Bumped version date only since there are no ABI changes.

2026-01-20 Harry Sintonen <sintonen@iki.fi>
	* Implement sigaction SA_RESETHAND flag.
	* Bumped version date only since there are no ABI changes.

2026-01-13 Harry Sintonen <sintonen@iki.fi>
	* Added __cxa_thread_atexit_impl() that will be used by gcc to implement C+11
	  thread_local. These destructors are called in deterministic order before the
	  global TLS destructors are.
	* Bumped version to 50.30.

2025-12-23 Harry Sintonen <sintonen@iki.fi>
	* Fixed a mistake in the new small-object allocator that could lead to
	  deallocation of memory of a vfork()ed child process.
	* Bumped version date only since there are no ABI changes.

2025-12-21  Harry Sintonen <sintonen@iki.fi>
	* gettimeofday(): Use library API rather than device I/O. This should be faster.
	* Bumped version date only since there are no ABI changes.

2025-12-20  Nicholai Benalal <nadir@skydreams.org>
	* Implemented a small-object allocator which speeds up malloc() / realloc() by a
	  factor of around 5 with a fast-path for small allocations (currently set at
	  <=512 bytes). Allocations over this cut-off continue to use the slower,
	  default pooled-malloc allocator. The fast path is particularly useful for
	  modern gcc/g++ which relies heavily on small allocations (in the millions)
	  during the optimization phase. The allocator keeps memory in per-process pools
	  which are freed/deleted on exit. Allocations are rounded up to the next
	  predefined size class which are set with fixed increments (of 16 atm).
	* Bumped version date only since there are no ABI changes.

2025-11-11  Harry Sintonen <sintonen@iki.fi>
	* realpath(): Reimplemented - now faster and with less bugs.
	* Bumped version date only since there are no ABI changes.

2025-11-05  Harry Sintonen <sintonen@iki.fi>
	* wcsftime(): Fixed a double free().
	* Bumped version date only since there are no ABI changes.

2025-11-04  Harry Sintonen <sintonen@iki.fi>
	* getpriority()/setpriority(): Fixed to handle PIDs correctly.
	* Bumped version date only since there are no ABI changes.

2025-10-28  Harry Sintonen <sintonen@iki.fi>
	* posix_spawn_file_actions_addopen((), posix_spawn_file_actions_addclose(),
	  posix_spawn_file_actions_adddup2(), posix_spawn_file_actions_addfchdir(): Add
	  check for valid fd number.
	* Bumped version date only since there are no ABI changes.

2025-10-20  Harry Sintonen <sintonen@iki.fi>
	* falloc_generic(): Fixed to zero f_sync_flags and f_ownerproc.
	* Bumped version date only since there are no ABI changes.

2025-10-19  Harry Sintonen <sintonen@iki.fi>
	* sigpause(): If passed -1 mask, error out with EINVAL rather than locking up
	  the app forever. Technically passing -1 is legal (meaning: block all signals),
	  but in reality it should never happen.
	* Utilize the POSIX visibility functionality in headers.
	* dirfd(): Added as a real function.
	* Bumped version to 50.29.

2025-10-18  Harry Sintonen <sintonen@iki.fi>
	* getgroups()/setgroups(): Changed group array to use gid_t. Since this is
	  different size from int, a new LVOs were added.
	* initgroups()/setregid(): Changed to use gid_t instead of int.
	* setreuid(): Changed to use uid_t instead of int.
	* Added seconds_t and useconds_t types.
	* usleep(): Changed to use useconds_t.
	* Bumped version to 50.28.

2025-10-05  Harry Sintonen <sintonen@iki.fi>
	* Added more modern POSIX visibility functionality to the headers, but the work
	  is still ongoing.
	* Identify as targeting POSIX version 200809.
	* sysconf(): Implemented support for more POSIX things.
	* *pathconf(): Implemented new functionality and changed to use GetFileSysAttr()
	  when needed.
	* confstr(): Implemented new functionality and fixed incorrect return value for
	  error conditions.
	* Bumped version date only since there are no ABI changes.

2025-09-26  Harry Sintonen <sintonen@iki.fi>
	* Added POSIX clock and time related functions: clock_getres(),
	  clock_gettime(), clock_settime(), clock_getcpuclockid(), clock_nanosleep()
	  and nanosleep().
	* Added new signal functions: sigqueue(), sigwait(), sigwaitinfo() and
	  sigtimedwait().
	* Added POSIX timers: timer_create(), timer_delete(), timer_gettime(),
	  timer_settime() and timer_getoverrun(). SIGEV_THREAD is not supported.
	* sigaction(): Added support for SA_SIGINFO and SA_NODEFER.
	* sigaddset()/sigdelset()/sigismember(): Added missing error checking.
	* get_global_environment(): Fixed a bug where new files appearing in ENV:
	  during the operation could lead to a buffer overflow.
	* Bumped version to 50.27.

2025-09-20  Harry Sintonen <sintonen@iki.fi>
	* sigismember(): Fixed a logic flaw where the function accidentally checked
	  if any other signal than the specified one is set.
	* Bumped version date only since there are no ABI changes.

2025-09-17  Harry Sintonen <sintonen@iki.fi>
	* stat()/lstat()/fstatat(): fixed st_size for large files.
	* Bumped version date only since there are no ABI changes.

2025-09-13  Harry Sintonen <sintonen@iki.fi>
	* fcntl()/fstat()/fstat64()/flock()/fgetxattr()/flistxattr()/fremovexattr()/
	  fsetxattr(): Fixed out of bounds memory access if negative file descriptor
	  number is passed.
	* read()/pwrite(): Fixed to properly save, set and restore the file seek
	  position.
	* truncate()/ftruncate(): Fixed file expansion to write zero bytes since
	  dos.library SetFileSize() doesn't guarantee any specific content on file
	  expansion.
	* Added aligned_alloc(), posix_memalign(), posix_fadvise(),
	  posix_fallocate(), posix_madvics(), mlockall(), munlockall(), shm_open()
	  and shm_unlink().
	* mprotect(), madvise(): Added the missing return value.
	* msync(), Added new version of this function with the POSIX calling
	  convention.
	* mmap(): Added support for POSIX shared memory objects created with
	  shm_open(). These shared memory objects have dummy files created and
	  deleted in /ram/ixshm directory - the memory mapping is using direct
	  memory addressing and no content is written or read from these 0
	  byte files.
	* Bumped version to 50.26.

2025-09-11  Harry Sintonen <sintonen@iki.fi>
	* Fixed at-function functionality to restore is_root_dir status correctly
	  in error code paths.
	* Fixed to inhibit requesters in various functionalities.
	* Refuse to perform many operations or pure root dir ("/").
	* ix_user_clone_parent_generic: Fixed to clone locale, chroot and info on
	  whether current directory is the root dir ("/").
	* Bumped version date only since there are no ABI changes.

2025-09-10  Harry Sintonen <sintonen@iki.fi>
	* open()/openat(): Implemented O_NOFOLLOW, O_DIRECTORY and O_CLOEXEC.
	* fcntl(): Implemented F_DUPFD_CLOEXEC.
	* Bumped version date only since there are no ABI changes.

2025-09-09  Harry Sintonen <sintonen@iki.fi>
	* Added openat(), linkat(), symlinkat(), renameat(), execveat(),
	  faccessat(), mkdirat(), mknodat(), readlinkat() and unlinkat().
	* rename(): Return error with errno EPERM if rename of items in root
	  directory is attempted.
	* Bumped version to 50.25.

2025-09-08  Harry Sintonen <sintonen@iki.fi>
	* symlink()/link(): return errno EOPNOTSUPP when ACTION_MAKE_LINK isn't
	  supported at all, or when the spefic link type isn't supported.
	* 32-bit time_t gettimeofday(): Fixed to populate tv_usec correctly.
	* Bumped version date only since there are no ABI changes.

2025-09-07  Harry Sintonen <sintonen@iki.fi>
	* Fixed path resolution to handle volume relative access to root directory,
	  such as "/ram/..".
	* Fixed some leaks of dos locks.
	* Modified the directory file descriptor implementation to avoid locking
	  directories, allowing for example deletion of a directory that has a
	  descriptor open on it. Note that while the deletion will work, any further
	  operations on this descriptor will then fail (unlike with most Linux/BSD
	  systems that will defer the actual deletion if the directory has open
	  file descriptors).
	* fstat()/fstat64(): Implemented updating data for directory descriptors.
	* fstat(): Fixed to not truncate st_size / st_blocks for large files.
	* Bumped version date only since there are no ABI changes.

2025-09-06  Harry Sintonen <sintonen@iki.fi>
	* llistxattr()/lgetxattr(): Rather than returning an error for softlinks,
	  report no attributes.
	* Optimized the internal directory file descriptor implementation. This
	  should not be visible to the outside except in lower memory usage,
	  faster operation, and more consistency in some situations such as when
	  there are multple volumes with same name present.
	* fchmod(), fchown() and futimens(): Return an error if attempted on other
	  than file or directory descriptor.
	* utimensat(), fchmodat(), fchownat(), fstatat() and fstatat64(): Fixed to
	  correctly restore current directory after the call.
	* open()/openddir(): Changed the reading of directory contents to occur at
	  opendir() time.
	* rewinddir(): Fixed to refresh the dir contents.
	* Bumped version date only since there are no ABI changes.

2025-09-02  Harry Sintonen <sintonen@iki.fi>
	* Implemented minimal support for ISO8859-1 LC_CTYPE. When applications
	  call setlocale(LC_ALL, "") and no LC_ALL, LC_CTYPE or LANG environment
	  variable is specified, ixemul will default LC_CTYPE to ISO8859-1. As per
	  spec, if no setlocale() is called the default LC_CTYPE is "C" (ASCII).
	  Currently there is no locale support beyond this. More LC_CTYPE charset
	  and setting the default based on the actual system settings may be
	  implemented later.
	* Note that the way ctype functionality is implemented makes threads share
	  the LC_CTYPE among them. This is a known limitation that may get fixed
	  later.
	* Bumped version date only since there are no ABI changes.

2025-08-31  Harry Sintonen <sintonen@iki.fi>
	* Added confstr(), utimensat(), futimens(), fchmodat(), lchown(),
	  fchownat(), fstatat() and fstatat64().
	* utime()/utimes()/chmod()/chown(): Fixed to dereference softlinks.
	* fchmod()/fchown(): Change file properties on file system immediately.
	* strftime(): Fixed %s conversion specification.
	* Bumped version to 50.24.

2025-08-25  Harry Sintonen <sintonen@iki.fi>
	* fstat(): Fixed timestamp nanoseconds.
	* Bumped version date only since there are no ABI changes.

2025-08-12  Harry Sintonen <sintonen@iki.fi>
	* POSIX spawn: Fixed error return values to be errno numbers.
	* spawn.h: Removed inclusion of sched.h.
	* Updated time conversion, parsing and formatting routines to tzdb-2025b
	  codebase.
	* The time code now uses /MOSSYS/Data/zoneinfo on MorphOS.
	* Bumped version date only since there are no ABI changes.

2025-08-11  Harry Sintonen <sintonen@iki.fi>
	* open() O_TRUNC: Fixed to call SYS_ftruncate with 64-bit length param.
	* Bumped version date only since there are no ABI changes.

2025-08-10  Harry Sintonen <sintonen@iki.fi>
	* settimeofday(): Fixed incorrect test for overflow.
	* sysconf(): Added _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN.
	* Added execvpe().
	* Added POSIX spawn interface.
	* Added getloadavg().
	* Added mkdtemp().
	* Bumped version to 50.23.

2025-08-09  Harry Sintonen <sintonen@iki.fi>
	* Added fdopendir().
	* readdir(), telldir(), closedir(): Set errno if dirp is invalid.
	* Bumped version date only since there are no ABI changes to existing
	  functionality.

2025-08-08  Harry Sintonen <sintonen@iki.fi>
	* addgroup(): Fixed use after free.
	* fts_close(): Fixed use after free.
	* fstat() for open pipe: Fixed random fields in 'struct stat' due to a
	  mistake in clearing the structure to zero.
	* unlink(): Fixed the logic that attempts to make delete protected object
	  deletable: The code used somewhat random protection mode due to a logic
	  flaw. Also now attmpts to restore the original mode in case the delete
	  operation still fails after modifying the mode.
	* Bumped version date only since there are no ABI changes.

2025-08-07  Harry Sintonen <sintonen@iki.fi>
	* Major overhaul to add 64-bit off_t, fpos_t and time_t. As a result ixemul
	  now supports large files by default and handles dates beyond 2038-01-19.
	  Old ixemul apps will continue to run but are limited by the old API.
	  Newly built binaries will benefit from the new 64-bit functionality.
	* sys/types.h:
	  - added 'socklen_t' and use it where applicable.
	  - switched 'off_t' to 64-bit.
	  - switched 'time_t' to 64-bit.
	* sys/stat.h:
	  - added new 'struct stat' that has nanosecond precision timestamps.
	* stdio.h:
	  - switched 'fpos_t' to 64-bit.
	* sys/socket.h:
	  - added 'sa_family_t' and use it where applicable.
	  - added SHUT_RD, SHUT_WR and SHUT_RDWR.
	* netinet/in.h:
	  - include <sys/socket.h>.
	  - added 'in_port_t', 'in_addr_t' and INET_ADDRSTRLEN.
	* arpa/inet.h:
	  - include <netinet/in.h>.
	* Bumped version to 50.22.

2025-08-07  Harry Sintonen <sintonen@iki.fi>
	* Fixed System V semaphores and messages. The functionality has been
	  broken for >30 years due to mistakes in the original implementation.
	* Bumped version date only since there are no ABI changes.

2025-08-06  Harry Sintonen <sintonen@iki.fi>
	* Added IXID_ERRNO_PTR and IXID_H_ERRNO_PTR that are then used by the
	  crt0.o to obtain the errno/h_errno pointers. If the built binaries are
	  executed with older ixemul.library they will fall back to the old method
	  to fetch the pointers.
	* AF_UNIX: Allow socket locking to be aborted by a signal.
	* poll()/ppoll(): fixed to allow NULL 'struct pollfd' pointer if nfds is 0.
	* getpwent(): Fixed a bug leading to duplicate entries being returned.
	* POSIX datestamp emulation: Fixed problem converting datestamps beyond
	  year 2106. Such dates would wrap, resulting in wrong date being reported.
	* Bumped version date only since there are no ABI changes.

2025-07-26  Harry Sintonen <sintonen@iki.fi>
	* Fixed argument parser to not cut the program name on space/tab. The old
	  behaviour broke argv[0] with program paths with spaces/tabs in them.
	* execve(): Fixed to set program name correctly, converting the IX path
	  in argv[0] if present. This way non-ixemul applications will also get
	  correct path in argv[0]. Earlier program name was incorrectly set to
	  just filename part of the path.
	* Bumped version date only since there are no ABI changes.

2025-07-15  Harry Sintonen <sintonen@iki.fi>
	* AF_UNIX read/write: Fixed behaviour when signal is received. If a non-
	  blocked signal is received before any data is transferred return -1 and
	  errno EINTR, else the amount of data transferred so far is returned.
	* Bumped version date only since there are no ABI changes.

2025-07-14  Harry Sintonen <sintonen@iki.fi>
	* readv()/writev(): Fixed behaviour when signal is received or operation
	  would block once some data has already been read or written. In this case
	  the amount of data transferred so far is returned instead of -1.
	* Bumped version date only since there are no ABI changes.

2025-07-03  Harry Sintonen <sintonen@iki.fi>
	* write(): Fixed a regression introduced in 2025-04-27 release where write
	  of 0 bytes would incorrectly return an error.
	* open(): check lstat64() success before checking for st_mode.
	* write()/read(): return EINVAL error if too large operation is attempted.
	* Bumped version date only since there are no ABI changes.

2025-06-12  Harry Sintonen <sintonen@iki.fi>
	* Fixed a stalling issue with pipes where the application could end up
	  waiting in select() forever even though there is data to process.
	* ix_select(): Improved WaitSelect() error handling.
	* Bumped version date only since there are no ABI changes.

2025-05-27  Harry Sintonen <sintonen@iki.fi>
	* mkdir(): Also convert ERROR_INVALID_COMPONENT_NAME CreateDir() error
	  for existing directories to EEXIST.
	* Bumped version date only since there are no ABI changes.

2025-05-26  Harry Sintonen <sintonen@iki.fi>
	* mkdir(): Certain file systems return inconsistent errors if CreateDir()
	  is called on already existing directory. Added a workaround that tries
	  to make the errno consistent.
	* Bumped version date only since there are no ABI changes.

2025-05-18  Harry Sintonen <sintonen@iki.fi>
	* getpwent()/getpwuid()/getpwnam(): provide IX paths in pw_dir to ensure
	  best compatibility with apps that rightfully expect IX style paths. If
	  this is not done apps that build paths the IX way can easily end up with
	  invalid paths such as "T:/somedir".
	* When parsing environment at startup, HOME variable gets automatically
	  converted to IX path if needed.
	* Bumped version date only since there are no ABI changes.

2025-05-09  Harry Sintonen <sintonen@iki.fi>
	* open(): Fixed to fail with EEXIST if O_CREAT | O_EXCL opening a
	  symlink. This fixes for example tar to correctly overwrite
	  existing symlinks when extracting with default options.
	* Removed internal assumption about the signals available for
	  applications and use SysBase->TaskSigAlloc to determine it instead.
	* exec*(): Added support for applications that detach themselves to
	  allow background execution. Earlier the seglist of the application
	  was always unloaded, leading to crashes.
	* Bumped version date only since there are no ABI changes.

2025-05-08  Harry Sintonen <sintonen@iki.fi>
	* vfork(): Fixed a crash that could occur if a signal was received by
	  the parent calling the function. This issue has existed in the library
	  for about 20 years.
	* Bumped version date only since there are no ABI changes.

2025-05-07  Harry Sintonen <sintonen@iki.fi>
	* read(): Fixed to handle signals for non-blocking interactive console.
	  Before this fix the read() would block indefinitely even though
	  non-blocked signals arrived.
	* fstat()/fstat64(): Fixed to update the returned data even if the file
	  is not opened for writing.
	* Bumped version date only since there are no ABI changes.

2025-05-04  Harry Sintonen <sintonen@iki.fi>
	* pselect()/poll()/ppoll(): Fixed a logic flaw that would lead to
	  continuous triggering of sleep signal. This manifested in all kind of
	  misbehaviour, for example as busylooping with ssh/sftp.
	* Bumped version date only since there are no ABI changes.

2025-05-03  Harry Sintonen <sintonen@iki.fi>
	* Raised MAXINTERP from 32 to 128 (same as OpenBSD). This allows for
	  longer paths in shell script shebangs.
	* Bumped version date only since there are no ABI changes.

2025-05-02  Harry Sintonen <sintonen@iki.fi>
	* freopen(): Fixed a regression related to file locking introduced in
	  2025-04-12 change.
	* utime()/utimes(): Fixed a regression introduced yesterday that would
	  lead to files having bogus dates set for them in certain conditions.
	* fstat()/fstat64()/stat()/stat64(): Fixed a regression that would make
	  the library return invalid dates when running on MorphOS 3.19 or
	  earlier. This issue was introduced in 2023-09-19 changes, the issue
	  however is not present in the ixemul.library shipped with MorphOS
	  3.19.
	* Bumped version date only since there are no ABI changes.

2025-05-01  Harry Sintonen <sintonen@iki.fi>
	* utime()/utimes(): Fixed to cope better with API limitations of the
	  old locale.library. Additionally, if the date is set to older then
	  epoch time possible with the API, clamp the date to the epoch rather
	  than failing.
	* fstat()/fstat64()/stat()/stat64(): Now return timestamp of -1
	  (1969-01-01 23:59:59 UTC) if the object date would be outside of the
	  values that can be presented with 32-bit time_t. This is a limitation
	  that can't be worked around in current ixemul. Old 32-bit time APIs
	  used (time_t) -1 to indicate an error, so this is in line with that
	  (admittedly flawed) concept.
	* Bumped version date only since there are no ABI changes.

2025-04-30  Harry Sintonen <sintonen@iki.fi>
	* Fixed ixstack "stack usage" command path generation. It would
	  misbehave if program was executed with an absolute path.
	* Bumped version date only since there are no ABI changes.

2025-04-27  Harry Sintonen <sintonen@iki.fi>
	* lseek()/lseek64()/read()/write(): Fixed a long-standing bug where
	  an attempt of read()ing in O_RDWR file past the current file size
	  would pad the file size to the seek position. This is incorrect, as
	  such padding must only occur on write()s. This broke for example
	  sqlite3 database creation.
	* Bumped version date only since there are no ABI changes.

2025-04-12  Harry Sintonen <sintonen@iki.fi>
	* freopen(): Correctly reopen closed filehandle, even if file I/O
	  operations had been attempted on the closed handle.
	* Bumped version date only since there are no ABI changes.

2025-04-07  Harry Sintonen <sintonen@iki.fi>
	* rename(): Allow renaming a file over a softlink.
	* Bumped version date only since there are no ABI changes.

2024-11-22  Harry Sintonen <sintonen@iki.fi>
	* getcwd(): Fixed signal locking.
	* Bumped version date only since there are no ABI changes.

2024-05-28  Harry Sintonen <sintonen@iki.fi>
	* rand()/srand(): Reimplemented with PCG https://www.pcg-random.org/.
	* Bumped version date only since there are no ABI changes.

2023-09-19  Harry Sintonen <sintonen@iki.fi>
	* Use new dos.library API (when available) to get and set POSIX date
	  stamps for filesystem objects. This removes the need to perform UTC
	  to local or local to UTC time conversions in ixemul itself.
	* Use 64-bit locale.library timezone API calls when available.
	* Bumped version date only since there are no ABI changes.

2022-09-11  Harry Sintonen <sintonen@iki.fi>
	* readdir(): Improved to return d_type of DT_LNK for softlinks.
	* Bumped version date only since there are no ABI changes.

2022-05-19  Harry Sintonen <sintonen@iki.fi>
	* fstat(): Fixed incorrect localtime to UTC conversion.
	* Bumped version date only since there are no ABI changes.

2022-05-16  Harry Sintonen <sintonen@iki.fi>
	* wait()/waitpid(): Fixed a zero page hits if child process has already
	  terminated.
	* Bumped version date only since there are no ABI changes.

2022-02-24  Harry Sintonen <sintonen@iki.fi>
	* AF_UNIX connect(): Fixed a race condition when checking for the
	  connection state. This could lead to connect() waiting for connection
	  to establish when it in fact was already established.
	* Bumped version date only since there are no ABI changes.

2021-12-15  Harry Sintonen <sintonen@iki.fi>
	* setjmp()/longjmp()/sigsetjmp()/siglongjmp(): Implemented new
	  routines that preserve and restore altivec registers when available.
	  Old applications built using the old jmp_buf size will continue to
	  function as before since compatibility functions are provided. Newly
	  compiled code will use the new functions and new jmp_buf size, and
	  refuse to run with older ixemul.library.
	* Bumped version to 50.21.

2021-06-17  Harry Sintonen <sintonen@iki.fi>
	* Added extra call of TLS destructors right before releasing malloc
	  memory. Without this application (indirectly) calling malloc() +
	  TLSSetValue() could end up in use-after-free situation when the
	  destuctor eventually got called.
	* Bumped version date only since there are no ABI changes.

2021-03-28  Harry Sintonen <sintonen@iki.fi>
	* getppid(): Fixed a hit if parent PID is 1 ("init").
	* Bumped version date only since there are no ABI changes.

2021-02-21  Harry Sintonen <sintonen@iki.fi>
	* exec*(): Fixed a potential crash that could occur if application
	  using exec thread-local storage somehow managed to exit in an
	  uncontrolled way. In this case it could happen that already unloaded
	  code was executed.
	* _exit(): Changed to behave like exit() when called from the main
	  application. Before this change calling _exit() from the main app
	  could lead to a potential system resource leak. While this was
	  technically correct and according to spec, it can lead to all kind of
	  havoc in a system that doesn't automagically release resources. In
	  addition ixemul already behaves like this for other situations such
	  abort() and terminating on a signal. So in a sense this is merely
	  harmonizing already set behaviour.
	* atexit(): Fixed a crash if out of memory.
	* Ixemul now uses true PIDs instead of task pointers. Task pointers
	  can easily reappear when task completes and a new one is created.
	  Using PIDs is less of a problem since tasks are assigned unique
	  PIDs which will take a very long time to reappear after the task
	  terminates.
	* Bumped version date only since there are no ABI changes.

2021-02-18  Harry Sintonen <sintonen@iki.fi>
	* getrlimit(): Fixed RLIMIT_STACK.
	* Improved crt0.o to use ix_get_long(IXID_USER,0) to get user data
	  pointer.
	* Bumped version date only since there are no ABI changes.

2021-02-14  Harry Sintonen <sintonen@iki.fi>
	* wcsrtombs(): Fixed with NULL dest.
	* *printf(): Added %ls and %lc support.
	* wcrtomb(): Fixed return value with NULL buffer pointer.
	* strftime(): Added %F, %u and %z support.
	* wcsftime(): Implemented. It didn't do anything sensible before.
	* Bumped version date only since there are no ABI changes.

2021-02-13  Harry Sintonen <sintonen@iki.fi>
	* ioctl(): Fixed FIOCLEX and FIONCLEX.
	* Bumped version date only since there are no ABI changes.

2021-01-16  Harry Sintonen <sintonen@iki.fi>
	* realloc(): Fixed a double ixremove() resulting in subtle memory
	  corruption issues and crashes. This issue dates back to 2012.
	* Bumped version date only since there are no ABI changes.

2020-12-03  Harry Sintonen <sintonen@iki.fi>
	* usleep(): Added a return value.
	* Bumped version date only since there are no ABI changes that would
	  affect existing applications.

2020-11-18  Harry Sintonen <sintonen@iki.fi>
	* rename(): Fixed renaming when target object exists: Refuse to rename
	  when objects are of mixed type. If target directory exists it needs
	  to be empty or the rename will fail.
	* Bumped version date only since there are no ABI changes.

2020-11-11  Harry Sintonen <sintonen@iki.fi>
	* Added a workaround to avoid a crash when exec*()ing non-ixemul
	  commands.
	* Bumped version date only since there are no ABI changes.

2020-06-16  Harry Sintonen <sintonen@iki.fi>
	* Fixed a long-standing race condition bug where a signal during network
	  operation could result in a spurious SIGINT signal.
	* opendir(): added missing error checking and fixed memory leaks in error
	  code path.
	* Bumped version date only since there are no ABI changes.

2020-06-15  Harry Sintonen <sintonen@iki.fi>
	* open(): fixed bogus errno in some error code paths.
	* Bumped version date only since there are no ABI changes.

2020-06-09  Harry Sintonen <sintonen@iki.fi>
	* Fixed process group signaling to work even when exec*()ing non-ixemul
	  commands. This fixes a long standing bug where CTRL-C was ineffective
	  when ixemul application was executing a non-ixemul command.
	* Bumped version date only since there are no ABI changes.

2020-05-18  Harry Sintonen <sintonen@iki.fi>
	* flock(): Implemented. Marked the function no longer deprecated.
	* Bumped version date only since there are no ABI changes.

2020-05-10  Harry Sintonen <sintonen@iki.fi>
	* fcntl(): F_SETLK, F_SETLKW, and F_GETLK are now defined in headers,
	  but these options always return -1 and errno ENOLCK. struct flock is
	  also marked deprecated to indicate the missing implementation.
	* flock(): changed to always return -1 and errno ENOLCK in indicate the
	  fact that this function is not implemented.
	* Bumped version date only since there are no ABI changes.

2020-05-04  Harry Sintonen <sintonen@iki.fi>
	* exit2: call TLS destructors before atexit() handlers.
	* ix_close: call TLS destructors as a fallback if the app didn't call
	  them elsewhere already.
	* Bumped version date only since there are no ABI changes.

2020-04-26  Harry Sintonen <sintonen@iki.fi>
	* Added IXID_EXTRA_FLAGS.
	* Bumped version date only since there are no ABI changes.

2020-04-22  Harry Sintonen <sintonen@iki.fi>
	* Fixed wcsrtombs() to handle src pointer properly when dst is NULL.
	* Fixed wcstombs() to pass a pointer to a pointer to wcsrtombs().
	* Bumped version date only since there are no ABI changes.

2020-04-16  Harry Sintonen <sintonen@iki.fi>
	* Fixed ix_vfork_resume() to mark the vfork()ed thread as safe to call
	  exit(). Re-enabled the unsafe exit() debug.
	* Bumped version date only since there are no ABI changes.

2020-04-15  Harry Sintonen <sintonen@iki.fi>
	* Allow calling exit() from vfork()'d thread until the false positive
	  debug is sorted out.
	* Bumped version date only since there are no ABI changes.

2020-04-14  Harry Sintonen <sintonen@iki.fi>
	* Calling exit() from vfork()ed thread before exec*() or from asynchron
	  thread (such as pthread thread) will now pop up a requester instead
	  of just crashing. The calling thread is suspended.
	* exec*() will fail with -1/EINVAL if called from an asynchron thread.
	* Now properly disables signal processing while in ixnet ix_panic().
	* Added missing signal locking to wbstartup code.
	* Bumped version date only since there are no ABI changes.

2020-04-13  Harry Sintonen <sintonen@iki.fi>
	* Fixed dirname() and basename() to handle volume/device/assign in the
	  path. This fixes paths that don't have any directory component after
	  the volume/device/assign, for example "work:file.txt". Note that this
	  does not and can not fix the difference of specifying parent
	  directories: Specifically // doesn't work with UNIX paths like it
	  does with MorphOS ones.
	* Bumped version date only since there are no ABI changes.

2020-04-12  Harry Sintonen <sintonen@iki.fi>
	* Fixed mbsrtowcs() to handle src pointer properly when dst is NULL.
	* Fixed mbsrtowcs() to set *src to NULL when the L'\0' char has been
	  converted.
	* Bumped version date only since there are no ABI changes.

2020-04-11  Harry Sintonen <sintonen@iki.fi>
	* Fixed mbrlen()/mbrtowc()/wcrtomb() to use per caller static data
	  when called with NULL mbstate_t.
	* Bumped version date only since there are no ABI changes.

2020-04-05  Harry Sintonen <sintonen@iki.fi>
	* Fixed stat()/fstat() st_ino inconsistencies and random values.
	  These would result in for example grep sometimes thinking the
	  output was the same file as /dev/null when it in fact wasn't.
	* Fixed chmod()/chown()/mkdir()/rename()/remove()/rmdir()/setxattr()/
	  lsetxattr()/unlink()/utime()/utimes() to work with softlinks in
	  path. Note that this is not related to whether the specific object
	  operated on is a softlink or not.
	* Bumped version date only since there are no ABI changes.

2020-04-01  Harry Sintonen <sintonen@iki.fi>
	* Added pselect(), poll() and ppoll() functions.
	* Added sys/select.h, poll.h and sys/poll.h headers.
	* Bumped version to 50.20.

2020-03-31  Harry Sintonen <sintonen@iki.fi>
	* vfork(): fixed to call TLS destructors early.
	* getrlimit(): added some missing limits, fixed RLIMIT_STACK for
	  MorphOS.
	* Restored the SetExcept() optimization.
	* Bumped version date only since there are no ABI changes.

2020-03-29  Harry Sintonen <sintonen@iki.fi>
	* sleep()/usleep(): Don't overwrite errno on successful call.
	* Switched to per task errno and h_errno (for libpthread support).
	* Bumped version date only since there are no ABI changes.

2020-03-15  Harry Sintonen <sintonen@iki.fi>
	* AF_UNIX: implemented recvmsg() and sendmsg().
	* Bumped version date only since there are no ABI changes.

2020-03-14  Harry Sintonen <sintonen@iki.fi>
	* AF_UNIX: implemented getsockopt(), setsockipt(), recvfrom() and
	  sendto().
	* Bumped version date only since there are no ABI changes.

2020-03-12  Harry Sintonen <sintonen@iki.fi>
	* getgroups: Support querying the total number of groups.
	* kill: Fixed a bug that prevented busy programs from being sent a
	  signal. Fixed a race condition. Fixed to be able to signal self by
	  pid number. Added support for using MorphOS PIDs.
	* Bumped version date only since there are no ABI changes.

2020-03-10  Harry Sintonen <sintonen@iki.fi>
	* Fixed maximum stack usage tracking.
	* Implemented socketpair().
	* Fixed a memory leak in PF_UNIX (PF_LOCAL) socket close.
	* Bumped version date only since there are no ABI changes.

2020-03-09  Harry Sintonen <sintonen@iki.fi>
	* Fixed mresident applications using vfork_setup_child() getting
	  corrupted sdata/sbss section pointers if the pointers are modified
	  by the application before the vfork_setup_child() call.
	* Bumped version date only since there are no ABI changes.

2020-03-05  Harry Sintonen <sintonen@iki.fi>
	* Fixed fcntl() F_DUPFD to work with sockets.
	* Bumped version date only since there are no ABI changes.

2020-03-03  Harry Sintonen <sintonen@iki.fi>
	* Fixed select() to return -1 and errno EBADF if invalid fds are
	  passed in the file descriptor sets.
	* Fixed select() to keep the file descriptor sets unmodified on
	  errors.
	* Bumped version date only since there are no ABI changes.

2020-03-02  Harry Sintonen <sintonen@iki.fi>
	* Convert MakeLink() ERROR_IS_SOFT_LINK to ERROR_OBJECT_EXISTS. For
	  some reason SFS returns ERROR_IS_SOFT_LINK if the link already
	  exists.
	* Bumped version date only since there are no ABI changes.

2020-02-29  Harry Sintonen <sintonen@iki.fi>
	* Fixed memory corruption and leak when printf()ing floating point
	  numbers with very large precision.
	* Bumped version date only since there are no ABI changes.

2020-02-25  Harry Sintonen <sintonen@iki.fi>
	* Fixed a deadlock that could occur if vfork()ed child would select()
	  a filehandle.
	* Added initialization for internal mutexes.
	* Reduced select() ACTION_WAIT_CHAR timeout from 10 seconds to 1.
	* Bumped version date only since there are no ABI changes.

2020-02-17  Harry Sintonen <sintonen@iki.fi>
	* Fixed incorrect default FPU rounding mode. Now it's round to
	  nearest as specified by ISO C standard.
	* Bumped version date only since there are no ABI changes.

2020-01-16  Harry Sintonen <sintonen@iki.fi>
	* Added pread/pread64/pwrite/pwrite64.
	* Optimized lseek/lseek64 in certain situations.
	* Bumped version to 50.19.

2020-01-16  Harry Sintonen <sintonen@iki.fi>
	* Fixed lseek64() wrong return value for positions >2GB.
	* Bumped version date only since there are no ABI changes.

2019-08-01  Harry Sintonen <sintonen@iki.fi>
	* Added support functions to enable GCC threading without depending
	  on knowledge of ixemul internal structures.
	* Bumped version to 50.18.

2019-07-27  Harry Sintonen <sintonen@iki.fi>
	* Fixed gettimeofday() and settimeofday() to check for correct
	  timer.device version for UTC support.
	* Bumped version date only since there are no ABI changes.

2019-07-26  Harry Sintonen <sintonen@iki.fi>
	* Fixed vfork() to clone the parent PPC stack size.
	* Bumped version date only since there are no ABI changes.

2019-02-01  Harry Sintonen <sintonen@iki.fi>
	* Fixed getcwd(NULL,n) memory leaks in some error code paths.
	* Fixed getcwd(NULL,0) to allow longer than 256 char paths.
	* Bumped version date only since there are no ABI changes.

2018-11-24  Harry Sintonen <sintonen@iki.fi>
	* Fixed a memory corruption issue introduced by 2018-11-20 change.
	* Bumped version date only since there are no ABI changes.

2018-11-21  Harry Sintonen <sintonen@iki.fi>
	* Fixed a regression of not being able to open("/dev/null",...)
	  due to yesterday's changes.
	* Bumped version date only since there are no ABI changes.

2018-11-20  Harry Sintonen <sintonen@iki.fi>
	* Fixed support for calling utime()/utimes() on a open file
	  descriptor. The initial support added in 2018-08-04 was broken.
	* Bumped version date only since there are no ABI changes.

2018-09-30  Harry Sintonen <sintonen@iki.fi>
	* Fixed a NULL page read when utimes is called with NULL 'times'
	  on an open file descriptor.
	* Bumped version date only since there are no ABI changes.

2018-08-12  Harry Sintonen <sintonen@iki.fi>
	* Fixed getfsstat() to return only filesystems that respond to
	  ACTION_DISK_INFO.
	* Fixed statfs()/fstatfs() to handle errors more gracefully and
	  to properly lock the signals when holding the doslist lock.
	* Bumped version date only since there are no ABI changes.

2018-08-04  Harry Sintonen <sintonen@iki.fi>
	* Added support for calling utime()/utimes() on a open file
	  descriptor. The file time is restored on close() then.
	* Bumped version date only since there are no ABI changes.

2018-03-29  Harry Sintonen <sintonen@iki.fi>
	* Fixed fread() EOF handling once more.
	* Bumped version date only since there are no ABI changes.

2018-02-26  Harry Sintonen <sintonen@iki.fi>
	* Support for new MorphOS UTC system clock and system timezone.
	* Bumped version date only since there are no ABI changes.

2017-12-27  Harry Sintonen <sintonen@iki.fi>
	* Fixed fread() to set EOF status when caller is reading more data
	  than is available.
	* Bumped version date only since there are no ABI changes.

2017-06-13  Harry Sintonen <sintonen@iki.fi>
	* Fixed lstat()/lstat64() with softlinks within the path before the
	  last component.
	* Fixed readlink() parsing the ReadLink() return code.
	* Bumped version date only since there are no ABI changes.

2016-03-18  Sigbjrn Skjret <cisc@broadpark.no>
	* Added q/ll/imaxabs, q/ll/imaxdiv, strtoimax, strtoumax and _Exit.
	* Bumped version to 50.17.

2016-03-15  Sigbjrn Skjret <cisc@broadpark.no>
	* Added localtime_r, gmtime_r, ctime_r and asctime_r.

2016-01-18  Harry Sintonen <sintonen@iki.fi>
	* Fixed a silly zeropage read hit introduced by the recent changes.
	* Bumped version to 50.16.

2016-01-16  Harry Sintonen <sintonen@iki.fi>
	* Fixed invalid memory access if bogus fd is passed to fpathconf,
	  fchmod, fchown, ioctl, isatty, read, statfs or statfs64.
	* Bumped version to 50.15.

2016-01-15  Harry Sintonen <sintonen@iki.fi>
	* Fixed delayed unlink/chmod sometimes working on a wrong file.
	* Fixed a race condition in /dev/ptty* open.
	* Bumped version to 50.14.

2016-01-14  Harry Sintonen <sintonen@iki.fi>
	* Fixed rmdir to return ENOTDIR when the target isn't a directory.
	* Fixed number of race conditions in f_count handling.
	* Fixed a descriptor leak in error code path for dup() on sockets.
	* Bumped version to 50.13.

2016-01-12  Jacek Piszczek <jacadcaps@gmail.com>
	* fixed mbsinit.
	* Bumped version to 50.12.

2016-01-02  Harry Sintonen <sintonen@iki.fi>
	* Added xattr support: user.amiga.mode contains the amiga protection bits,
	  user.amiga.comment the file comment. This is useful with for example
	  tar, which can now store and restore amiga protection bits when --xattrs
	  is specified.
	* Added support for more errno numbers (needed by xattr).
	* Implemented mknod for regular files.
	* bumped version to 50.11.

2015-03-09  Marek Szyprowski
	* Changed fake inode number for symlinks from 123 to -2 to avoid clash
	  with a real file inode number, what in turn confuses utilities like tar
	* bumped version to 50.10.

2015-02-14  Harry Sintonen <sintonen@iki.fi>
	* Fixed a bogus return value for realpath() when out of memory.
	* Fixed ftruncate() to fail with EINVAL for RDONLY files.
	* Added LARGEFILE support.
	* bumped version to 50.9.

2014-08-31  Harry Sintonen <sintonen@iki.fi>
	* Fixed a crash on library expunge.
	* bumped version to 50.8.

2014-07-27  Christian Rosentreter <tokai@binaryriot.org>
	* bumped version to 50.7.

2014-07-27  Marek Szyprowski
	* Fixed support for softlinks provided by absolute path
	  (i.e. /drive/path/file-link).

2014-05-09  Frank Mariak
	* bumped version to 50.6.

2013-11-19  Mark Olsen <bigfoot@private.dk>
	* Change to the directory containing the soft link before calling
	  ReadLink().

2013-07-16  Harry Sintonen <sintonen@iki.fi>
	* open O_APPEND: Use Seek64 to seek to the file end when available.
	* Also use Seek64 for full append-mode, when available.

2013-05-09  Harry Sintonen <sintonen@iki.fi>
	* Ignore SELCMD_CLEANUP at unp_select. Fixes some hangs since
	  the stupid cone does unspecified things with unknown select_cmd
	  types.

2013-04-15  Mark Olsen <bigfoot@private.dk>
	* Fixed realpath() to handle the case where the resolved_path
	  argument is 0, as required by POSIX.1-2008.
	* Bumped version to 50.5.

2013-01-20  Harry Sintonen <sintonen@iki.fi>
	* Added Berkeley Packet Filter support with compatible
	  bsdsocket.library. The BPF devices appear as /dev/bpf<n> and are
	  thus picked up by libpcap configure automagically.
	* Bumped version to 50.4.

2012-04-14  Jacek Piszczek <jacadcaps@gmail.com>
	* Fixed __load_seg to resolve PATH rather than use the CLI path list
	* Bumped version to 50.3

2010-05-15  Marcin Kurek <morgoth6@gmail.com>
	* Changes for gcc4.
	* Fixes to wchar support.
	* Added getopt_long.
	* New library functions: strlcpy, strlcat and wcsstr.
	* Bumped version to 50.1.

2008-08-15  Harry Sintonen <sintonen@iki.fi>
	* Fixed a race condition in global environment (ENV:) scanning.
	* Bumped version to 49.26.

2007-03-19  Harry Sintonen <sintonen@iki.fi>
	* Fixed a silly bug in the "Ram Disk:" to "RAM:" conversion.
	* Fixed __load_seg for root directory (/).

2007-02-19  Harry Sintonen <sintonen@iki.fi>
	* Internally convert any occurence of "Ram Disk:" to "RAM:". This
	  workarounds some b0rken configure scripts.
	* Bumped version to 49.25.

2007-01-28  Harry Sintonen <sintonen@iki.fi>
	* MorphOS: Fixed startup-code local ix_panic varargs.
	* __ix_wb_parse: Free temporary memory allocated for the WINDOW
	  tooltype.

2007-01-12  Harry Sintonen <sintonen@iki.fi>
	* Fixed widechar _ctype_ accesses (Marcin Kurek).

2006-11-19  Harry Sintonen <sintonen@iki.fi>
	* Fixed to restore tc_UserData at ix_close.
	* Bumped version to 49.24.

2006-11-01  Harry Sintonen <sintonen@iki.fi>
	* Fixed ixemul and ixnet library open to check for AllocSignal()
	  failures.
	* Disabled SetExcept() optimization until GDB issue is sorted out.

2006-08-20  Harry Sintonen <sintonen@iki.fi>
	* Fixed getpagesize() to return the actual page size.
	* Adjusted MorphOS ix_flush*() cache routines to invalidate/flush
	  m68k (JIT) cache aswell as PPC. This way m68k ixemul apps won't
	  break at least. No big deal, as far as I can tell these functions
	  are pretty much unused.

2006-08-16  Harry Sintonen <sintonen@iki.fi>
	* Fixed vfork() PPCSPLower & PPCSPUpper alignment.
	* Fixed execve() atexit-handler calling to make sure stdio
	  file descriptors can't be close()d.
	* Bumped version to 49.23.

2006-04-05  Harry Sintonen <sintonen@iki.fi>
	* Fixed pw_class to be "default" instead of NULL. NULL value made
	  ssh barf (strlen(NULL)).
	* Fixed AS225/INet225 pw_change to be time(NULL), not -1.
	* Bumped version to 49.22.

2006-03-11  Harry Sintonen <sintonen@iki.fi>
	* Now clears possibly pending CTRL-E and CTRL-F signals.

2006-03-10  Harry Sintonen <sintonen@iki.fi>
	* Limited the SetExcept sigmask to ixemul allocated signals only.
	  User allocated signals no longer cause exceptions (device I/O,
	  or anything else using user signals directly/indirectly).

2006-02-15  Harry Sintonen <sintonen@iki.fi>
	* Fixed all printf family functions not to parse the format string
	  as multibyte.
	* Bumped version to 49.21.

2006-02-09  Harry Sintonen <sintonen@iki.fi>
	* Fixed getfsstat(), fstatfs() and statfs() to LockDosList()/
	  NextDosList()/UnLockDosList() the doslist properly instead of
	  Forbid() and direct list scanning.
	* Fixed getfsstat(), fstatfs() and statfs() to make sure the device
	  process hasn't disappeared before sending a dospacket.
	* Removed use of custom __Close function, use dos Close instead.

2005-10-29  Mark Olsen <bigfoot@private.dk>
	* Mapped /dev/zero to zero: in __open.c

2005-10-25  Harry Sintonen <sintonen@iki.fi>
	* Fixed ix_to_ados with foo:./[///]bar and foo:/[///]bar. Some stuff
	  appears to depend on this. Note that foo:../bar etc still works
	  different to original routine. If something depends on that
	  particular feature of the original routine, we're screwed.
	* Added ftruncate() seek workaround for buggy filesystems (FFS2).
	* Bumped version to 49.20.

2005-06-26  Harry Sintonen <sintonen@iki.fi>
	* Rewrote ix_to_ados path conversion routine, it was way too hairy
	  and buggy (for example .// and ..// were interpreted wrong). Now
	  it's a simple state-engine with exception for ix and abs-ados
	  path concatenation (needed by ksh cd for example). Also, it no
	  longer tries to optimize away parent elements in the path, as
	  this could have led into problems with softlinks.

2005-06-14  Jacek Piszczek <jacadcaps@poczta.onet.pl>
	* Tweaked termios defaults to match those used on linux, enabled
	  ISIG, stdin has output flags set as well as stdout now

2005-05-25  Jacek Piszczek <jacadcaps@poczta.onet.pl>
	* Fixed \n filter when IXTTY_ONLCR is disabled (uses INDEX now).
	* Added IXTTY_SPECIAL for sshconsole

2005-04-20  Harry Sintonen <sintonen@iki.fi>
	* Disabled CTRL-F -> SIGWINCH translation code, it isn't used by
	  anything anyway. It also broke ahi.device from ixemul apps.
	  There's still the Ixemul semaphore to send signals from outside
	  of ixemul.
	* Fixed setnetent()/endnetent()/getnetent() to be reentrant.
	* Fixed AS255 68k vsyslog() to actually print to the log instead
	  of stdout.
	* Fixed vsyslog()/AS225 68k vsyslog() to be reentrant.
	* Fixed getpass() to be reentrant.
	* MorphOS: Removed EmulCall68k in favor of EmulCallDirect68k.
	* Updated inet_network() to 1993 edition.
	* Fixed getnetent() wrong n_net value and alias parsing.
	* Fixed fread LARGEREADS: It didn't handle writes or ungetc before
	  large read.
	* Rootdir (/) emulation lists assigns now, too. [Pavel Fedin]
	* Bumped version to 49.19.

2005-03-02  Harry Sintonen <sintonen@iki.fi>
	* ixnet: fixed h_errno variable, it was never set before.
	* Bumped version to 49.18.

2005-02-18  Jacek Piszczek <jacadcaps@poczta.onet.pl>
	* Added a possibility to disable IXTTY_ONLCR.
	* Added a \n to ^D filter when IXTTY_ONLCR is disabled.
	* TIOCSET* functions applied to stdin update stdout, etc to
	  fix some compatibility issues.
	* Bumped version to 49.17.

2005-02-16  Harry Sintonen <sintonen@iki.fi>
	* Fixed snprintf/vsnprintf(p,0,...) wrong return value. Both
	  functions would always return -1 instead of the number of
	  characters that would have been written (not counting \0).
	* Bumped version to 49.16.

2005-01-14  David Gerber <zapek@morphos.net>
	* Fixed scandir() to return proper file types.

2005-01-05  Emmanuel Lesueur <lesueur@club-internet.fr>
	* Added a way to send unix signals to an ixemul process from a non
	  ixemul process.
	* Bumped version to 49.15.

2004-10-04  Harry Sintonen <sintonen@iki.fi>
	* nmap returned NULL instead of -1 for error in one case (report
	  by jorge).

2004-08-28  Harry Sintonen <sintonen@iki.fi>
	* ixemul/ixnet LIB_Expunge: Don't reference already freed memory.
	* Bumped version to 49.14.

2004-07-05  Harry Sintonen <sintonen@iki.fi>
	* Removed the global max file limit of 512. Currently the close()d
	  filenodes don't get released, but are cached for reuse.
	* Bumped version to 49.13.

2004-06-17  Harry Sintonen <sintonen@iki.fi>
	* Fixed ix_create_extio wrong message node type.

2004-04-02  Emmanuel Lesueur <lesueur@club-internet.fr>
	* Altivec stack alignment fixes.
	* Bumped version to 49.12.

2004-03-18  Sigbjrn Skjret <cisc@broadpark.no>
	* Fixed ENV: notification, you can actually use global envvars now.

2003-12-27  Harry Sintonen <sintonen@iki.fi>
	* Optimized bcopy(), bzero() and memset().
	* Fixed bzero() trashing whole memory if called with odd
	  address and 0 len.
	* Bumped version to 49.11.

2003-12-12  Harry Sintonen <sintonen@iki.fi>
	* Fixed uname() to return sensible values under MorphOS.
	* No longer relies on shared math libraries under MorphOS.
	* Bumped version to 49.10.

2003-10-15  Emmanuel Lesueur <lesueur@club-internet.fr>
	* Fixed chdir("/") so that mkdir -p /ram/foo/bar works.
	* Bumped version to 49.9.

2003-08-24  Mark Olsen <bigfoot@private.dk>
	* file fds no longer set exc fdset in select because there is data
	  to read.

2003-08-17  David Gerber <zapek@morphos.net>
	* Added direct mapping of /dev/(random|urandom|srandom|prandom) to
	  the RANDOM: device.
	* Bumped version to 49.8.

2003-08-06  Harry Sintonen <sintonen@iki.fi>
	* Fixed getcwd() off-by-one buffer overflow if ix_translate_slash
	  was enabled.
	* Fixed getcwd() buffer overflows with buffer size of 1.
	* Fixed getcwd() errno in error cases.
	* Bumped version to 49.7.

2003-07-19  Harry Sintonen <sintonen@iki.fi>
	* Fixed open() not seeking to file end for O_APPEND.
	* Bumped version to 49.6.

2003-07-17  Harry Sintonen <sintonen@iki.fi>
	* Fixed lstat() entering forever loop if called for multiassign
	  where the first assign doesn't match.
	* Bumped version to 49.5.

2003-07-15  Harry Sintonen <sintonen@iki.fi>
	* Fixed ftruncate() and truncate() wrong return value for success.
	* Bumped version to 49.4.

2003-07-07  Harry Sintonen <sintonen@iki.fi>
	* Fixed getwd() and getcwd() to prefer NameFromLock() of
	  pr_CurrentDir over buffersize limited GetCurrentDirName().
	* Bumped version to 49.3.

2002-11-30  David Gerber <zapek@morphos.net>
	* Removed "Physical blocks build one logical block (for stdio)"
	  option which is computed automatically depending on device
	  blocksize now.

2001-06-01  Emmanuel Lesueur <lesueur@club-internet.fr>
	* Adapted the signal handling process to the new MorphOS
	  scheduler. It seems to have fixed the CTRL-C crashes.
	* Bumped version to 49.2.

2001-03-28  Emmanuel Lesueur <lesueur@club-internet.fr>
	* Fixed math functions for MorphOS

2000-10-21  Emmanuel Lesueur <lesueur@club-internet.fr>
	* Implemented cache manipulation functions, besides flush_cache().
	* Fixed problems with executing non-ixemul programs.
	* Bumped version to 49.1.

2000-10-04  Emmanuel Lesueur <lesueur@club-internet.fr>
	* Fixed various problems with 68k ixemul programs
	* Completed support for 68k stack management
	* Improved configure/make
	* Fixed some includes bugs
	* Added support for ctors/dtors in crt0.o
	* Added the missing _err/_warn
	* Compiled the ixpipe: handler and some tools

2000-09-17  Emmanuel Lesueur <lesueur@club-internet.fr>
	* fixed wb startup problems.
	* fixed problem with stack extension of 68k program

2000-08-30  Emmanuel Lesueur <lesueur@club-internet.fr>
	* fixed siglongjmp()
	* fixed a race condition in wait4()

2000-06-20  Emmanuel Lesueur <lesueur@club-internet.fr>

	* Added MorphOS support.
	* bumped version from 48.1 to 49.0.

2000-05-07  Emmanuel Lesueur <lesueur@club-internet.fr>

	* replaced the signal handling by one based on exceptions.

1999-07-12  David Zaroski  <zaroski@cronus.ninemoons.com>

	* (library/lseek.c): fix error reporting in __extend_file()

1999-06-13  Fred Fish  <fnf@ninemoons.com>

	* version.in: Bump development version from 48.0 to 48.1 and
	update the date fields.

1999-03-06  David Zaroski  <zaroski@cronus.ninemoons.com>

	* (configure.in): add support for cross compiling
	* (Makefile.in) : ditto
	* (man/Makefile.in): fix man page generation
	* Regenerate configure

Sat May 23 23:53:18 1998  Fred Fish  <fnf@ninemoons.com>

	* Makefile.in (OS): Remove pos from default list of operating systems
	to build for.

1998-03-25  Fred Fish  <fnf@ninemoons.com>

	* ChangeLog: New file
	* Makefile.in (CPU-FPU-TYPES): Add 68060.68881
