ixemul.library 80.1
===================
Release date: 2026-09-25
ixemul.library provides a BSD/Unix runtime environment for AmigaOS. It
implements many of the system interfaces and C library functions needed
by software ported from BSD and other Unix-like systems.
This release represents a substantial update of ixemul.library, with
emphasis on correctness, stability, compatibility with more recent Unix
software, and improved performance on m68k systems.
Version 80.1 remains based on the traditional ixemul.library interface.
It is intended as a compatible replacement for earlier releases rather
than a redesigned runtime environment. Historical behaviour has generally
been preserved unless it was clearly unsafe or incorrect.
Changes since version 80.0
Version 80.1 is a maintenance release containing a correctness fix and
source-documentation corrections made after version 80.0.
- Fixed strunvis() and strnunvis() so incomplete escape sequences at
the end of the input are rejected instead of silently accepted.
- Removed the obsolete lseekw() compatibility wrapper, its library
vector and its public declaration.
- Restored copyright and licence notices accidentally omitted from
modified source files.
- Corrected inaccurate or incomplete source revision histories.
- Moved planned AF_UNIX implementation work from BUGS to TODO.
- Updated BUGS with the remaining rare SIGWINCH/input.device teardown
freeze.
- Updated TODO with planned investigation and teardown hardening.
See the included ChangeLog for complete details.
Requirements
------------
- AmigaOS 3.x or a compatible system
- Motorola 68000 or later
- A suitable network stack when ixnet networking is used
Contents
--------
This archive contains:
- ixemul.library
- ixnet.library
- the ixpipe-handler and its mount list
- startup command for mounting the IXPIPE: device
- headers, C libraries and startup objects for GG:
- the complete source code
- documentation, NEWS and revision history
The runtime libraries and development files belong to the same release.
Do not mix the version 80.0 libraries with headers, libc files or startup
objects from an older ixemul development environment.
Installation
------------
The archive contains files for both the AmigaOS system partition and the
Geek Gadgets development environment.
AmigaOS system files
--------------------
The system files should normally be installed on the AmigaOS system
partition, usually the Workbench partition.
Copy the supplied files as follows:
devs/MountList.IXPIPE -> DEVS:MountList.IXPIPE
l/ixpipe-handler -> L:ixpipe-handler
libs/ixemul.library -> LIBS:ixemul.library
libs/ixnet.library -> LIBS:ixnet.library
Back up existing versions of the libraries before replacing them.
Do not overwrite an existing S:user-startup. Add the relevant commands
from the supplied s/user-startup file to the existing file.
If ADE uses a separate startup script, IXPIPE: can instead be mounted by
adding:
; Mount the ixpipe: device
Mount IXPIPE: FROM DEVS:MountList.IXPIPE
Geek Gadgets development files
------------------------------
The supplied GG: files contain the headers, C libraries and startup
objects needed to compile and link programs against ixemul.library 80.0.
Copy these files to the corresponding directories below GG:, preserving
the directory structure in the archive.
Back up the existing development environment before replacing its files.
All ixemul headers, libc files and startup objects should be updated
together. They must match the installed version of ixemul.library.
Source code
-----------
The complete source code is included for developers who want to inspect,
modify or rebuild ixemul.library, ixnet.library and the supplied utilities.
The source code is not required for normal use of ixemul-based programs.
The source tree is intended to be built in an ADE or Geek Gadgets
development environment using GCC 2.95.3 and the supplied development
files.
Completing the installation
---------------------------
Reboot after installing the system libraries, or make sure that old
resident versions are no longer in use before testing the new release.
Main changes since ixemul 48.2
------------------------------
Version 80.x includes extensive correctness and stability fixes, improved
boundary and error handling, compatibility updates, new functionality and
targeted performance improvements for m68k systems.
Important areas updated in this release include:
- memory and string functions
- file and directory handling
- stdio and formatted output
- signals, timers and select()
- process creation, waiting and termination
- console, TTY, PTY and pipe handling
- socket and network compatibility
- time and timezone handling
- compatibility with newer Unix software
- support for 68000 through 68060 processors
See the included NEWS and ChangeLog files for detailed information about
the changes.
Compatibility
-------------
The library is intended to support software compiled for the traditional
ixemul.library API.
This fork deliberately avoids broad semantic changes that could break
older applications. Historical behaviour has generally been preserved
unless it was clearly unsafe or incorrect.
Some programs may depend on undocumented behaviour, so compatibility with
every existing ixemul program cannot be guaranteed. Keep a working backup
of the previous library when testing this release.
Testing and problem reports
---------------------------
When reporting a problem, include the following information:
- AmigaOS version
- CPU type
- ixemul.library version
- program name and version
- exact error message or crash conditions
- whether the problem occurs with the previous ixemul.library
Authors and contributors
------------------------
ixemul.library was originally created by Markus Wild in 1991 or 1992.
Later development and maintenance were carried out by Rafael W. Luebbert,
Leonard Norrgard, Hans Verkuil and other contributors.
Jeff Shepherd contributed to the reorganization of the network support
and the introduction of ixnet.library. Matthias Fleischer implemented the
automatic stack-extension support.
Version 80.1 is maintained and developed by Jörgen Johansson.
Development of version 80.0 was assisted by OpenAI's ChatGPT, Copilot and
DeepSeek, which were used for source review, implementation, documentation
and test analysis. The resulting changes were integrated by the maintainer.
Acknowledgement
---------------
This product includes software developed by the University of
California, Berkeley and its contributors.
License
-------
ixemul.library contains code distributed under several free software
licences. Refer to the source files and included licence documentation
for the applicable copyright and licence terms.
Disclaimer
----------
This software is provided without warranty. Keep a working backup of the
previous ixemul.library before installing this release.
|