diff --git a/CVSROOT/checkoutlist b/CVSROOT/checkoutlist
deleted file mode 100644
index 2921bff..0000000
--- a/CVSROOT/checkoutlist
+++ /dev/null
@@ -1,13 +0,0 @@
-# The "checkoutlist" file is used to support additional version controlled
-# administrative files in $CVSROOT/CVSROOT, such as template files.
-#
-# The first entry on a line is a filename which will be checked out from
-# the corresponding RCS file in the $CVSROOT/CVSROOT directory.
-# The remainder of the line is an error message to use if the file cannot
-# be checked out.
-#
-# File format:
-#
-# [][]
-#
-# comment lines begin with '#'
diff --git a/CVSROOT/commitinfo b/CVSROOT/commitinfo
deleted file mode 100644
index b19e7b7..0000000
--- a/CVSROOT/commitinfo
+++ /dev/null
@@ -1,15 +0,0 @@
-# The "commitinfo" file is used to control pre-commit checks.
-# The filter on the right is invoked with the repository and a list
-# of files to check. A non-zero exit of the filter program will
-# cause the commit to be aborted.
-#
-# The first entry on a line is a regular expression which is tested
-# against the directory that the change is being committed to, relative
-# to the $CVSROOT. For the first match that is found, then the remainder
-# of the line is the name of the filter to run.
-#
-# If the repository name does not match any of the regular expressions in this
-# file, the "DEFAULT" line is used, if it is specified.
-#
-# If the name "ALL" appears as a regular expression it is always used
-# in addition to the first matching regex or "DEFAULT".
diff --git a/CVSROOT/config b/CVSROOT/config
deleted file mode 100644
index 92c150b..0000000
--- a/CVSROOT/config
+++ /dev/null
@@ -1,21 +0,0 @@
-# Set this to "no" if pserver shouldn't check system users/passwords
-#SystemAuth=no
-
-# Put CVS lock files in this directory rather than directly in the repository.
-#LockDir=/var/lock/cvs
-
-# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top
-# level of the new working directory when using the `cvs checkout'
-# command.
-#TopLevelAdmin=no
-
-# Set `LogHistory' to `all' or `TOEFWUPCGMAR' to log all transactions to the
-# history file, or a subset as needed (ie `TMAR' logs all write operations)
-#LogHistory=TOEFWUPCGMAR
-
-# Set `RereadLogAfterVerify' to `always' (the default) to allow the verifymsg
-# script to change the log message. Set it to `stat' to force CVS to verify# that the file has changed before reading it (this can take up to an extra
-# second per directory being committed, so it is not recommended for large
-# repositories. Set it to `never' (the previous CVS behavior) to prevent
-# verifymsg scripts from changing the log message.
-#RereadLogAfterVerify=always
diff --git a/CVSROOT/cvswrappers b/CVSROOT/cvswrappers
deleted file mode 100644
index e989b75..0000000
--- a/CVSROOT/cvswrappers
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file affects handling of files based on their names.
-#
-# The -m option specifies whether CVS attempts to merge files.
-#
-# The -k option specifies keyword expansion (e.g. -kb for binary).
-#
-# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
-#
-# wildcard [option value][option value]...
-#
-# where option is one of
-# -f from cvs filter value: path to filter
-# -t to cvs filter value: path to filter
-# -m update methodology value: MERGE or COPY
-# -k expansion mode value: b, o, kkv, &c
-#
-# and value is a single-quote delimited value.
-# For example:
-#*.gif -k 'b'
diff --git a/CVSROOT/editinfo b/CVSROOT/editinfo
deleted file mode 100644
index d78886c..0000000
--- a/CVSROOT/editinfo
+++ /dev/null
@@ -1,21 +0,0 @@
-# The "editinfo" file is used to allow verification of logging
-# information. It works best when a template (as specified in the
-# rcsinfo file) is provided for the logging procedure. Given a
-# template with locations for, a bug-id number, a list of people who
-# reviewed the code before it can be checked in, and an external
-# process to catalog the differences that were code reviewed, the
-# following test can be applied to the code:
-#
-# Making sure that the entered bug-id number is correct.
-# Validating that the code that was reviewed is indeed the code being
-# checked in (using the bug-id number or a seperate review
-# number to identify this particular code set.).
-#
-# If any of the above test failed, then the commit would be aborted.
-#
-# Actions such as mailing a copy of the report to each reviewer are
-# better handled by an entry in the loginfo file.
-#
-# One thing that should be noted is the the ALL keyword is not
-# supported. There can be only one entry that matches a given
-# repository.
diff --git a/CVSROOT/loginfo b/CVSROOT/loginfo
deleted file mode 100644
index 537607d..0000000
--- a/CVSROOT/loginfo
+++ /dev/null
@@ -1,27 +0,0 @@
-# The "loginfo" file controls where "cvs commit" log information
-# is sent. The first entry on a line is a regular expression which must match
-# the directory that the change is being made to, relative to the
-# $CVSROOT. If a match is found, then the remainder of the line is a filter
-# program that should expect log information on its standard input.
-#
-# If the repository name does not match any of the regular expressions in this
-# file, the "DEFAULT" line is used, if it is specified.
-#
-# If the name ALL appears as a regular expression it is always used
-# in addition to the first matching regex or DEFAULT.
-#
-# You may specify a format string as part of the
-# filter. The string is composed of a `%' followed
-# by a single format character, or followed by a set of format
-# characters surrounded by `{' and `}' as separators. The format
-# characters are:
-#
-# s = file name
-# V = old version number (pre-checkin)
-# v = new version number (post-checkin)
-# t = tag or branch name
-#
-# For example:
-#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
-# or
-#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog
diff --git a/CVSROOT/modules b/CVSROOT/modules
deleted file mode 100644
index cb9e9ef..0000000
--- a/CVSROOT/modules
+++ /dev/null
@@ -1,26 +0,0 @@
-# Three different line formats are valid:
-# key -a aliases...
-# key [options] directory
-# key [options] directory files...
-#
-# Where "options" are composed of:
-# -i prog Run "prog" on "cvs commit" from top-level of module.
-# -o prog Run "prog" on "cvs checkout" of module.
-# -e prog Run "prog" on "cvs export" of module.
-# -t prog Run "prog" on "cvs rtag" of module.
-# -u prog Run "prog" on "cvs update" of module.
-# -d dir Place module in directory "dir" instead of module name.
-# -l Top-level directory only -- do not recurse.
-#
-# NOTE: If you change any of the "Run" options above, you'll have to
-# release and re-checkout any working directories of these modules.
-#
-# And "directory" is a path to a directory relative to $CVSROOT.
-#
-# The "-a" option specifies an alias. An alias is interpreted as if
-# everything on the right of the "-a" had been typed on the command line.
-#
-# You can encode a module within a module by using the special '&'
-# character to interpose another module into the current module. This
-# can be useful for creating a module that consists of many directories
-# spread out over the entire source repository.
diff --git a/CVSROOT/notify b/CVSROOT/notify
deleted file mode 100644
index 74ae6f9..0000000
--- a/CVSROOT/notify
+++ /dev/null
@@ -1,12 +0,0 @@
-# The "notify" file controls where notifications from watches set by
-# "cvs watch add" or "cvs edit" are sent. The first entry on a line is
-# a regular expression which is tested against the directory that the
-# change is being made to, relative to the $CVSROOT. If it matches,
-# then the remainder of the line is a filter program that should contain
-# one occurrence of %s for the user to notify, and information on its
-# standard input.
-#
-# "ALL" or "DEFAULT" can be used in place of the regular expression.
-#
-# For example:
-#ALL mail -s "CVS notification" %s
diff --git a/CVSROOT/rcsinfo b/CVSROOT/rcsinfo
deleted file mode 100644
index 49e59f4..0000000
--- a/CVSROOT/rcsinfo
+++ /dev/null
@@ -1,13 +0,0 @@
-# The "rcsinfo" file is used to control templates with which the editor
-# is invoked on commit and import.
-#
-# The first entry on a line is a regular expression which is tested
-# against the directory that the change is being made to, relative to the
-# $CVSROOT. For the first match that is found, then the remainder of the
-# line is the name of the file that contains the template.
-#
-# If the repository name does not match any of the regular expressions in this
-# file, the "DEFAULT" line is used, if it is specified.
-#
-# If the name "ALL" appears as a regular expression it is always used
-# in addition to the first matching regex or "DEFAULT".
diff --git a/CVSROOT/taginfo b/CVSROOT/taginfo
deleted file mode 100644
index 274a46d..0000000
--- a/CVSROOT/taginfo
+++ /dev/null
@@ -1,20 +0,0 @@
-# The "taginfo" file is used to control pre-tag checks.
-# The filter on the right is invoked with the following arguments:
-#
-# $1 -- tagname
-# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d
-# $3 -- repository
-# $4-> file revision [file revision ...]
-#
-# A non-zero exit of the filter program will cause the tag to be aborted.
-#
-# The first entry on a line is a regular expression which is tested
-# against the directory that the change is being committed to, relative
-# to the $CVSROOT. For the first match that is found, then the remainder
-# of the line is the name of the filter to run.
-#
-# If the repository name does not match any of the regular expressions in this
-# file, the "DEFAULT" line is used, if it is specified.
-#
-# If the name "ALL" appears as a regular expression it is always used
-# in addition to the first matching regex or "DEFAULT".
diff --git a/CVSROOT/verifymsg b/CVSROOT/verifymsg
deleted file mode 100644
index 86f747c..0000000
--- a/CVSROOT/verifymsg
+++ /dev/null
@@ -1,21 +0,0 @@
-# The "verifymsg" file is used to allow verification of logging
-# information. It works best when a template (as specified in the
-# rcsinfo file) is provided for the logging procedure. Given a
-# template with locations for, a bug-id number, a list of people who
-# reviewed the code before it can be checked in, and an external
-# process to catalog the differences that were code reviewed, the
-# following test can be applied to the code:
-#
-# Making sure that the entered bug-id number is correct.
-# Validating that the code that was reviewed is indeed the code being
-# checked in (using the bug-id number or a seperate review
-# number to identify this particular code set.).
-#
-# If any of the above test failed, then the commit would be aborted.
-#
-# Actions such as mailing a copy of the report to each reviewer are
-# better handled by an entry in the loginfo file.
-#
-# One thing that should be noted is the the ALL keyword is not
-# supported. There can be only one entry that matches a given
-# repository.
diff --git a/documentation/BUILDING.html b/documentation/BUILDING.html
deleted file mode 100644
index 7138427..0000000
--- a/documentation/BUILDING.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-Notes on building the library
-
-
-Notes on building the library
-
-In order to build the library, you need a 'C' compiler (obvious, isn't it?) and
-a set of header files for the networking API definitions. The networking header
-files go into a directory netinclude which has to sit in the same directory as
-the source code and the include directory you find in there. I'm not currently
-supplying these header files here. Drop me a line, and I'll take care of that.
-
-The SAS/C flavour (smakefile) should get the library built using the "large data"
-model. This rules out the use of residentable programs as the startup code I'm
-using is very primitive (startup.o) and doesn't tinker with A4 relative data
-addressing (and how this may be set up).
-
-There are two makefiles for GCC, each a different flavour. There is GNUmakefile.68k,
-which will build the library for GCC on the 68k platform ("classic" Amiga). This
-builds all variants of the library, for large data, small data, resident, whatever
-model. It's a lot of work and I don't recommend you do this on a plain 68k machine.
-It will literally (!) take hours. The other makefile flavour is for AmigaOS4 using
-the PowerPC hosted GCC system (GNUmakefile.os4). This builds only the large data
-version of the library, but this is usually all you need. Small data support is
-currently not implemented but might follow in the future.
-
-
-
diff --git a/documentation/GCC-68K.html b/documentation/GCC-68K.html
deleted file mode 100644
index 43d0200..0000000
--- a/documentation/GCC-68K.html
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-Notes on using the library with Amiga GCC (68k)
-
-
-Notes on using the library with Amiga GCC (68k)
-
-You can use the 68k build of clib2 with the existing Amiga 68k ports of the
-GNU 'C' compiler. In order to do so, you need to modify the specs file which
-controls how the compiler(s) and the linker interact, and where the linker
-will look for the program startup code and library files. Also, you will need
-to copy the header files, startup code and library files to the locations
-where the 'C' compiler and linker expects them.
-
-Please read the following description before you follow the instructions. The
-changes suggested may have unexpected side-effects!
-
-I have provided a working specs file with this documentation file. To switch
-over an existing Amiga 68k port of GCC to use clib2, you would proceed as
-follows:
-
-
-- Locate the directory within which GCC is installed. For example, this
-could be within a directory to which the name ADE:, GG: or GCC:
-is assigned. For the sake of simplicity, the following notes assume
-that the assignment name is GCC:
-
-
- Make backup copies of the following directories and files:
-
-- GCC:lib/gcc-lib/amigaos/2.95.3/specs
-
-(NOTE: Check the directory called GCC:lib/gcc-lib/amigaos
-first; the "2.95.3" quoted above refers to the version,
-revision and patch number of the GCC installed and your
-version number may differ!)
-
- - GCC:include
-
- GCC:lib
-
-
-
- - Now you can proceed to install clib2; just copy the include and lib
-directories over, like this:
-
-- Copy include GCC:include all quiet
-
- Copy lib GCC:lib all quiet
-
-
- - Finally, replace the specs file with the one provided:
-
-
-- Copy specs GCC:lib/gcc-lib/amigaos/2.95.3/specs
-
-(NOTE: Check the directory called GCC:lib/gcc-lib/amigaos
-first; the "2.95.3" quoted above refers to the version,
-revision and patch number of the GCC installed and your
-version number may differ!)
-
-
-
-Once you have completed these steps you should be able to build programs using
-the 68k build of clib2 and you currently installed GCC. Note that these
-changes may have the effect of rendering your C++ compiler unusable, so make
-sure that you've made backup copies of all files and directories first!
-
-
diff --git a/documentation/README.html b/documentation/README.html
deleted file mode 100644
index 16ae3ed..0000000
--- a/documentation/README.html
+++ /dev/null
@@ -1,304 +0,0 @@
-
-
-
-An ISO 'C' (1994) compliant runtime library for the Amiga
-
-
-An ISO 'C' (1994) compliant runtime library for the Amiga
-
-1. What is this?
-
-This is my attempt to get Samba 2.2.x ported to the Amiga. My first Amiga
-port required SAS/C and a number of strange tricks had to be pulled to get
-it to support the kind of environment Samba needed. But with the
-introduction of Samba 2.2.x many of those tricks did not work any more,
-which is why I decided to attack the problem at the root, namely the
-runtime library.
-
-Because it was no longer possible to build Samba with SAS/C on the new
-Amiga platform, the idea came up to move development to the GNU 'C'
-compiler. This turned out to be a challenge due to its somewhat
-underdeveloped runtime library and header files. Eventually, I decided to
-rewrite that library from scratch.
-
-
-2. What does it do?
-
-Using 'C' - A reference manual (4th edition) as a reference I wrote a set of
-header files, then proceeded to implement each single function referenced in
-them. With few exceptions in the area of wide character support, the result
-should be a feature complete implementation of the ISO 'C' (1994) runtime
-library.
-
-Because Samba needs a few POSIX-like routines to be supported, the library
-functionality is complemented by a set of routines described in Advanced
-programming in the Unix environent.
-
-This is not a portable implementation of the library in the sense that you
-could move it from one 'C' compiler on one operating system to another.
-This is an Amiga specific implementation.
-
-The library supports floating point math, which, for the 68k platform, is
-limited to IEEE single and double precision or M68881 inline math. There is no
-support for the fast floating point (FFP) format or exclusive IEEE single
-precision. You either get double precision (IEEE math) or extended precision
-(M68881 inline math). What it is that you get is determined at compile time.
-Use the IEEE_FLOATING_POINT_SUPPORT preprocessor symbol to activate IEEE math
-code and the M68881_FLOATING_POINT_SUPPORT symbol for M68881 inline math.
-
-For the PowerPC platform, the library uses code borrowed from fdlibm 5.3,
-which is a portable library of arithmetic functions developed by Sun
-Microsystems which, for example, is also used within the Java platform.
-
-Not unlike SAS/C, you can configure a minimum stack size the program is to use
-when it starts up. This is controlled via the __stack_size variable (see
-stdlib_main.c).
-
-I added some amiga.lib and debug.lib functionality to the library, but don't
-count on it to be complete.
-
-2.1 Thread-safety
-
-The library code is supposed to be thread-safe if built with the __THREAD_SAFE
-preprocesssor symbold defined. Note that 'thread-safe' does not mean
-'reentrant'. Multiple callers for certain library functions are permitted, but
-not for all of them. For example, mkdtemp() is not thread-safe, and neither is
-rand() or localtime(). But as per POSIX 1003.1c-1995 there are thread-safe
-variants of rand() and localtime() called rand_r(), localtime_r(), and others.
-The use of the socket I/O functions is still problematic because the
-underlying bsdsocket.library API is not supposed to be used by any process
-other than the one that opened it. Also yet unsolved is the issue of reading
-error codes from the errno variable which currently always contains the
-error code left by the last caller.
-
-
-3. What does it not do?
-
-This library is a departure from the typical 'C' runtime environments of the
-past which had to run on all AmigaOS releases, down to Kickstart 1.1. This
-very library was designed to take advantage of the routines available since
-Kickstart 2.04 was introduced and virtually nobody ever put to use. This helps
-to cut the code size, and it also helps to keep bugs out of the library by
-falling back onto well-tested implementations. However, the catch is that the
-code won't run under Kickstart 1.3 and below. But then these operating system
-releases have been obsolete for more than a decade, and you can always go back
-to a compiler environment which supports them.
-
-There is very little support for amiga.lib functionality. There is NewList(),
-HookEntry(), CallHook(), CallHookA(), the DoMethod() family, the RexxVars
-family, but that's all. If you need more, you would have to implement it
-yourself. Put another way, if you absolutely need functionality that is only
-found in amiga.lib, you really shouldn't need in in the first place.
-
-
-4. Where does the source code come from?
-
-I originally thought that it might be helpful to piece this library together
-from various sources, such as the BSD libc. Turned out that this code was so
-'portable' that it became much more complex than it ought to be. Also, some
-side-effects were present which considerably changed the behaviour of the
-library. For example, the BSD libc uses bcopy() as an alias for memcpy(), and
-unlike memcpy() is documented to, bcopy() supports overlapping copies.
-
-Eventually, I wrote virtually all the code myself, borrowing algorithmic ideas
-from the BSD libc and the Manx Aztec 'C' runtime library. Because I don't know
-much about the environment GCC expects, I borrowed code snippets from libnix,
-which was written by Matthias Fleischer and Gunther Nikl. This in particular
-concerns the integer and floating point math support, the setjmp/longjmp
-routines and the startup code. The M68881 inline math code comes from the
-<math-68881.h> file written by Matthew Self (self@bayes.arc.nasa.gov).
-
-
-5. Limitations and caveats
-
-There is hardly any documentation on the code I wrote. In part this is due to
-the fact that the code itself is very simple in design. It should speak for
-itself. However, to make a usable runtime library you have to have a user
-documentation as in man pages or autodocs. We will eventually have to have
-autodocs for this library.
-
-The code is currently plastered with assertions and debug code. It is
-therefore much larger than it ought to be and runs much slower than it ought
-to be. For example, the malloc() routine will set the contents of the memory
-allocated to a 'dirty' bit pattern which is likely to break software which
-makes assumptions about its contents. Likewise, the free() routine will trash
-the memory to deallocate with a different 'dirty' bit pattern to turn up reuse
-of memory after deallocation. All these debugging features can be disabled by
-defining the NDEBUG preprocessor symbol at compile time (see <assert.h>).
-
-The exception handling in the math code is not particularly effective. For one
-part this is due to the fact that there is no exception handler installed by
-the runtime library when it starts up which could catch and process the error
-conditions the CPU or FPU generates. The idea was to provide for a portable
-runtime library with little to no assembly language involved. To make the
-exception handling complete, such code would be necessary.
-
-The library currently builds under SAS/C, but because the 'normal' program
-startup code is not utilized, the base relative (A4) addressing does not work.
-If you are going to test it, use the data=faronly option to compile the
-library and the programs.
-
-Different build makefiles are supplied for use with GCC. There is
-GNUmakefile.68k for the 68k platform and GNUmakefile.os4 for the AmigaOS4
-PowerPC version.
-
-5.1 Floating point math and functions (scanf(), printf(), etc.)
-
-The plain libc.a, which your software would be linked against by default, does not contain
-any floating point support code. This means, for example, that printf("%f",...) will not produce
-the desired output and that scanf("%f",...) may not read any data at all. If your
-program needs functions such as these or atod() then you must link against libm.a or
-the equivalent.
-
-To link the floating point support code with your software, use the -lm compiler option. Careful!
-The order in which you specify the libraries to link against is important here. Thus, gcc -o test test.c -lm -lc
-would correctly link the program test against the proper floating point math library, but
-gcc -o test test.c -lc -lm would not.
-
-5.2 The thread-safe library
-
-Thread-safety does not imply that you can have multiple callers
-access and close the same file. There is no resource tracking to that degree
-yet. All that the thread-safety tries to afford you is not to get into big trouble
-if simultaneous and overlapping accesses to files, memory allocation and other
-resources are taking place.
-
- Also take care with file I/O involving the stdin/stdout/stderr
-streams; read/write operations on these streams will be mapped to the Input()/Output()/ErrorOutput()
-file handles of the process performing these operations. Since only this small set of
-operations is mapped, functions such as fcntl() or select() will not
-work on the stdin/stdout/stderr streams and the corresponding
-file descriptors STDIN_FILENO/STDOUT_FILENO/STDERR_FILENO.
-It is therefore strongly recommended to use the thread-safe library only for applications
-which can cope with the limitations described above.
-
-5.3 Using gmon (PowerPC only)
-
-To use profiling, two steps are required. First of all, your program must be compiled with
-the gcc command line option -pg. This instructs the compiler to generate special
-profiling code in the prologue and epilogue of each function. Additionally, the program
-must be linked with libprofile.a. To do this, either manually add
--lprofile to the linker command line, or modify the specs file as follows.
-Find the lines that look like this (it may actually differ silghtily from your specs file,
-but the important thing is that the line before the line to be modified reads lib:):
-
-lib:
---start-group -lc --end-group
-
-You will have to modify this to look like this:
-
-lib:
-%{pg: -lprofile} --start-group -lc --end-group
-
-Normally, the specs file is located at the compilers installation directory. For cross-compilers,
-this is /usr/local/amiga/lib/gcc/ppc-amigaos/compiler-version/specs. For a native compiler,
-it's in gcc:lib/gcc/ppc-amigaos/compiler-version/specs. Most likely, your compiler will already have this added to it's specs file.
-
-Profiling makes use of a special PowerPC facility called the Performance Monitor. It
-allows to "mark" tasks and count only during while a marked task is running. This allows
-performance analysis to be made independant of the actual system load. The Performace Monitor
-is available on all PowerPC models supported by AmigaOS 4 except for the 603e, and
-embedded versions of the PowerPC like the 405 and 440 series. Consult the manual
-of the appropriate chip for more information.
-
-6. Conventions and design issues
-
-You will have noticed the 330+ files in this directory. This is not the best
-way to organize a runtime library, but at least all the bits and pieces are in
-plain sight. Each file stands for the one or two routines it contains. The
-name indicates what routine(s) that might be. Each file name is prefixed by
-the name of the header file in which the corresponding routine is defined. So,
-for example, you will find that unistd_lchown.c contains the definition of
-the lchown() routine, which has its prototype defined in the <unistd.h> header
-file.
-
-Internal function and variables which need to be visible across several
-modules have names prefixed with two underscores, as in __stdio_init().
-
-All routines attempt to do error checking on their parameters. They will
-either drop into an assert() or set an errno value and refuse to go any
-further. This cuts performance but should help to catch the simple bugs quite
-easily (NULL pointers).
-
-Just like any halfway sane Amiga 'C' runtime library, this one performs its ^C
-checking in the I/O routines. Typically once upon entry and in every iteration
-of the loop there might be it will quickly poll the ^C signal and drop into
-raise(SIGINT) in case the signal is set. This is just about the safest method
-to solve the problem and should be much more robust than the ixemul approach
-of 'interrupt anywhere - crash anywhere' using the task switch/launch hooks to
-test for signals.
-
-By default all library routines follow the ISO 'C' conventions in that where
-implementation defined behaviour is permitted, the AmigaOS rules are followed.
-For example, unlink() will by default operate like DeleteFile() and rename()
-will return with an error code set if the name of the file/directory to be
-renamed would collide with an existing directory entry. However, your program
-can set a global variable __unix_semantics which will cause some routines to
-perform like their Unix counterparts. This is necessary for Samba to work but
-not a generally desirable feature. You have some Unix-like behaviour, but the
-environment itself is not completely Unix- or POSIX-compliant. And it
-shouldn't be. Don't make the mistake of trying to mold the environment into a
-POSIX emulation. It doesn't work; AmigaOS is not Unix.
-
-
-7. The startup code
-
-There are three program startup files provided. The most simplistic is in
-startup.c which I use for SAS/C. It just invokes the setup routine which
-eventually calls main() and drops straight into exit().
-
-The ncrt0.S file was adapted from the libnix startup code which sets up the
-base relative data area, if necessary (the SMALL_DATA preprocessor symbol must
-be defined).
-
-The nrcrt0.S file was adapted from libnix startup code, too, and sets up the
-base relative data area for programs to be made resident. Note that the
-geta4() stub is missing here; it wouldn't work in a resident program anyway.
-
-The ncrt0.S and nrcrt0.S files are considerably smaller and less complex than
-the libnix code they are based on. This is because in this library design all
-the more complex tasks are performed in the stdlib_main.c file rather than in
-assembly language.
-
-
-8. Documentation
-
-Well, you're reading it. There isn't anything much yet. You can consult the book
-'C' - A reference manual and you could look at the
-Open Group's Single Unix
-Specification.
-
-
-9. Legal status
-
-Because this library is in part based upon free software it would be
-uncourteous not to make it free software itself. The BSD license would
-probably be appropriate here.
-
-The PowerPC math library is based in part on work by Sun Microsystems:
-
-
-====================================================
-Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-
-Developed at SunPro, a Sun Microsystems, Inc. business.
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice
-is preserved.
-====================================================
-
-
-10. Contacting the author
-
-The basic work was done by Olaf Barthel during two weeks in July 2002. You
-can reach me at:
-
-Olaf Barthel
- Gneisenaustr. 43
- D-31275 Lehrte
-
-Or via e-mail:
-
-olsen@sourcery.han.de
-
-
diff --git a/documentation/specs b/documentation/specs
deleted file mode 100644
index 6bafdb4..0000000
--- a/documentation/specs
+++ /dev/null
@@ -1,64 +0,0 @@
-*asm:
- %{m68000:-mc68010} %{mc68000:-mc68010} %{m68020:-mc68020} %{mc68020:-mc68020} %{m68030:-mc68030} %{m68040:-mc68040} %{m68060:-mc68060} %{m68020-40:-mc68020} %{m68020-60:-mc68020} %{!mc68000:%{!m68000:%{!mc68020:%{!m68020:%{!m68030:%{!m68040:%{!m68060:%{!m68020-40:%{!m68020-60:-mc68010}}}}}}}}} %{msmall-code:-sc}
-
-*asm_final:
-
-
-*cpp:
-%{m68881:-D__HAVE_68881__} %{!ansi:%{m68020:-Dmc68020} %{mc68020:-Dmc68020} %{m68020-40:-Dmc68020} %{m68020-60:-Dmc68020} %{m68030:-Dmc68030} %{m68040:-Dmc68040} %{m68060:-Dmc68060}} %{m68020:-D__mc68020__ -D__mc68020} %{mc68020:-D__mc68020__ -D__mc68020} %{m68020-40:-D__mc68020__ -D__mc68020} %{m68020-60:-D__mc68020__ -D__mc68020} %{m68030:-D__mc68030__ -D__mc68030} %{m68040:-D__mc68040__ -D__mc68040} %{m68060:-D__mc68060__ -D__mc68060}
-
-*cc1:
-%{resident:-fbaserel} %{resident32:-fbaserel32} %{msmall-code:-fno-function-cse}
-
-*cc1plus:
-
-
-*endfile:
-
-
-*link:
-%{fbaserel:%{!resident:-m amiga_bss -fl libb}} %{resident:-m amiga_bss -amiga-datadata-reloc -fl libb} %{fbaserel32:%{!resident32:-m amiga_bss -fl libb32}} %{resident32:-m amiga_bss -amiga-datadata-reloc -fl libb32} %{g:-amiga-debug-hunk} %{m68020:-fl libm020} %{mc68020:-fl libm020} %{m68030:-fl libm020} %{m68040:-fl libm020} %{m68060:-fl libm020} %{m68020-40:-fl libm020} %{m68020-60:-fl libm020}
-
-*lib:
-%{mstackextend:-lstack} -lc -lamiga -ldebug -lgcc -lc
-
-*libgcc:
-
-
-*startfile:
-%{resident32:nr32crt0.o%s}%{!resident32:%{fbaserel32:nb32crt0.o%s}%{!fbaserel32:%{resident:nrcrt0.o%s}%{!resident:%{fbaserel:nbcrt0.o%s}%{!fbaserel:ncrt0.o%s}}}}
-
-*switches_need_spaces:
-
-
-*signed_char:
-%{funsigned-char:-D__CHAR_UNSIGNED__}
-
-*predefines:
--Dmc68000 -Damiga -Damigaos -DMCH_AMIGA -DAMIGA -D__chip=__attribute__((__chip__)) -D__saveds=__attribute__((__saveds__)) -D__interrupt=__attribute__((__interrupt__)) -D__stackext=__attribute__((__stackext__)) -D__regargs=__attribute__((__regparm__)) -D__stdargs=__attribute__((__stkparm__)) -D__aligned=__attribute__((__aligned__(4))) -Asystem(amigaos) -Acpu(m68k) -Amachine(m68k)
-
-*cross_compile:
-0
-
-*version:
-2.95.3
-
-*multilib:
-. ;
-
-*multilib_defaults:
-
-
-*multilib_extra:
-
-
-*multilib_matches:
-
-
-*linker:
-collect2
-
-*link_command:
-%{!fsyntax-only: %{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}} %{static:} %{L*} %D %o %{!nostdlib:%{!nodefaultlibs:%G %L %G}} %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*}
- }}}}}}
-
diff --git a/library/GNUmakefile.68k b/library/GNUmakefile.68k
deleted file mode 100644
index 62642fd..0000000
--- a/library/GNUmakefile.68k
+++ /dev/null
@@ -1,1245 +0,0 @@
-#
-# $Id: GNUmakefile.68k,v 1.65 2005-07-03 10:36:46 obarthel Exp $
-#
-# :ts=8
-#
-
-##############################################################################
-
-CC = gcc
-AR = ar -q
-RANLIB = ranlib
-COPY = copy clone buf=0
-DELETE = delete all quiet
-MAKEDIR = makedir
-MAKE = $(MAKE_COMMAND) -f GNUmakefile.68k
-
-##############################################################################
-
-ifeq (,$(TYPE))
-LIBC_OBJS = libc_objs
-LIBUNIX_OBJS = libunix_objs
-LIBM_OBJS = libm_objs
-LIBM881_OBJS = libm881_objs
-LIBSTACK_OBJS = libstack_objs
-LIBNET_OBJS = libnet_objs
-LIBDEBUG_OBJS = libdebug_objs
-LIBAMIGA_OBJS = libamiga_objs
-else
-LIBC_OBJS = $(TYPE)/libc_objs
-LIBUNIX_OBJS = $(TYPE)/libunix_objs
-LIBM_OBJS = $(TYPE)/libm_objs
-LIBM881_OBJS = $(TYPE)/libm881_objs
-LIBSTACK_OBJS = $(TYPE)/libstack_objs
-LIBNET_OBJS = $(TYPE)/libnet_objs
-LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
-LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
-endif
-
-##############################################################################
-
-.c.o:
- @echo "Compiling $<"
- @$(CC) -c $(CFLAGS) $<
-
-$(LIBC_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):c]"
- @$(CC) -o $(LIBC_OBJS)/$*.o -c $(CFLAGS) $<
-
-$(LIBUNIX_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):unix]"
- @$(CC) -o $(LIBUNIX_OBJS)/$*.o -c $(CFLAGS) -DUNIX_PATH_SEMANTICS $<
-
-$(LIBM_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):m]"
- @$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT $<
-
-$(LIBM881_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):m881]"
- @$(CC) -o $(LIBM881_OBJS)/$*.o -c $(CFLAGS) -DM68881_FLOATING_POINT_SUPPORT -m68881 $<
-
-$(LIBSTACK_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):stack]"
- @$(CC) -o $(LIBSTACK_OBJS)/$*.o -c $(CFLAGS) -DSTACK_EXTENSION $<
-
-$(LIBNET_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):net]"
- @$(CC) -o $(LIBNET_OBJS)/$*.o -c $(CFLAGS) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT $<
-
-$(LIBDEBUG_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):debug]"
- @$(CC) -o $(LIBDEBUG_OBJS)/$*.o -c $(CFLAGS) $<
-
-$(LIBAMIGA_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):amiga]"
- @$(CC) -o $(LIBAMIGA_OBJS)/$*.o -c $(CFLAGS) $<
-
-##############################################################################
-
-ifeq (small_data_020,$(TYPE))
-CODE_TYPE := -m68020-60
-CODE_FLAGS := -fbaserel -DSMALL_DATA -DM68020
-endif
-
-ifeq (small_data,$(TYPE))
-CODE_TYPE := -m68000
-CODE_FLAGS := -fbaserel -DSMALL_DATA
-endif
-
-ifeq (small_data32,$(TYPE))
-CODE_TYPE := -m68020-60
-CODE_FLAGS := -fbaserel32 -DSMALL_DATA32 -DM68020
-endif
-
-ifeq (large_data_020,$(TYPE))
-CODE_TYPE := -m68020-60
-CODE_FLAGS := -DM68020
-endif
-
-ifeq (large_data,$(TYPE))
-CODE_TYPE := -m68000
-CODE_FLAGS :=
-endif
-
-##############################################################################
-
-WARNINGS = \
- -Wall -W -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
- -Wundef -Wbad-function-cast -Wmissing-declarations -Wunused
-
-# -Wconversion -Wshadow
-
-INCLUDES = -Iinclude -I. -Inetinclude
-#OPTIONS = -fno-builtin -fno-common -DDEBUG
- OPTIONS = -fno-builtin -fno-common -DNDEBUG
-#OPTIONS = -fno-builtin -fno-common -D__MEM_DEBUG
-#OPTIONS = -fno-builtin -fno-common -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG
- OPTIMIZE = -O -fomit-frame-pointer -fstrength-reduce -finline-functions
-#OPTIMIZE = -O2 -fomit-frame-pointer
-#DEBUG = -g
-
-CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_FLAGS) $(CODE_TYPE) $(INCLUDES)
-
-##############################################################################
-
-C_LIB = \
- c.lib_rev.o \
- ctype_isalnum.o \
- ctype_isalpha.o \
- ctype_isascii.o \
- ctype_isblank.o \
- ctype_iscntrl.o \
- ctype_isdigit.o \
- ctype_isgraph.o \
- ctype_islower.o \
- ctype_isprint.o \
- ctype_ispunct.o \
- ctype_isspace.o \
- ctype_isupper.o \
- ctype_isxdigit.o \
- ctype_table.o \
- ctype_tolower.o \
- ctype_toupper.o \
- dirent_closedir.o \
- dirent_opendir.o \
- dirent_readdir.o \
- dirent_rewinddir.o \
- errno_data.o \
- fcntl_close.o \
- fcntl_creat.o \
- fcntl_fcntl.o \
- fcntl_get_default_file.o \
- fcntl_lock.o \
- fcntl_lseek.o \
- fcntl_open.o \
- fcntl_read.o \
- fcntl_write.o \
- ftw_ftw.o \
- ftw_nftw.o \
- inttypes_imaxdiv.o \
- inttypes_imaxabs.o \
- inttypes_strtoimax.o \
- inttypes_strtoumax.o \
- libgen_basename.o \
- libgen_dirname.o \
- locale_init_exit.o \
- locale_localeconv.o \
- locale_open_locale.o \
- locale_setlocale.o \
- mount_convertinfo.o \
- mount_fstatfs.o \
- mount_statfs.o \
- signal_checkabort.o \
- signal_data.o \
- signal_kill.o \
- signal_raise.o \
- signal_sigaddset.o \
- signal_sigblock.o \
- signal_sigemptyset.o \
- signal_sigmask.o \
- signal_signal.o \
- signal_sigprocmask.o \
- signal_sigsetmask.o \
- stat_chmod.o \
- stat_convertfileinfo.o \
- stat_fchmod.o \
- stat_fstat.o \
- stat_lstat.o \
- stat_mkdir.o \
- stat_rmdir.o \
- stat_stat.o \
- stat_umask.o \
- stdio_asprintf.o \
- stdio_clearerr.o \
- stdio_dropiobreadbuffer.o \
- stdio_duplicate_fd.o \
- stdio_examine_fh.o \
- stdio_fclose.o \
- stdio_fdhookentry.o \
- stdio_feof.o \
- stdio_ferror.o \
- stdio_fflush.o \
- stdio_fgetc.o \
- stdio_fgetpos.o \
- stdio_fgets.o \
- stdio_filliobreadbuffer.o \
- stdio_findvacantfdentry.o \
- stdio_findvacantiobentry.o \
- stdio_flockfile.o \
- stdio_flush.o \
- stdio_flush_all_files.o \
- stdio_flushiobwritebuffer.o \
- stdio_fopen.o \
- stdio_fprintf.o \
- stdio_fputc.o \
- stdio_fputs.o \
- stdio_fread.o \
- stdio_freopen.o \
- stdio_fscanf.o \
- stdio_fseek.o \
- stdio_fseeko.o \
- stdio_fsetpos.o \
- stdio_ftell.o \
- stdio_ftello.o \
- stdio_ftrylockfile.o \
- stdio_funlockfile.o \
- stdio_fwrite.o \
- stdio_getc.o \
- stdio_getc_unlocked.o \
- stdio_getchar.o \
- stdio_getchar_unlocked.o \
- stdio_gets.o \
- stdio_get_file_descriptor.o \
- stdio_growfdtable.o \
- stdio_growiobtable.o \
- stdio_grow_file.o \
- stdio_initializefd.o \
- stdio_initializeiob.o \
- stdio_init_exit.o \
- stdio_file_init.o \
- stdio_iobhookentry.o \
- stdio_lock.o \
- stdio_locksemaphorename.o \
- stdio_nostdio.o \
- stdio_openiob.o \
- stdio_parent_of_fh.o \
- stdio_perror.o \
- stdio_popen.o \
- stdio_printf.o \
- stdio_putc.o \
- stdio_putc_unlocked.o \
- stdio_putchar.o \
- stdio_putchar_unlocked.o \
- stdio_puts.o \
- stdio_remove.o \
- stdio_remove_fd_alias.o \
- stdio_rename.o \
- stdio_rewind.o \
- stdio_scanf.o \
- stdio_setbuf.o \
- stdio_setvbuf.o \
- stdio_snprintf.o \
- stdio_sprintf.o \
- stdio_sscanf.o \
- stdio_sscanf_hook_entry.o \
- stdio_tmpfile.o \
- stdio_tmpnam.o \
- stdio_translateioerror.o \
- stdio_ungetc.o \
- stdio_unlockfile.o \
- stdio_vasprintf.o \
- stdio_vasprintf_hook_entry.o \
- stdio_vfprintf.o \
- stdio_vfscanf.o \
- stdio_vprintf.o \
- stdio_vsnprintf.o \
- stdio_vsnprintf_hook_entry.o \
- stdio_vsprintf.o \
- stdio_vsprintf_hook_entry.o \
- stdio_vsscanf.o \
- stdio_vscanf.o \
- stdlib_abort.o \
- stdlib_abs.o \
- stdlib_alloca.o \
- stdlib_assertion_failure.o \
- stdlib_atexit.o \
- stdlib_atoi.o \
- stdlib_atol.o \
- stdlib_atoll.o \
- stdlib_bsearch.o \
- stdlib_calloc.o \
- stdlib_checkdetach.o \
- stdlib_constructor.o \
- stdlib_constructor_begin.o \
- stdlib_default_pool_size.o \
- stdlib_default_puddle_size.o \
- stdlib_destructor.o \
- stdlib_detach.o \
- stdlib_disablerequesters.o \
- stdlib_div.o \
- stdlib_divsi3.o \
- stdlib_divsi4.o \
- stdlib_dosbase.o \
- stdlib_exit.o \
- stdlib_free.o \
- stdlib_getdefstacksize.o \
- stdlib_getenv.o \
- stdlib_getsp.o \
- stdlib_get_errno.o \
- stdlib_isresident.o \
- stdlib_labs.o \
- stdlib_llabs.o \
- stdlib_ldiv.o \
- stdlib_lldiv.o \
- stdlib_lib_main.o \
- stdlib_lib_startup.o \
- stdlib_machine_test.o \
- stdlib_main.o \
- stdlib_malloc.o \
- stdlib_math.o \
- stdlib_mkdtemp.o \
- stdlib_mkstemp.o \
- stdlib_mktemp.o \
- stdlib_modsi3.o \
- stdlib_mulsi3.o \
- stdlib_never_free.o \
- stdlib_osliberror.o \
- stdlib_oslibversion.o \
- stdlib_priority.o \
- stdlib_process_name.o \
- stdlib_program_name.o \
- stdlib_putenv.o \
- stdlib_qsort.o \
- stdlib_rand.o \
- stdlib_rand_r.o \
- stdlib_realloc.o \
- stdlib_red_black.o \
- stdlib_semaphore.o \
- stdlib_setenv.o \
- stdlib_setjmp.o \
- stdlib_set_errno.o \
- stdlib_set_process_window.o \
- stdlib_shell_escape.o \
- stdlib_showerror.o \
- stdlib_srand.o \
- stdlib_stackargbytes.o \
- stdlib_stackcheck.o \
- stdlib_stackoverflow.o \
- stdlib_stacksafezone.o \
- stdlib_stacksize.o \
- stdlib_stack_usage.o \
- stdlib_arg.o \
- stdlib_stdio_window_spec.o \
- stdlib_strtol.o \
- stdlib_strtoll.o \
- stdlib_strtoul.o \
- stdlib_strtoull.o \
- stdlib_swapstack.o \
- stdlib_sysbase.o \
- stdlib_system.o \
- stdlib_termination_message.o \
- stdlib_threshold.o \
- stdlib_utilitybase.o \
- stdlib_udivsi3.o \
- stdlib_udivsi4.o \
- stdlib_umodsi3.o \
- stdlib_unsetenv.o \
- strings_ffs.o \
- strings_strcasecmp.o \
- strings_strncasecmp.o \
- string_bcmp.o \
- string_bcopy.o \
- string_bzero.o \
- string_index.o \
- string_memchr.o \
- string_memcmp.o \
- string_memcpy.o \
- string_memmove.o \
- string_memset.o \
- string_rindex.o \
- string_strcat.o \
- string_strchr.o \
- string_strcmp.o \
- string_strcoll.o \
- string_strcpy.o \
- string_strcspn.o \
- string_strdup.o \
- string_strerror.o \
- string_strlcat.o \
- string_strlcpy.o \
- string_strlen.o \
- string_strncat.o \
- string_strncmp.o \
- string_strncpy.o \
- string_strpbrk.o \
- string_strrchr.o \
- string_strspn.o \
- string_strstr.o \
- string_strtok.o \
- string_strtok_r.o \
- string_strxfrm.o \
- time_asctime.o \
- time_asctime_r.o \
- time_clock.o \
- time_converttime.o \
- time_convert_datestamp.o \
- time_convert_time.o \
- time_ctime.o \
- time_ctime_r.o \
- time_data.o \
- time_days_per_date.o \
- time_gettimeofday.o \
- time_gmtime.o \
- time_gmtime_r.o \
- time_localtime.o \
- time_localtime_r.o \
- time_mktime.o \
- time_numbertostring.o \
- time_strftime.o \
- time_time.o \
- time_weekday.o \
- uio_readv.o \
- uio_writev.o \
- unistd_access.o \
- unistd_chdir.o \
- unistd_chdir_exit.o \
- unistd_chown.o \
- unistd_currentpathname.o \
- unistd_dup.o \
- unistd_dup2.o \
- unistd_fchown.o \
- unistd_fdatasync.o \
- unistd_fdopen.o \
- unistd_fileno.o \
- unistd_fsync.o \
- unistd_ftruncate.o \
- unistd_getcwd.o \
- unistd_getopt.o \
- unistd_getpid.o \
- unistd_init_exit.o \
- unistd_isatty.o \
- unistd_lchown.o \
- unistd_link.o \
- unistd_readlink.o \
- unistd_realpath.o \
- unistd_sleep.o \
- unistd_symlink.o \
- unistd_sync_fd.o \
- unistd_timer.o \
- unistd_time_delay.o \
- unistd_truncate.o \
- unistd_unlink.o \
- unistd_usleep.o \
- utime_utime.o \
- utsname_uname.o
-
-UNIX_LIB = \
- unix.lib_rev.o \
- dirent_closedir.o \
- dirent_rewinddir.o \
- dirent_opendir.o \
- dirent_readdir.o \
- fcntl_creat.o \
- fcntl_fcntl.o \
- fcntl_open.o \
- fcntl_get_default_file.o \
- getopt_getopt_long.o \
- mount_convertinfo.o \
- mount_statfs.o \
- stat_chmod.o \
- stat_fstat.o \
- stat_lstat.o \
- stat_mkdir.o \
- stat_rmdir.o \
- stat_stat.o \
- stdio_ctermid.o \
- stdio_fdhookentry.o \
- stdio_fflush.o \
- stdio_fopen.o \
- stdio_init_exit.o \
- stdio_file_init.o \
- stdio_locksemaphorename.o \
- stdio_openiob.o \
- stdio_popen.o \
- stdio_record_locking.o \
- stdio_remove.o \
- stdio_rename.o \
- stdlib_arg.o \
- stdlib_main.o \
- stdlib_mkdtemp.o \
- stdlib_mkstemp.o \
- stdlib_mktemp.o \
- stdlib_system.o \
- termios_cfgetispeed.o \
- termios_cfgetospeed.o \
- termios_cfmakeraw.o \
- termios_cfsetispeed.o \
- termios_cfsetospeed.o \
- termios_console_fdhookentry.o \
- termios_tcdrain.o \
- termios_tcflow.o \
- termios_tcflush.o \
- termios_tcgetattr.o \
- termios_tcsendbreak.o \
- termios_tcsetattr.o \
- uio_readv.o \
- uio_writev.o \
- unistd_access.o \
- unistd_chdir.o \
- unistd_chdir_exit.o \
- unistd_chown.o \
- unistd_getcwd.o \
- unistd_lchown.o \
- unistd_link.o \
- unistd_readlink.o \
- unistd_realpath.o \
- unistd_restorepathname.o \
- unistd_setcurrentpath.o \
- unistd_strip_double_slash.o \
- unistd_translatea2u.o \
- unistd_translaterel.o \
- unistd_translateu2a.o \
- unistd_truncate.o \
- unistd_ttyname.o \
- unistd_ttyname_r.o \
- unistd_unix_path_semantics.o \
- unistd_unlink.o \
- unistd_wildcard_expand.o \
- utime_utime.o
-
-MATH_LIB = \
- complex_carg.o \
- complex_cargf.o \
- complex_cargl.o \
- complex_cimag.o \
- complex_cimagf.o \
- complex_cimagl.o \
- complex_conj.o \
- complex_conjf.o \
- complex_conjl.o \
- complex_creal.o \
- complex_crealf.o \
- complex_creall.o \
- math_acos.o \
- math_acosf.o \
- math_acosh.o \
- math_acoshf.o \
- math_asin.o \
- math_asinf.o \
- math_asinh.o \
- math_asinhf.o \
- math_atan.o \
- math_atan2.o \
- math_atan2f.o \
- math_atanf.o \
- math_cbrt.o \
- math_cbrtf.o \
- math_ceil.o \
- math_ceilf.o \
- math_copysign.o \
- math_copysignf.o \
- math_cos.o \
- math_cosf.o \
- math_cosh.o \
- math_coshf.o \
- math_erf.o \
- math_erfc.o \
- math_erfcf.o \
- math_erff.o \
- math_exp.o \
- math_expf.o \
- math_exp2.o \
- math_exp2f.o \
- math_expm1.o \
- math_expm1f.o \
- math_fabs.o \
- math_fabsf.o \
- math_floor.o \
- math_floorf.o \
- math_fmod.o \
- math_fmodf.o \
- math_fpclassify.o \
- math_frexp.o \
- math_frexpf.o \
- math_huge_val.o \
- math_huge_valf.o \
- math_hypot.o \
- math_hypotf.o \
- math_ilogb.o \
- math_ilogbf.o \
- math_inf.o \
- math_inff.o \
- math_init_exit.o \
- math_isfinite.o \
- math_isunordered.o \
- math_kernel_cosf.o \
- math_kernel_sinf.o \
- math_kernel_tanf.o \
- math_ldexp.o \
- math_ldexpf.o \
- math_lgamma.o \
- math_lgammaf.o \
- math_log.o \
- math_log2.o \
- math_log2f.o \
- math_log10.o \
- math_log10f.o \
- math_log1p.o \
- math_log1pf.o \
- math_logb.o \
- math_logbf.o \
- math_logf.o \
- math_modf.o \
- math_modff.o \
- math_nan.o \
- math_nanf.o \
- math_nextafter.o \
- math_nextafterf.o \
- math_pow.o \
- math_powf.o \
- math_remainder.o \
- math_remainderf.o \
- math_rem_pio2f.o \
- math_rint.o \
- math_rintf.o \
- math_scalbn.o \
- math_scalbnf.o \
- math_signbit.o \
- math_sin.o \
- math_sinf.o \
- math_sinh.o \
- math_sinhf.o \
- math_sqrt.o \
- math_sqrtf.o \
- math_tan.o \
- math_tanf.o \
- math_tanh.o \
- math_tanhf.o \
- stdio_asprintf.o \
- stdio_flush.o \
- stdio_flush_all_files.o \
- stdio_fprintf.o \
- stdio_fscanf.o \
- stdio_printf.o \
- stdio_scanf.o \
- stdio_snprintf.o \
- stdio_sprintf.o \
- stdio_sscanf.o \
- stdio_vasprintf.o \
- stdio_vfprintf.o \
- stdio_vfscanf.o \
- stdio_vsscanf.o \
- stdio_vscanf.o \
- stdio_vprintf.o \
- stdio_vsnprintf.o \
- stdio_vsprintf.o \
- stdlib_atof.o \
- stdlib_strtod.o \
- stdlib_strtof.o \
- time_difftime.o
-
-MATH_LIB_881 = \
- m881.lib_rev.o \
- $(MATH_LIB)
-
-MATH_LIB_IEEE = \
- m.lib_rev.o \
- $(MATH_LIB) \
- math_adddf3.o \
- math_addsf3.o \
- math_divdf3.o \
- math_divsf3.o \
- math_eqdf2.o \
- math_eqsf2.o \
- math_extendsfdf2.o \
- math_fixdfsi.o \
- math_fixsfsi.o \
- math_fixunsdfsi.o \
- math_fixunssfsi.o \
- math_floatsidf.o \
- math_floatsisf.o \
- math_gedf2.o \
- math_gesf2.o \
- math_gtdf2.o \
- math_gtsf2.o \
- math_ledf2.o \
- math_lesf2.o \
- math_ltdf2.o \
- math_ltsf2.o \
- math_muldf3.o \
- math_mulsf3.o \
- math_nedf2.o \
- math_negdf2.o \
- math_negsf2.o \
- math_nesf2.o \
- math_subdf3.o \
- math_subsf3.o \
- math_truncdfsf2.o
-
-STACK_LIB = \
- stack.lib_rev.o \
- stdlib_setjmp.o \
- stdlib_stackextension.o \
- stdlib_stackminframe.o \
- stdlib_stackoverflow.o \
- stdlib_stacksafezone.o
-
-NET_LIB = \
- net.lib_rev.o \
- socket_accept.o \
- socket_bind.o \
- socket_connect.o \
- socket_gethostbyaddr.o \
- socket_gethostbyname.o \
- socket_gethostid.o \
- socket_gethostname.o \
- socket_getnetbyaddr.o \
- socket_getnetbyname.o \
- socket_getpeername.o \
- socket_getprotobyname.o \
- socket_getprotobynumber.o \
- socket_getservbyname.o \
- socket_getservbyport.o \
- socket_getsockname.o \
- socket_getsockopt.o \
- socket_get_descriptor.o \
- socket_inet_addr.o \
- socket_inet_aton.o \
- socket_inet_lnaof.o \
- socket_inet_makeaddr.o \
- socket_inet_netof.o \
- socket_inet_network.o \
- socket_inet_ntoa.o \
- socket_init_exit.o \
- socket_ioctl.o \
- socket_isdaemon.o \
- socket_listen.o \
- socket_recv.o \
- socket_recvfrom.o \
- socket_recvmsg.o \
- socket_select.o \
- socket_send.o \
- socket_sendmsg.o \
- socket_sendto.o \
- socket_setsockopt.o \
- socket_shutdown.o \
- socket_socket.o \
- socket_hook_entry.o \
- socket_hstrerror.o \
- stat_umask.o \
- usergroup_crypt.o \
- usergroup_data.o \
- usergroup_endgrent.o \
- usergroup_endpwent.o \
- usergroup_getegid.o \
- usergroup_geteuid.o \
- usergroup_getgid.o \
- usergroup_getgrent.o \
- usergroup_getgrgid.o \
- usergroup_getgrnam.o \
- usergroup_getgroups.o \
- usergroup_getpass.o \
- usergroup_getpwent.o \
- usergroup_getpwnam.o \
- usergroup_getpwuid.o \
- usergroup_getuid.o \
- usergroup_initgroups.o \
- usergroup_init_exit.o \
- usergroup_rootmode.o \
- usergroup_setegid.o \
- usergroup_seteuid.o \
- usergroup_setgid.o \
- usergroup_setgrent.o \
- usergroup_setgroups.o \
- usergroup_setpwent.o \
- usergroup_setregid.o \
- usergroup_setreuid.o \
- usergroup_setsid.o \
- usergroup_setuid.o \
- utsname_uname.o
-
-DEBUG_LIB = \
- debug.lib_rev.o \
- debug.o \
- debug_cmpstrexec.o \
- debug_kcmpstr.o \
- debug_kdofmt.o \
- debug_kgetc.o \
- debug_kgetch1.o \
- debug_kgetch2.o \
- debug_kgetchar1.o \
- debug_kgetchar2.o \
- debug_kgetnum1.o \
- debug_kgetnum2.o \
- debug_kmaygetch.o \
- debug_kmaygetchar.o \
- debug_kprintf1.o \
- debug_kprintf2.o \
- debug_kputc.o \
- debug_kputch1.o \
- debug_kputch2.o \
- debug_kputchar1.o \
- debug_kputchar2.o \
- debug_kputfmt.o \
- debug_kputs1.o \
- debug_kputs2.o \
- debug_kputstr1.o \
- debug_kputstr2.o \
- debug_kvprintf1.o \
- debug_kvprintf2.o \
- debug_level.o
-
-AMIGA_LIB = \
- amiga.lib_rev.o \
- amiga_acrypt.o \
- amiga_addtof.o \
- amiga_argarraydone.o \
- amiga_argarrayinit.o \
- amiga_argint.o \
- amiga_argstring.o \
- amiga_beginio.o \
- amiga_callhook.o \
- amiga_callhooka.o \
- amiga_coercemethod.o \
- amiga_createextio.o \
- amiga_createport.o \
- amiga_createstdio.o \
- amiga_createtask.o \
- amiga_deleteextio.o \
- amiga_deleteport.o \
- amiga_deletestdio.o \
- amiga_deletetask.o \
- amiga_domethod.o \
- amiga_dosupermethod.o \
- amiga_dotimer.o \
- amiga_fastrand.o \
- amiga_freeievents.o \
- amiga_hookentry.o \
- amiga_hotkey.o \
- amiga_invertstring.o \
- amiga_newlist.o \
- amiga_rangerand.o \
- amiga_remtof.o \
- amiga_rexxvars.o \
- amiga_setsuperattrs.o \
- amiga_timedelay.o \
- amiga_waitbeam.o
-
-MEMDEBUG_LIB = \
- stdio_vasprintf_debug.o \
- stdio_vasprintf_debug.o \
- stdio_vasprintf_hook_entry_debug.o \
- stdlib_alloca_debug.o \
- stdlib_calloc_debug.o \
- stdlib_free_debug.o \
- stdlib_malloc_debug.o \
- string_strdup_debug.o \
- unistd_getcwd_debug.o
-
-##############################################################################
-
-LIBS_68K := $(LIBC_OBJS)/libc.a $(LIBSTACK_OBJS)/libstack.a $(LIBUNIX_OBJS)/libunix.a \
- $(LIBNET_OBJS)/libnet.a $(LIBDEBUG_OBJS)/libdebug.a $(LIBAMIGA_OBJS)/libamiga.a \
- $(LIBM_OBJS)/libm.a
-LIBS_020 := $(LIBM881_OBJS)/libm881.a $(LIBS_68K)
-
-##############################################################################
-
-# The 881 math library won't build in plain 68k mode
-ifneq (,$(findstring 68020,$(CODE_FLAGS)))
-LIBS := $(LIBS_020)
-else
-LIBS := $(LIBS_68K)
-endif
-
-##############################################################################
-
-STARTUPS := nrcrt0.o nbcrt0.o nr32crt0.o nb32crt0.o ncrt0.o
-
-##############################################################################
-
-all: \
- lib/nrcrt0.o \
- lib/nbcrt0.o \
- lib/ncrt0.o \
- lib/n32bcrt0.o \
- lib/n32rcrt0.o \
- lib/libm020/libm.a \
- lib/libm.a \
- lib/libb/libm.a \
- lib/libb/libm020/libm.a \
- lib/libb32/libm020/libm.a
-
-##############################################################################
-
-clean:
- -$(DELETE) $(TYPE) $(LIBS_020) $(STARTUPS) \
- $(LIBC_OBJS) $(LIBUNIX_OBJS) $(LIBM_OBJS) \
- $(LIBM881_OBJS) $(LIBSTACK_OBJS) $(LIBNET_OBJS) $(LIBDEBUG_OBJS) \
- $(LIBAMIGA_OBJS)
-
-realclean:
- $(MAKE) clean
- -$(DELETE) lib small_data_020 small_data small_data32 large_data_020 \
- large_data
-
-##############################################################################
-
-version:
- copy clone c.lib_rev.rev amiga.lib_rev.rev
- copy clone c.lib_rev.rev debug.lib_rev.rev
- copy clone c.lib_rev.rev m.lib_rev.rev
- copy clone c.lib_rev.rev m881.lib_rev.rev
- copy clone c.lib_rev.rev net.lib_rev.rev
- copy clone c.lib_rev.rev stack.lib_rev.rev
- copy clone c.lib_rev.rev unix.lib_rev.rev
- bumprev 1 amiga.lib
- bumprev 1 c.lib
- bumprev 1 debug.lib
- bumprev 1 m.lib
- bumprev 1 m881.lib
- bumprev 1 net.lib
- bumprev 1 stack.lib
- bumprev 1 unix.lib
-
-##############################################################################
-
-cvs-tag:
- cvs -q tag V1_`type c.lib_rev.rev`
-
-##############################################################################
-
-kitchen_sink: $(TYPE) $(LIBS) $(STARTUPS)
-
-##############################################################################
-
-ifneq (,$(TYPE))
-$(TYPE):
- $(MAKEDIR) $@
-endif
-
-##############################################################################
-
-lib:
- -$(MAKEDIR) $@
-
-lib/libb : lib
- -$(MAKEDIR) $@
-
-lib/libb/libm020 : lib lib/libb
- -$(MAKEDIR) $@
-
-lib/libb32/libm020 : lib lib/libb32
- -$(MAKEDIR) $@
-
-lib/libb32 : lib
- -$(MAKEDIR) $@
-
-lib/libm020 : lib
- -$(MAKEDIR) $@
-
-lib/libb/libm020/libm.a: lib lib/libb/libm020
- $(MAKE) TYPE=small_data_020 kitchen_sink
- @$(COPY) $(foreach file,$(LIBS_020),small_data_020/$(file)) lib/libb/libm020
-
-lib/libb/libm.a: lib lib/libb
- $(MAKE) TYPE=small_data kitchen_sink
- @$(COPY) $(foreach file,$(LIBS_68K),small_data/$(file)) lib/libb
-
-lib/libb32/libm020/libm.a: lib lib/libb32 lib/libb32/libm020
- $(MAKE) TYPE=small_data32 kitchen_sink
- @$(COPY) $(foreach file,$(LIBS_020),small_data32/$(file)) lib/libb32/libm020
-
-lib/libm020/libm.a: lib lib/libm020
- $(MAKE) TYPE=large_data_020 kitchen_sink
- @$(COPY) $(foreach file,$(LIBS_020),large_data_020/$(file)) lib/libm020
-
-lib/libm.a: lib
- $(MAKE) TYPE=large_data kitchen_sink
- @$(COPY) $(foreach file,$(LIBS_68K),large_data/$(file)) lib
-
-lib/nrcrt0.o : lib nrcrt0.o
- @$(COPY) nrcrt0.o lib
-
-lib/nbcrt0.o : lib nbcrt0.o
- @$(COPY) nbcrt0.o lib
-
-lib/ncrt0.o : lib ncrt0.o
- @$(COPY) ncrt0.o lib
-
-lib/n32bcrt0.o : lib nb32crt0.o
- @$(COPY) nb32crt0.o lib
-
-lib/n32rcrt0.o : lib nr32crt0.o
- @$(COPY) nr32crt0.o lib
-
-##############################################################################
-
-$(LIBAMIGA_OBJS)/amiga_hookentry.o : amiga_hookentry.c
-
-$(LIBC_OBJS)/stdlib_getsp.o : stdlib_getsp.c
-
-$(LIBC_OBJS)/stdlib_swapstack.o : stdlib_swapstack.c
-
-$(LIBC_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
-
-$(LIBSTACK_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
-
-##############################################################################
-
-$(LIBC_OBJS)/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
-
-$(LIBUNIX_OBJS)/unix.lib_rev.o : unix.lib_rev.c unix.lib_rev.h
-
-$(LIBM_OBJS)/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
-
-$(LIBM881_OBJS)/m881.lib_rev.o : m881.lib_rev.c m881.lib_rev.h
-
-$(LIBSTACK_OBJS)/stack.lib_rev.o : stack.lib_rev.c stack.lib_rev.h
-
-$(LIBNET_OBJS)/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
-
-$(LIBDEBUG_OBJS)/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
-
-$(LIBAMIGA_OBJS)/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
-
-##############################################################################
-
-$(LIBC_OBJS)/stdlib_stacksize.o : stdlib_stacksize.c stdlib_gcc_help.h
-
-$(LIBC_OBJS)/stdlib_getdefstacksize.o : stdlib_getdefstacksize.c stdlib_gcc_help.h
-
-$(LIBC_OBJS)/stdlib_shell_escape.o : stdlib_shell_escape.c stdlib_gcc_help.h
-
-$(LIBC_OBJS)/stdlib_alloca.o : stdlib_alloca.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_calloc.o : stdlib_calloc.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_free.o : stdlib_free.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_malloc.o : stdlib_malloc.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_realloc.o : stdlib_realloc.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_memory.h
-
-##############################################################################
-
-# The -fbaserel32 option requires the CPU type to be 68020, too.
-ifneq (,$(findstring fbaserel32,$(CODE_FLAGS)))
-LOCAL_CODE_FLAGS := $(CODE_FLAGS) $(CODE_TYPE)
-else
-LOCAL_CODE_FLAGS := $(CODE_FLAGS)
-endif
-
-$(LIBM881_OBJS)/math_init_exit.o : math_init_exit.c
- @echo "Compiling $< [$(TYPE):m881]"
- @$(CC) -o $(LIBM881_OBJS)/math_init_exit.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) -DM68881_FLOATING_POINT_SUPPORT $(INCLUDES) $<
-
-$(LIBC_OBJS)/stdlib_machine_test.o : stdlib_machine_test.c
- @echo "Compiling $< [$(TYPE):c]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_machine_test.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) $<
-
-$(LIBC_OBJS)/stdlib_showerror.o : stdlib_showerror.c
- @echo "Compiling $< [$(TYPE):c]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_showerror.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) $<
-
-$(LIBC_OBJS)/stdlib_main.o : stdlib_main.c
- @echo "Compiling $< [$(TYPE):c]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_main.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) stdlib_main.c
-
-##############################################################################
-
-$(LIBC_OBJS)/stdlib_alloca_debug.o : stdlib_alloca.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_alloca_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_alloca.c
-
-$(LIBC_OBJS)/stdlib_calloc_debug.o : stdlib_calloc.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_calloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_calloc.c
-
-$(LIBC_OBJS)/stdlib_free_debug.o : stdlib_free.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_free_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_free.c
-
-$(LIBC_OBJS)/stdlib_malloc_debug.o : stdlib_malloc.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_malloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_malloc.c
-
-$(LIBC_OBJS)/stdlib_realloc_debug.o : stdlib_realloc.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_realloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_realloc.c
-
-$(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o : stdio_vasprintf_hook_entry.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf_hook_entry.c
-
-$(LIBC_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
-
-$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
- @echo "Compiling $< [$(TYPE):m debug]"
- @$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
-
-$(LIBC_OBJS)/string_strdup_debug.o : string_strdup.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/string_strdup_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG string_strdup.c
-
-$(LIBC_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG unistd_getcwd.c
-
-$(LIBUNIX_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
- @echo "Compiling $< [$(TYPE):unix debug]"
- @$(CC) -o $(LIBUNIX_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG -DUNIX_PATH_SEMANTICS unistd_getcwd.c
-
-##############################################################################
-
-$(LIBC_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBC_OBJS)/libc.a : $(LIBC_OBJS) $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-$(LIBUNIX_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBUNIX_OBJS)/libunix.a : $(LIBUNIX_OBJS) $(foreach file,$(UNIX_LIB),$(LIBUNIX_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(UNIX_LIB),$(LIBUNIX_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-$(LIBM_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBM_OBJS)/libm.a : $(LIBM_OBJS) $(foreach file,$(MATH_LIB_IEEE),$(LIBM_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(MATH_LIB_IEEE),$(LIBM_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-$(LIBM881_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBM881_OBJS)/libm881.a : $(LIBM881_OBJS) $(foreach file,$(MATH_LIB_881),$(LIBM881_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(MATH_LIB_881),$(LIBM881_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-$(LIBSTACK_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBSTACK_OBJS)/libstack.a : $(LIBSTACK_OBJS) $(foreach file,$(STACK_LIB),$(LIBSTACK_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(STACK_LIB),$(LIBSTACK_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-$(LIBNET_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBNET_OBJS)/libnet.a : $(LIBNET_OBJS) $(foreach file,$(NET_LIB),$(LIBNET_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(NET_LIB),$(LIBNET_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-$(LIBDEBUG_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBDEBUG_OBJS)/libdebug.a : $(LIBDEBUG_OBJS) $(foreach file,$(DEBUG_LIB),$(LIBDEBUG_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(DEBUG_LIB),$(LIBDEBUG_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-$(LIBAMIGA_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBAMIGA_OBJS)/libamiga.a : $(LIBAMIGA_OBJS) $(foreach file,$(AMIGA_LIB),$(LIBAMIGA_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(AMIGA_LIB),$(LIBAMIGA_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-nrcrt0.o : nrcrt0.S
- @echo "Assembling $< [resident]"
- @$(CC) -traditional -o $@ -c nrcrt0.S
-
-nr32crt0.o : nrcrt0.S
- @echo "Assembling $< [resident32]"
- @$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c nrcrt0.S
-
-nbcrt0.o : ncrt0.S
- @echo "Assembling $< [small_data]"
- @$(CC) -traditional -DSMALL_DATA -o $@ -c ncrt0.S
-
-nb32crt0.o : ncrt0.S
- @echo "Assembling $< [small_data32]"
- @$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c ncrt0.S
-
-ncrt0.o : ncrt0.S
- @echo "Assembling $< [large_data]"
- @$(CC) -traditional -o $@ -c ncrt0.S
-
-##############################################################################
-
-CONSTRUCTOR_FILES = \
- amiga_rexxvars.c \
- dirent_closedir.c \
- locale_init_exit.c \
- math_init_exit.c \
- sas_profile.c \
- socket_init_exit.c \
- stdio_file_init.c \
- stdio_init_exit.c \
- stdlib_alloca.c \
- stdlib_arg.c \
- stdlib_malloc.c \
- stdlib_program_name.c \
- stdlib_setenv.c \
- stdlib_stackcheck.c \
- stdlib_stackextension.c \
- time_clock.c \
- unistd_chdir_exit.c \
- unistd_init_exit.c \
- unistd_timer.c \
- unistd_wildcard_expand.c \
- usergroup_init_exit.c
-
-touch_constructor_files:
- touch $(CONSTRUCTOR_FILES)
diff --git a/library/GNUmakefile.os4 b/library/GNUmakefile.os4
deleted file mode 100644
index 2cbc126..0000000
--- a/library/GNUmakefile.os4
+++ /dev/null
@@ -1,1223 +0,0 @@
-#
-# $Id: GNUmakefile.os4,v 1.72 2005-07-03 10:36:46 obarthel Exp $
-#
-# :ts=8
-#
-# -*- mode: makefile; -*-
-
-##############################################################################
-
-# You may have to tweak this for the native OS4 compiler
-SDK_INCLUDE = $(V)/include
-NET_INCLUDE = netinclude
-
-# These are for the cross compiler
-CC = ppc-amigaos-gcc
-AR = ppc-amigaos-ar -q
-RANLIB = ppc-amigaos-ranlib
-COPY = cp -a
-DELETE = rm -rf
-MAKEDIR = mkdir
-
-# The following are for the native OS4 compiler
-# CC = gcc
-# AR = ar -q
-# RANLIB = ranlib
-# COPY = copy
-# DELETE = delete all quiet
-# MAKEDIR = makedir
-
-MAKE = $(MAKE_COMMAND) -f GNUmakefile.os4
-
-##############################################################################
-
-ifeq (,$(TYPE))
-LIBC_OBJS = libc_objs
-LIBUNIX_OBJS = libunix_objs
-LIBM_OBJS = libm_objs
-LIBNET_OBJS = libnet_objs
-LIBDEBUG_OBJS = libdebug_objs
-LIBAMIGA_OBJS = libamiga_objs
-LIBPROFILE_OBJS = libprofile_objs
-else
-LIBC_OBJS = $(TYPE)/libc_objs
-LIBUNIX_OBJS = $(TYPE)/libunix_objs
-LIBM_OBJS = $(TYPE)/libm_objs
-LIBNET_OBJS = $(TYPE)/libnet_objs
-LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
-LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
-LIBPROFILE_OBJS = $(TYPE)/libprofile_objs
-endif
-
-##############################################################################
-
-# General build rules for all object files and the individual libraries
-%.o : %.c
- @echo "Compiling $<"
- @$(CC) -c $(CFLAGS) $<
-
-$(LIBC_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):c]"
- @$(CC) -o $(LIBC_OBJS)/$*.o -c $(CFLAGS) $<
-
-$(LIBUNIX_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):unix]"
- @$(CC) -o $(LIBUNIX_OBJS)/$*.o -c $(CFLAGS) -DUNIX_PATH_SEMANTICS $<
-
-$(LIBM_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):m]"
- @$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) $(FLOAT_TYPE) $<
-
-$(LIBNET_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):net]"
- @$(CC) -o $(LIBNET_OBJS)/$*.o -c $(CFLAGS) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT $<
-
-$(LIBDEBUG_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):debug]"
- @$(CC) -o $(LIBDEBUG_OBJS)/$*.o -c $(CFLAGS) $<
-
-$(LIBAMIGA_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):amiga]"
- @$(CC) -o $(LIBAMIGA_OBJS)/$*.o -c $(CFLAGS) $<
-
-$(LIBPROFILE_OBJS)/%.o : %.c
- @echo "Compiling $< [$(TYPE):profile]"
- @$(CC) -o $(LIBPROFILE_OBJS)/$*.o -c $(CFLAGS) $<
-
-$(LIBPROFILE_OBJS)/%.o : %.S
- @echo "Assembling $< [$(TYPE):profile]"
- @$(CC) -o $(LIBPROFILE_OBJS)/$*.o -Wa,-mregnames -c $(CFLAGS) $<
-
-
-
-##############################################################################
-
-# Build options for the individual libraries
-ifeq (small_data,$(TYPE))
-CODE_TYPE := -msdata=sysv -DSMALL_DATA
-FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
-endif
-
-ifeq (large_data,$(TYPE))
-CODE_TYPE := -msdata=data
-FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
-endif
-
-ifeq (large_data_softfloat,$(TYPE))
-CODE_TYPE := -msdata=data -msoft-float
-FLOAT_TYPE :=
-endif
-
-ifeq (baserel,$(TYPE))
-CODE_TYPE := -mbaserel -DBASEREL_DATA
-FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
-endif
-
-##############################################################################
-
-WARNINGS = \
- -Wall -W -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
- -Wundef -Wbad-function-cast -Wmissing-declarations -Wunused
-
-# -Wconversion -Wshadow
-
-INCLUDES = -Iinclude -I. -I$(SDK_INCLUDE)
-#OPTIONS = -D__THREAD_SAFE -DNDEBUG -DUSE_64_BIT_INTS -D__USE_INLINE__ -Wa,-mregnames -fno-common -std=gnu99
- OPTIONS = -DNDEBUG -DUSE_64_BIT_INTS -D__USE_INLINE__ -Wa,-mregnames -fno-common -std=gnu99
-OPTIMIZE = -O3
-#DEBUG = -ggdb
-
-CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_TYPE) $(INCLUDES)
-
-##############################################################################
-
-# All objects files which make up libc.a
-C_LIB = \
- c.lib_rev.o \
- ctype_isalnum.o \
- ctype_isalpha.o \
- ctype_isascii.o \
- ctype_isblank.o \
- ctype_iscntrl.o \
- ctype_isdigit.o \
- ctype_isgraph.o \
- ctype_islower.o \
- ctype_isprint.o \
- ctype_ispunct.o \
- ctype_isspace.o \
- ctype_isupper.o \
- ctype_isxdigit.o \
- ctype_table.o \
- ctype_tolower.o \
- ctype_toupper.o \
- dirent_closedir.o \
- dirent_opendir.o \
- dirent_readdir.o \
- dirent_rewinddir.o \
- errno_data.o \
- fcntl_close.o \
- fcntl_creat.o \
- fcntl_fcntl.o \
- fcntl_get_default_file.o \
- fcntl_lock.o \
- fcntl_lseek.o \
- fcntl_open.o \
- fcntl_read.o \
- fcntl_write.o \
- ftw_ftw.o \
- ftw_nftw.o \
- inttypes_imaxdiv.o \
- inttypes_imaxabs.o \
- inttypes_strtoimax.o \
- inttypes_strtoumax.o \
- libgen_basename.o \
- libgen_dirname.o \
- locale_init_exit.o \
- locale_localeconv.o \
- locale_open_locale.o \
- locale_setlocale.o \
- mount_convertinfo.o \
- mount_fstatfs.o \
- mount_statfs.o \
- profile_profil.o \
- signal_checkabort.o \
- signal_data.o \
- signal_kill.o \
- signal_raise.o \
- signal_sigaddset.o \
- signal_sigblock.o \
- signal_sigemptyset.o \
- signal_sigmask.o \
- signal_signal.o \
- signal_sigprocmask.o \
- signal_sigsetmask.o \
- stat_chmod.o \
- stat_convertfileinfo.o \
- stat_fchmod.o \
- stat_fstat.o \
- stat_lstat.o \
- stat_mkdir.o \
- stat_rmdir.o \
- stat_stat.o \
- stat_umask.o \
- stdio_asprintf.o \
- stdio_clearerr.o \
- stdio_dropiobreadbuffer.o \
- stdio_duplicate_fd.o \
- stdio_examine_fh.o \
- stdio_fclose.o \
- stdio_fdhookentry.o \
- stdio_feof.o \
- stdio_ferror.o \
- stdio_fflush.o \
- stdio_fgetc.o \
- stdio_fgetpos.o \
- stdio_fgets.o \
- stdio_filliobreadbuffer.o \
- stdio_findvacantfdentry.o \
- stdio_findvacantiobentry.o \
- stdio_flockfile.o \
- stdio_flush.o \
- stdio_flush_all_files.o \
- stdio_flushiobwritebuffer.o \
- stdio_fopen.o \
- stdio_fprintf.o \
- stdio_fputc.o \
- stdio_fputs.o \
- stdio_fread.o \
- stdio_freopen.o \
- stdio_fscanf.o \
- stdio_fseek.o \
- stdio_fseeko.o \
- stdio_fsetpos.o \
- stdio_ftell.o \
- stdio_ftello.o \
- stdio_ftrylockfile.o \
- stdio_funlockfile.o \
- stdio_fwrite.o \
- stdio_getc.o \
- stdio_getc_unlocked.o \
- stdio_getchar.o \
- stdio_getchar_unlocked.o \
- stdio_gets.o \
- stdio_get_file_descriptor.o \
- stdio_growfdtable.o \
- stdio_growiobtable.o \
- stdio_grow_file.o \
- stdio_initializefd.o \
- stdio_initializeiob.o \
- stdio_init_exit.o \
- stdio_file_init.o \
- stdio_iobhookentry.o \
- stdio_lock.o \
- stdio_locksemaphorename.o \
- stdio_nostdio.o \
- stdio_openiob.o \
- stdio_parent_of_fh.o \
- stdio_perror.o \
- stdio_popen.o \
- stdio_printf.o \
- stdio_putc.o \
- stdio_putc_unlocked.o \
- stdio_putchar.o \
- stdio_putchar_unlocked.o \
- stdio_puts.o \
- stdio_remove.o \
- stdio_remove_fd_alias.o \
- stdio_rename.o \
- stdio_rewind.o \
- stdio_scanf.o \
- stdio_setbuf.o \
- stdio_setvbuf.o \
- stdio_snprintf.o \
- stdio_sprintf.o \
- stdio_sscanf.o \
- stdio_sscanf_hook_entry.o \
- stdio_tmpfile.o \
- stdio_tmpnam.o \
- stdio_translateioerror.o \
- stdio_ungetc.o \
- stdio_unlockfile.o \
- stdio_vasprintf.o \
- stdio_vasprintf_hook_entry.o \
- stdio_vfprintf.o \
- stdio_vfscanf.o \
- stdio_vsscanf.o \
- stdio_vscanf.o \
- stdio_vprintf.o \
- stdio_vsnprintf.o \
- stdio_vsnprintf_hook_entry.o \
- stdio_vsprintf.o \
- stdio_vsprintf_hook_entry.o \
- stdlib_abort.o \
- stdlib_abs.o \
- stdlib_alloca.o \
- stdlib_assertion_failure.o \
- stdlib_atexit.o \
- stdlib_atoi.o \
- stdlib_atol.o \
- stdlib_atoll.o \
- stdlib_bsearch.o \
- stdlib_calloc.o \
- stdlib_checkdetach.o \
- stdlib_constructor.o \
- stdlib_constructor_begin.o \
- stdlib_default_pool_size.o \
- stdlib_default_puddle_size.o \
- stdlib_destructor.o \
- stdlib_detach.o \
- stdlib_disablerequesters.o \
- stdlib_div.o \
- stdlib_divsi3.o \
- stdlib_divsi4.o \
- stdlib_dosbase.o \
- stdlib_exit.o \
- stdlib_free.o \
- stdlib_getdefstacksize.o \
- stdlib_getenv.o \
- stdlib_getsp.o \
- stdlib_get_errno.o \
- stdlib_isresident.o \
- stdlib_labs.o \
- stdlib_llabs.o \
- stdlib_ldiv.o \
- stdlib_lldiv.o \
- stdlib_lib_main.o \
- stdlib_lib_startup.o \
- stdlib_machine_test.o \
- stdlib_main.o \
- stdlib_malloc.o \
- stdlib_math.o \
- stdlib_mkdtemp.o \
- stdlib_mkstemp.o \
- stdlib_mktemp.o \
- stdlib_modsi3.o \
- stdlib_mulsi3.o \
- stdlib_never_free.o \
- stdlib_osliberror.o \
- stdlib_oslibversion.o \
- stdlib_priority.o \
- stdlib_process_name.o \
- stdlib_program_name.o \
- stdlib_putenv.o \
- stdlib_qsort.o \
- stdlib_rand.o \
- stdlib_rand_r.o \
- stdlib_realloc.o \
- stdlib_red_black.o \
- stdlib_semaphore.o \
- stdlib_setenv.o \
- stdlib_setjmp.o \
- stdlib_set_errno.o \
- stdlib_set_process_window.o \
- stdlib_shell_escape.o \
- stdlib_showerror.o \
- stdlib_srand.o \
- stdlib_stackargbytes.o \
- stdlib_stackcheck.o \
- stdlib_stackoverflow.o \
- stdlib_stacksafezone.o \
- stdlib_stacksize.o \
- stdlib_stack_usage.o \
- stdlib_arg.o \
- stdlib_stdio_window_spec.o \
- stdlib_strtol.o \
- stdlib_strtoll.o \
- stdlib_strtoul.o \
- stdlib_strtoull.o \
- stdlib_swapstack.o \
- stdlib_sysbase.o \
- stdlib_system.o \
- stdlib_termination_message.o \
- stdlib_threshold.o \
- stdlib_utilitybase.o \
- stdlib_udivsi3.o \
- stdlib_udivsi4.o \
- stdlib_umodsi3.o \
- stdlib_unsetenv.o \
- strings_ffs.o \
- strings_strcasecmp.o \
- strings_strncasecmp.o \
- string_bcmp.o \
- string_bcopy.o \
- string_bzero.o \
- string_index.o \
- string_memchr.o \
- string_memcmp.o \
- string_memcpy.o \
- string_memmove.o \
- string_memset.o \
- string_rindex.o \
- string_strcat.o \
- string_strchr.o \
- string_strcmp.o \
- string_strcoll.o \
- string_strcpy.o \
- string_strcspn.o \
- string_strdup.o \
- string_strerror.o \
- string_strlcat.o \
- string_strlcpy.o \
- string_strlen.o \
- string_strncat.o \
- string_strncmp.o \
- string_strncpy.o \
- string_strpbrk.o \
- string_strrchr.o \
- string_strspn.o \
- string_strstr.o \
- string_strtok.o \
- string_strtok_r.o \
- string_strxfrm.o \
- time_asctime.o \
- time_asctime_r.o \
- time_clock.o \
- time_converttime.o \
- time_convert_datestamp.o \
- time_convert_time.o \
- time_ctime.o \
- time_ctime_r.o \
- time_data.o \
- time_days_per_date.o \
- time_gettimeofday.o \
- time_gmtime.o \
- time_gmtime_r.o \
- time_localtime.o \
- time_localtime_r.o \
- time_mktime.o \
- time_numbertostring.o \
- time_strftime.o \
- time_time.o \
- time_weekday.o \
- uio_readv.o \
- uio_writev.o \
- unistd_access.o \
- unistd_chdir.o \
- unistd_chdir_exit.o \
- unistd_chown.o \
- unistd_currentpathname.o \
- unistd_dup.o \
- unistd_dup2.o \
- unistd_fchown.o \
- unistd_fdatasync.o \
- unistd_fdopen.o \
- unistd_fileno.o \
- unistd_fsync.o \
- unistd_ftruncate.o \
- unistd_getcwd.o \
- unistd_getopt.o \
- unistd_getpid.o \
- unistd_init_exit.o \
- unistd_isatty.o \
- unistd_lchown.o \
- unistd_link.o \
- unistd_readlink.o \
- unistd_realpath.o \
- unistd_sleep.o \
- unistd_symlink.o \
- unistd_sync_fd.o \
- unistd_timer.o \
- unistd_time_delay.o \
- unistd_truncate.o \
- unistd_unlink.o \
- unistd_usleep.o \
- utime_utime.o \
- utsname_uname.o
-
-# All objects files which make up libunix.a
-UNIX_LIB = \
- unix.lib_rev.o \
- dirent_closedir.o \
- dirent_rewinddir.o \
- dirent_opendir.o \
- dirent_readdir.o \
- fcntl_creat.o \
- fcntl_fcntl.o \
- fcntl_open.o \
- fcntl_get_default_file.o \
- getopt_getopt_long.o \
- mount_convertinfo.o \
- mount_statfs.o \
- stat_chmod.o \
- stat_fstat.o \
- stat_lstat.o \
- stat_mkdir.o \
- stat_rmdir.o \
- stat_stat.o \
- stdio_ctermid.o \
- stdio_fdhookentry.o \
- stdio_fflush.o \
- stdio_fopen.o \
- stdio_file_init.o \
- stdio_init_exit.o \
- stdio_locksemaphorename.o \
- stdio_openiob.o \
- stdio_popen.o \
- stdio_record_locking.o \
- stdio_remove.o \
- stdio_rename.o \
- stdlib_arg.o \
- stdlib_main.o \
- stdlib_mkdtemp.o \
- stdlib_mkstemp.o \
- stdlib_mktemp.o \
- stdlib_system.o \
- termios_cfgetispeed.o \
- termios_cfgetospeed.o \
- termios_cfmakeraw.o \
- termios_cfsetispeed.o \
- termios_cfsetospeed.o \
- termios_console_fdhookentry.o \
- termios_openserial.o \
- termios_tcdrain.o \
- termios_tcflow.o \
- termios_tcflush.o \
- termios_tcgetattr.o \
- termios_tcsendbreak.o \
- termios_tcsetattr.o \
- uio_readv.o \
- uio_writev.o \
- unistd_access.o \
- unistd_chdir.o \
- unistd_chdir_exit.o \
- unistd_chown.o \
- unistd_getcwd.o \
- unistd_lchown.o \
- unistd_link.o \
- unistd_readlink.o \
- unistd_realpath.o \
- unistd_restorepathname.o \
- unistd_setcurrentpath.o \
- unistd_strip_double_slash.o \
- unistd_translatea2u.o \
- unistd_translaterel.o \
- unistd_translateu2a.o \
- unistd_truncate.o \
- unistd_ttyname.o \
- unistd_ttyname_r.o \
- unistd_unix_path_semantics.o \
- unistd_unlink.o \
- unistd_wildcard_expand.o \
- utime_utime.o
-
-# All objects files which make up libm.a
-MATH_LIB = \
- complex_carg.o \
- complex_cargf.o \
- complex_cargl.o \
- complex_cimag.o \
- complex_cimagf.o \
- complex_cimagl.o \
- complex_conj.o \
- complex_conjf.o \
- complex_conjl.o \
- complex_creal.o \
- complex_crealf.o \
- complex_creall.o \
- math_acos.o \
- math_acosf.o \
- math_acosh.o \
- math_acoshf.o \
- math_asin.o \
- math_asinf.o \
- math_asinh.o \
- math_asinhf.o \
- math_atan.o \
- math_atan2.o \
- math_atan2f.o \
- math_atanf.o \
- math_cbrt.o \
- math_cbrtf.o \
- math_ceil.o \
- math_ceilf.o \
- math_copysign.o \
- math_copysignf.o \
- math_cos.o \
- math_cosf.o \
- math_cosh.o \
- math_coshf.o \
- math_erf.o \
- math_erfc.o \
- math_erfcf.o \
- math_erff.o \
- math_exp.o \
- math_expf.o \
- math_exp2.o \
- math_exp2f.o \
- math_expm1.o \
- math_expm1f.o \
- math_fabs.o \
- math_fabsf.o \
- math_floor.o \
- math_floorf.o \
- math_fmod.o \
- math_fmodf.o \
- math_fpclassify.o \
- math_frexp.o \
- math_frexpf.o \
- math_huge_val.o \
- math_huge_valf.o \
- math_hypot.o \
- math_hypotf.o \
- math_ilogb.o \
- math_ilogbf.o \
- math_inf.o \
- math_inff.o \
- math_init_exit.o \
- math_isfinite.o \
- math_isunordered.o \
- math_kernel_cos.o \
- math_kernel_cosf.o \
- math_kernel_expm1.o \
- math_kernel_rem_pio2.o \
- math_kernel_scalbn.o \
- math_kernel_sin.o \
- math_kernel_sinf.o \
- math_kernel_tan.o \
- math_kernel_tanf.o \
- math_ldexp.o \
- math_ldexpf.o \
- math_lgamma.o \
- math_lgammaf.o \
- math_log.o \
- math_log2.o \
- math_log2f.o \
- math_log10.o \
- math_log10f.o \
- math_log1p.o \
- math_log1pf.o \
- math_logb.o \
- math_logbf.o \
- math_logf.o \
- math_modf.o \
- math_modff.o \
- math_nan.o \
- math_nanf.o \
- math_nextafter.o \
- math_nextafterf.o \
- math_pow.o \
- math_powf.o \
- math_remainder.o \
- math_remainderf.o \
- math_rem_pio2f.o \
- math_rint.o \
- math_rintf.o \
- math_scalbn.o \
- math_scalbnf.o \
- math_signbit.o \
- math_sin.o \
- math_sinf.o \
- math_sinh.o \
- math_sinhf.o \
- math_sqrt.o \
- math_sqrtf.o \
- math_tan.o \
- math_tanf.o \
- math_tanh.o \
- math_tanhf.o \
- stdio_asprintf.o \
- stdio_flush.o \
- stdio_flush_all_files.o \
- stdio_fprintf.o \
- stdio_fscanf.o \
- stdio_printf.o \
- stdio_scanf.o \
- stdio_snprintf.o \
- stdio_sprintf.o \
- stdio_sscanf.o \
- stdio_vasprintf.o \
- stdio_vfprintf.o \
- stdio_vfscanf.o \
- stdio_vsscanf.o \
- stdio_vscanf.o \
- stdio_vprintf.o \
- stdio_vsnprintf.o \
- stdio_vsprintf.o \
- stdlib_atof.o \
- stdlib_strtod.o \
- stdlib_strtof.o \
- time_difftime.o
-
-# All objects files which make up libnet.a
-NET_LIB = \
- net.lib_rev.o \
- socket_accept.o \
- socket_bind.o \
- socket_connect.o \
- socket_gethostbyaddr.o \
- socket_gethostbyname.o \
- socket_gethostid.o \
- socket_gethostname.o \
- socket_getnetbyaddr.o \
- socket_getnetbyname.o \
- socket_getpeername.o \
- socket_getprotobyname.o \
- socket_getprotobynumber.o \
- socket_getservbyname.o \
- socket_getservbyport.o \
- socket_getsockname.o \
- socket_getsockopt.o \
- socket_get_descriptor.o \
- socket_inet_addr.o \
- socket_inet_aton.o \
- socket_inet_lnaof.o \
- socket_inet_makeaddr.o \
- socket_inet_netof.o \
- socket_inet_network.o \
- socket_inet_ntoa.o \
- socket_init_exit.o \
- socket_ioctl.o \
- socket_isdaemon.o \
- socket_listen.o \
- socket_recv.o \
- socket_recvfrom.o \
- socket_recvmsg.o \
- socket_select.o \
- socket_send.o \
- socket_sendmsg.o \
- socket_sendto.o \
- socket_setsockopt.o \
- socket_shutdown.o \
- socket_socket.o \
- socket_hook_entry.o \
- socket_hstrerror.o \
- stat_umask.o \
- usergroup_crypt.o \
- usergroup_data.o \
- usergroup_endgrent.o \
- usergroup_endpwent.o \
- usergroup_getegid.o \
- usergroup_geteuid.o \
- usergroup_getgid.o \
- usergroup_getgrent.o \
- usergroup_getgrgid.o \
- usergroup_getgrnam.o \
- usergroup_getgroups.o \
- usergroup_getpass.o \
- usergroup_getpwent.o \
- usergroup_getpwnam.o \
- usergroup_getpwuid.o \
- usergroup_getuid.o \
- usergroup_initgroups.o \
- usergroup_init_exit.o \
- usergroup_rootmode.o \
- usergroup_setegid.o \
- usergroup_seteuid.o \
- usergroup_setgid.o \
- usergroup_setgrent.o \
- usergroup_setgroups.o \
- usergroup_setpwent.o \
- usergroup_setregid.o \
- usergroup_setreuid.o \
- usergroup_setsid.o \
- usergroup_setuid.o \
- utsname_uname.o
-
-# All objects files which make up libdebug.a
-DEBUG_LIB = \
- debug.lib_rev.o \
- debug.o \
- debug_cmpstrexec.o \
- debug_kcmpstr.o \
- debug_kdofmt.o \
- debug_kgetc.o \
- debug_kgetch1.o \
- debug_kgetch2.o \
- debug_kgetchar1.o \
- debug_kgetchar2.o \
- debug_kgetnum1.o \
- debug_kgetnum2.o \
- debug_kmaygetch.o \
- debug_kmaygetchar.o \
- debug_kprintf1.o \
- debug_kprintf2.o \
- debug_kputc.o \
- debug_kputch1.o \
- debug_kputch2.o \
- debug_kputchar1.o \
- debug_kputchar2.o \
- debug_kputfmt.o \
- debug_kputs1.o \
- debug_kputs2.o \
- debug_kputstr1.o \
- debug_kputstr2.o \
- debug_kvprintf1.o \
- debug_kvprintf2.o \
- debug_level.o
-
-# All objects files which make up libamiga.a
-AMIGA_LIB = \
- amiga.lib_rev.o \
- amiga_acrypt.o \
- amiga_addtof.o \
- amiga_argarraydone.o \
- amiga_argarrayinit.o \
- amiga_argint.o \
- amiga_argstring.o \
- amiga_beginio.o \
- amiga_callhooka.o \
- amiga_coercemethod.o \
- amiga_createextio.o \
- amiga_createport.o \
- amiga_createstdio.o \
- amiga_createtask.o \
- amiga_deleteextio.o \
- amiga_deleteport.o \
- amiga_deletestdio.o \
- amiga_deletetask.o \
- amiga_domethod.o \
- amiga_dosupermethod.o \
- amiga_dotimer.o \
- amiga_fastrand.o \
- amiga_freeievents.o \
- amiga_hotkey.o \
- amiga_invertstring.o \
- amiga_newlist.o \
- amiga_rangerand.o \
- amiga_remtof.o \
- amiga_rexxvars.o \
- amiga_setsuperattrs.o \
- amiga_timedelay.o \
- amiga_waitbeam.o
-
-MEMDEBUG_LIB = \
- stdio_vasprintf_debug.o \
- stdio_vasprintf_hook_entry_debug.o \
- stdlib_alloca_debug.o \
- stdlib_calloc_debug.o \
- stdlib_free_debug.o \
- stdlib_malloc_debug.o \
- string_strdup_debug.o \
- unistd_getcwd_debug.o
-
-PROFILE_LIB = \
- profile__mcount.o \
- profile_gmon.o \
- profile_mcount.o
-
-##############################################################################
-
-# The libraries to be built, prefixed by the respective path names
-LIBS := \
- $(LIBC_OBJS)/libc.a \
- $(LIBUNIX_OBJS)/libunix.a \
- $(LIBDEBUG_OBJS)/libdebug.a \
- $(LIBAMIGA_OBJS)/libamiga.a \
- $(LIBM_OBJS)/libm.a \
- $(LIBNET_OBJS)/libnet.a \
- $(LIBPROFILE_OBJS)/libprofile.a
-
-##############################################################################
-
-# The startup object files to be built
-STARTUPS := crt0.o crtbegin.o crtend.o
-
-##############################################################################
-
-# This is the first target: it creates the necessary directories, then proceeds
-# to build the startup object files and finally the libraries
-all: \
- lib \
- lib/soft-float \
- lib/small-data \
- lib/baserel \
- small_data \
- large_data \
- large_data_softfloat \
- baserel \
- lib/crt0.o \
- lib/crtbegin.o \
- lib/crtend.o \
- lib/libm.a \
- lib/small-data/crt0.o \
- lib/small-data/crtbegin.o \
- lib/small-data/crtend.o \
- lib/small-data/libm.a \
- lib/soft-float/libm.a \
- lib/baserel/crt0.o \
- lib/baserel/crtbegin.o \
- lib/baserel/crtend.o \
- lib/baserel/libm.a
-
-##############################################################################
-
-# Delete all object files and libraries
-clean:
- -$(DELETE) $(STARTUPS) lib small_data large_data large_data_softfloat baserel
-
-##############################################################################
-
-# Update the version numbers bound to the individual libraries
-version:
- cp c.lib_rev.rev amiga.lib_rev.rev
- cp c.lib_rev.rev debug.lib_rev.rev
- cp c.lib_rev.rev m.lib_rev.rev
- cp c.lib_rev.rev m881.lib_rev.rev
- cp c.lib_rev.rev net.lib_rev.rev
- cp c.lib_rev.rev stack.lib_rev.rev
- cp c.lib_rev.rev unix.lib_rev.rev
- cp c.lib_rev.rev profile.lib_rev.rev
- bumprev 1 amiga.lib
- bumprev 1 c.lib
- bumprev 1 debug.lib
- bumprev 1 m.lib
- bumprev 1 m881.lib
- bumprev 1 net.lib
- bumprev 1 stack.lib
- bumprev 1 unix.lib
- bumprev 1 profile.lib
-
-##############################################################################
-
-# Tag all files with a certain version number
-cvs-tag:
- cvs -q tag V1_`cat c.lib_rev.rev`
-
-##############################################################################
-
-# This target first creates a directory to store the object files in, then
-# proceeds to build the libraries from the code. It is invoked by the
-# individual library build targets below.
-all_libraries: $(TYPE) $(LIBS)
-
-##############################################################################
-
-# These create the required subdirectories to store object files and
-# libraries in
-lib:
- -$(MAKEDIR) $@
-
-lib/small-data: lib
- -$(MAKEDIR) $@
-
-lib/soft-float: lib
- -$(MAKEDIR) $@
-
-lib/baserel: lib
- -$(MAKEDIR) $@
-
-small_data:
- -$(MAKEDIR) $@
-
-large_data:
- -$(MAKEDIR) $@
-
-large_data_softfloat:
- -$(MAKEDIR) $@
-
-baserel:
- -$(MAKEDIR) $@
-
-##############################################################################
-
-# Dependencies for libm.a (large data variant with hardware floating point code
-# support): this actually ends up building all the libraries rather than just
-# libm.a
-lib/libm.a: large_data large_data/libm.a
-
-large_data/libm.a:
- $(MAKE) TYPE=large_data all_libraries
- $(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
-
-##############################################################################
-
-# Dependencies for libm.a (large data variant with software floating point code
-# support): this actually ends up building all the libraries rather than just
-# libm.a
-lib/soft-float/libm.a: large_data_softfloat large_data_softfloat/libm.a
-
-large_data_softfloat/libm.a:
- $(MAKE) TYPE=large_data_softfloat all_libraries
- $(COPY) $(foreach file,$(LIBS),large_data_softfloat/$(file)) lib/soft-float
-
-##############################################################################
-
-# Dependencies for libm.a (small data variant): this actually ends up building all
-# the libraries rather than just libm.a
-lib/small-data/libm.a: small_data small_data/libm.a
-
-small_data/libm.a:
- $(MAKE) TYPE=small_data all_libraries
- $(COPY) $(foreach file,$(LIBS),small_data/$(file)) lib/small-data
-
-##############################################################################
-
-# Dependencies for libm.a (baserel variant)
-
-lib/baserel/libm.a: baserel baserel/libm.a
-
-baserel/libm.a:
- $(MAKE) TYPE=baserel all_libraries
- $(COPY) $(foreach file,$(LIBS),baserel/$(file)) lib/baserel
-
-##############################################################################
-
-# Rules to build and move the startup code
-lib/crt0.o : lib crt0.o
- $(COPY) crt0.o lib
-
-lib/crtbegin.o : lib crtbegin.o
- $(COPY) crtbegin.o lib
-
-lib/crtend.o : lib crtend.o
- $(COPY) crtend.o lib
-
-lib/small-data/crt0.o : lib small_data/crt0.o
- $(COPY) small_data/crt0.o lib/small-data
-
-lib/small-data/crtbegin.o : lib small_data/crtbegin.o
- $(COPY) small_data/crtbegin.o lib/small-data
-
-lib/small-data/crtend.o : lib small_data/crtend.o
- $(COPY) small_data/crtend.o lib/small-data
-
-lib/baserel/crt0.o : lib baserel/crt0.o
- $(COPY) baserel/crt0.o lib/baserel
-
-lib/baserel/crtbegin.o : lib baserel/crtbegin.o
- $(COPY) baserel/crtbegin.o lib/baserel
-
-lib/baserel/crtend.o : lib baserel/crtend.o
- $(COPY) baserel/crtend.o lib/baserel
-
-##############################################################################
-
-# Individual dependencies which tell make to build the object files from
-# 'C' source files rather than the assembly language source files of the
-# same name (e.g. stdlib_getsp.c instead of stdlib_getsp.asm).
-$(LIBC_OBJS)/stdlib_getsp.o : stdlib_getsp.c
-
-$(LIBC_OBJS)/stdlib_swapstack.o : stdlib_swapstack.c
-
-$(LIBC_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
-
-##############################################################################
-
-# Build rules for version information that goes into each library
-$(LIBC_OBJS)/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
-
-$(LIBUNIX_OBJS)/unix.lib_rev.o : unix.lib_rev.c unix.lib_rev.h
-
-$(LIBM_OBJS)/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
-
-$(LIBNET_OBJS)/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
-
-$(LIBDEBUG_OBJS)/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
-
-$(LIBAMIGA_OBJS)/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
-
-$(LIBPROFILE_OBJS)/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
-
-##############################################################################
-
-# Build rules for the debug version of the library which has special
-# memory allocation debugging code, controlled by the contents of
-# the stdlib_memory.h file.
-$(LIBC_OBJS)/stdlib_alloca.o : stdlib_alloca.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_calloc.o : stdlib_calloc.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_free.o : stdlib_free.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_malloc.o : stdlib_malloc.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_realloc.o : stdlib_realloc.c stdlib_memory.h
-
-$(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_memory.h
-
-##############################################################################
-
-# Peculiar build rules for the debug versions of memory allocation functions,
-# or at least those which use memory allocation functionality.
-$(LIBC_OBJS)/stdlib_alloca_debug.o : stdlib_alloca.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_alloca_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_alloca.c
-
-$(LIBC_OBJS)/stdlib_calloc_debug.o : stdlib_calloc.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_calloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_calloc.c
-
-$(LIBC_OBJS)/stdlib_free_debug.o : stdlib_free.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_free_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_free.c
-
-$(LIBC_OBJS)/stdlib_malloc_debug.o : stdlib_malloc.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_malloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_malloc.c
-
-$(LIBC_OBJS)/stdlib_realloc_debug.o : stdlib_realloc.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdlib_realloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_realloc.c
-
-$(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o : stdio_vasprintf_hook_entry.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf_hook_entry.c
-
-$(LIBC_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
-
-$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
- @echo "Compiling $< [$(TYPE):m debug]"
- @$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG $(FLOAT_TYPE) stdio_vasprintf.c
-
-$(LIBC_OBJS)/string_strdup_debug.o : string_strdup.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/string_strdup_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG string_strdup.c
-
-$(LIBC_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
- @echo "Compiling $< [$(TYPE):c debug]"
- @$(CC) -o $(LIBC_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG unistd_getcwd.c
-
-$(LIBUNIX_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
- @echo "Compiling $< [$(TYPE):unix debug]"
- @$(CC) -o $(LIBUNIX_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG -DUNIX_PATH_SEMANTICS unistd_getcwd.c
-
-##############################################################################
-
-# Individual build rules for libc.a
-$(LIBC_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBC_OBJS)/libc.a : $(LIBC_OBJS) $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-# Individual build rules for libunix.a
-$(LIBUNIX_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBUNIX_OBJS)/libunix.a : $(LIBUNIX_OBJS) $(foreach file,$(UNIX_LIB),$(LIBUNIX_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(UNIX_LIB),$(LIBUNIX_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-# Individual build rules for libm.a
-$(LIBM_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBM_OBJS)/libm.a : $(LIBM_OBJS) $(foreach file,$(MATH_LIB),$(LIBM_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(MATH_LIB),$(LIBM_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-# Individual build rules for libnet.a
-$(LIBNET_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBNET_OBJS)/libnet.a : $(LIBNET_OBJS) $(foreach file,$(NET_LIB),$(LIBNET_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(NET_LIB),$(LIBNET_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-# Individual build rules for libdebug.a
-$(LIBDEBUG_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBDEBUG_OBJS)/libdebug.a : $(LIBDEBUG_OBJS) $(foreach file,$(DEBUG_LIB),$(LIBDEBUG_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(DEBUG_LIB),$(LIBDEBUG_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-# Individual build rules for libamiga.a
-$(LIBAMIGA_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBAMIGA_OBJS)/libamiga.a : $(LIBAMIGA_OBJS) $(foreach file,$(AMIGA_LIB),$(LIBAMIGA_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(AMIGA_LIB),$(LIBAMIGA_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-# Individual build rules for libprofile.a
-$(LIBPROFILE_OBJS) :
- $(MAKEDIR) $@
-
-$(LIBPROFILE_OBJS)/libprofile.a : $(LIBPROFILE_OBJS) $(foreach file,$(PROFILE_LIB),$(LIBPROFILE_OBJS)/$(file))
- -$(DELETE) $@
- @$(AR) $@ $(foreach file,$(PROFILE_LIB),$(LIBPROFILE_OBJS)/$(file))
- $(RANLIB) $@
-
-##############################################################################
-
-# Individual build rules for the startup code.
-crt0.o : crt0.S
- @echo "Assembling $<"
- @$(CC) -Wa,-mregnames -o crt0.o -c crt0.S
-
-small_data/crt0.o : crt0.S
- @echo "Assembling $<"
- @$(CC) -DSMALL_DATA -Wa,-mregnames -o small_data/crt0.o -c crt0.S
-
-small_data/crtbegin.o : crtbegin.c
- @echo "Assembling $<"
- @$(CC) -o small_data/crtbegin.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtbegin.c
-
-small_data/crtend.o : crtend.c
- @echo "Assembling $<"
- @$(CC) -o small_data/crtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtend.c
-
-baserel/crt0.o : crt0.S
- @echo "Assembling $<"
- @$(CC) -Wa,-mregnames -o baserel/crt0.o -mbaserel -DBASEREL_DATA -c crt0.S
-
-baserel/crtbegin.o : crtbegin.c
- @echo "Assembling $<"
- @$(CC) -o baserel/crtbegin.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA crtbegin.c
-
-baserel/crtend.o : crtend.c
- @echo "Assembling $<"
- @$(CC) -o baserel/crtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA crtend.c
-
diff --git a/library/TODO b/library/TODO
deleted file mode 100755
index 9650cc0..0000000
--- a/library/TODO
+++ /dev/null
@@ -1,19 +0,0 @@
-C99 math functions:
-
- (functions generally missing, including their "float" counterparts)
- fma
- fmaf
- lrint
- lrintf
- lround
- lroundf
- nearbyint
- nearbyintf
- remquo
- remquof
- round
- roundf
- tgamma
- tgammaf
- trunc
- truncf
diff --git a/library/amiga.lib_rev.c b/library/amiga.lib_rev.c
deleted file mode 100644
index 90bf4d2..0000000
--- a/library/amiga.lib_rev.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * $Id: amiga.lib_rev.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "amiga.lib_rev.h"
-
-/****************************************************************************/
-
-char __amiga_lib_version[] = VERSTAG;
diff --git a/library/amiga.lib_rev.h b/library/amiga.lib_rev.h
deleted file mode 100644
index 9fd2f33..0000000
--- a/library/amiga.lib_rev.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#define VERSION 1
-#define REVISION 193
-#define DATE "4.6.2005"
-#define VERS "amiga.lib 1.193"
-#define VSTRING "amiga.lib 1.193 (4.6.2005)\r\n"
-#define VERSTAG "\0$VER: amiga.lib 1.193 (4.6.2005)"
diff --git a/library/amiga.lib_rev.rev b/library/amiga.lib_rev.rev
deleted file mode 100644
index 2455a46..0000000
--- a/library/amiga.lib_rev.rev
+++ /dev/null
@@ -1 +0,0 @@
-193
diff --git a/library/amiga_acrypt.c b/library/amiga_acrypt.c
deleted file mode 100644
index 71ff9a1..0000000
--- a/library/amiga_acrypt.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * $Id: amiga_acrypt.c,v 1.3 2005-05-30 14:01:20 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#define ACrypt __ACrypt
-
-#include
-#include
-#include
-
-#undef ACrypt
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-#define OSIZE 12
-
-/****************************************************************************/
-
-UBYTE *
-ACrypt(UBYTE * buffer, const UBYTE * password, const UBYTE * user)
-{
- UBYTE * result = NULL;
- LONG buf[OSIZE];
- LONG i,d,k;
-
- ENTER();
-
- assert( buffer != NULL && password != NULL && user != NULL );
-
- SHOWPOINTER(buffer);
- SHOWSTRING(password);
- SHOWSTRING(user);
-
- if(buffer == NULL || password == NULL || user == NULL)
- {
- SHOWMSG("invalid parameters");
- goto out;
- }
-
- for(i = 0 ; i < OSIZE ; i++)
- {
- if((*password) != '\0')
- d = (*password++);
- else
- d = i;
-
- if((*user) != '\0')
- d += (*user++);
- else
- d += i;
-
- buf[i] = 'A' + d;
- }
-
- for(i = 0 ; i < OSIZE ; i++)
- {
- for(k = 0 ; k < OSIZE ; k++)
- buf[i] = (buf[i] + buf[OSIZE - k - 1]) % 53;
-
- buffer[i] = buf[i] + 'A';
- }
-
- buffer[OSIZE-1] = '\0';
-
- SHOWSTRING(buffer);
-
- result = buffer;
-
- out:
-
- RETURN(result);
- return(result);
-}
diff --git a/library/amiga_addtof.c b/library/amiga_addtof.c
deleted file mode 100644
index 48583eb..0000000
--- a/library/amiga_addtof.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * $Id: amiga_addtof.c,v 1.3 2005-02-25 10:14:20 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-#include
-
-/****************************************************************************/
-
-#include "macros.h"
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-typedef LONG (* CFUNC)(APTR arg);
-
-/****************************************************************************/
-
-STATIC LONG INTERRUPT ASM
-call_routine(REG(a1,struct Isrvstr *i))
-{
- CFUNC p = (CFUNC)i->ccode;
-
- (*p)(i->Carg);
-
- return(0);
-}
-
-/****************************************************************************/
-
-VOID
-AddTOF(struct Isrvstr *i,CFUNC p,APTR arg)
-{
- assert( i != NULL && p != NULL );
-
- i->code = (long (*)())call_routine;
- i->Iptr = i;
- i->ccode = p;
- i->Carg = arg;
-
- AddIntServer(INTB_VERTB,(struct Interrupt *)i);
-}
diff --git a/library/amiga_argarraydone.c b/library/amiga_argarraydone.c
deleted file mode 100644
index 1ea21f3..0000000
--- a/library/amiga_argarraydone.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * $Id: amiga_argarraydone.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-extern char **CXLIB_argarray;
-
-extern struct DiskObject * CXLIB_disko;
-
-/****************************************************************************/
-
-VOID
-ArgArrayDone(VOID)
-{
- if(CXLIB_argarray != NULL)
- {
- FreeVec(CXLIB_argarray);
- CXLIB_argarray = NULL;
- }
-
- if(CXLIB_disko != NULL)
- {
- FreeDiskObject(CXLIB_disko);
- CXLIB_disko = NULL;
- }
-}
diff --git a/library/amiga_argarrayinit.c b/library/amiga_argarrayinit.c
deleted file mode 100644
index e68f70a..0000000
--- a/library/amiga_argarrayinit.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * $Id: amiga_argarrayinit.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-#include
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-const unsigned char ** CXLIB_argarray;
-
-struct DiskObject * CXLIB_disko;
-
-/****************************************************************************/
-
-STRPTR *
-ArgArrayInit(LONG argc, CONST_STRPTR * argv)
-{
- unsigned char ** result = NULL;
-
- if(argc != 0) /* run from CLI */
- {
- int i;
-
- if(argc == 1)
- goto out; /* skip command name */
-
- CXLIB_argarray = (const unsigned char **)AllocVec(sizeof(char *) * argc,MEMF_ANY|MEMF_CLEAR);
- if(CXLIB_argarray == NULL)
- goto out;
-
- for(i = 1 ; i < argc ; i++)
- CXLIB_argarray[i-1] = argv[i];
-
- result = (unsigned char **)CXLIB_argarray;
- }
- else if (IconBase != NULL)
- {
- struct WBStartup * msg;
-
- /* run from WB */
- msg = (struct WBStartup *)argv;
-
- CXLIB_disko = GetDiskObject(msg->sm_ArgList[0].wa_Name);
- if(CXLIB_disko == NULL)
- goto out;
-
- result = (unsigned char **)CXLIB_disko->do_ToolTypes;
- }
-
- out:
-
- return(result);
-}
diff --git a/library/amiga_argint.c b/library/amiga_argint.c
deleted file mode 100644
index c615afd..0000000
--- a/library/amiga_argint.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * $Id: amiga_argint.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-LONG
-ArgInt(CONST_STRPTR *tt,CONST_STRPTR entry,LONG default_val)
-{
- STRPTR str;
-
- if(tt != NULL && IconBase != NULL && ((str = (STRPTR)FindToolType((STRPTR *)tt,(STRPTR)entry))) != NULL)
- StrToLong(str,&default_val);
-
- return(default_val);
-}
diff --git a/library/amiga_argstring.c b/library/amiga_argstring.c
deleted file mode 100644
index 5568817..0000000
--- a/library/amiga_argstring.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * $Id: amiga_argstring.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-STRPTR
-ArgString(CONST_STRPTR *tt,CONST_STRPTR entry,CONST_STRPTR default_string)
-{
- STRPTR result;
-
- if(tt != NULL && IconBase != NULL && ((result = (STRPTR)FindToolType((STRPTR *)tt,(STRPTR)entry))) != NULL)
- return(result);
- else
- return((STRPTR)default_string);
-}
diff --git a/library/amiga_beginio.c b/library/amiga_beginio.c
deleted file mode 100644
index e2d631b..0000000
--- a/library/amiga_beginio.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * $Id: amiga_beginio.c,v 1.3 2005-01-02 09:07:06 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-#ifndef __PPC__
-
-/****************************************************************************/
-
-#if defined(__SASC)
-
-VOID __begin_io(struct IORequest * ior);
-#pragma libcall DeviceBase __begin_io 01e 901
-
-#endif /* __SASC */
-
-/****************************************************************************/
-
-#if defined(__GNUC__)
-
-#define __begin_io(ior) ({ \
- struct IORequest * _BeginIO_ior = (ior); \
- { \
- register struct Library * const __BeginIO__bn __asm("a6") = (struct Library *) (DeviceBase);\
- register struct IORequest * __BeginIO_ior __asm("a1") = (_BeginIO_ior); \
- __asm volatile ("jsr a6@(-30:W)" \
- : \
- : "r"(__BeginIO__bn), "r"(__BeginIO_ior) \
- : "d0", "d1", "a0", "a1", "fp0", "fp1", "cc", "memory"); \
- } \
-})
-
-#endif /* __GNUC__ */
-
-/****************************************************************************/
-
-VOID
-BeginIO(struct IORequest *ior)
-{
- struct Device * DeviceBase;
-
- ENTER();
-
- assert( ior != NULL && ior->io_Device != NULL );
-
- DeviceBase = ior->io_Device;
- __begin_io(ior);
-
- LEAVE();
-}
-
-/****************************************************************************/
-
-#else
-
-/****************************************************************************/
-
-#include
-
-/****************************************************************************/
-
-#if defined(BeginIO)
-#undef BeginIO
-#endif /* BeginIO */
-
-/****************************************************************************/
-
-VOID
-BeginIO(struct IORequest *ior)
-{
- ENTER();
-
- assert( ior != NULL && ior->io_Device != NULL );
-
- IExec->BeginIO(ior);
-
- LEAVE();
-}
-
-/****************************************************************************/
-
-#endif /* __PPC__ */
diff --git a/library/amiga_callhook.c b/library/amiga_callhook.c
deleted file mode 100644
index bde5e54..0000000
--- a/library/amiga_callhook.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * $Id: amiga_callhook.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __PPC__
-
-/****************************************************************************/
-
-#include
-
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-ULONG
-CallHook(struct Hook *hook_ptr,Object *obj,...)
-{
- ULONG result;
- va_list arg;
-
- assert( hook_ptr != NULL );
-
- va_start(arg,obj);
-
- result = CallHookA(hook_ptr,obj,(APTR)arg);
-
- va_end(arg);
-
- return(result);
-}
-
-/****************************************************************************/
-
-#endif /* __PPC__ */
diff --git a/library/amiga_callhooka.asm b/library/amiga_callhooka.asm
deleted file mode 100644
index fe3aca7..0000000
--- a/library/amiga_callhooka.asm
+++ /dev/null
@@ -1,80 +0,0 @@
-*
-* $Id: amiga_callhooka.asm,v 1.2 2005-01-02 09:07:06 obarthel Exp $
-*
-* :ts=8
-*
-* Portable ISO 'C' (1994) runtime library for the Amiga computer
-* Copyright (c) 2002-2005 by Olaf Barthel
-* All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* - Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-*
-* - Neither the name of Olaf Barthel nor the names of contributors
-* may be used to endorse or promote products derived from this
-* software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-* POSSIBILITY OF SUCH DAMAGE.
-*
-
- section text,code
-
-h_Entry equ 8
-
- xdef _CallHookA
-
-****************************************************************************
-* new hook standard
-* use struct Hook (with minnode at the top)
-*
-* *** register calling convention: ***
-* A0 - pointer to hook itself
-* A1 - pointer to parameter packed ("message")
-* A2 - Hook specific address data ("object," e.g, gadget )
-*
-* *** C conventions: ***
-* Note that parameters are in unusual register order: a0, a2, a1.
-* This is to provide a performance boost for assembly language
-* programming (the object in a2 is most frequently untouched).
-* It is also no problem in "register direct" C function parameters.
-*
-* calling through a hook
-* CallHook( hook, object, msgid, p1, p2, ... );
-* CallHookA( hook, object, msgpkt );
-*
-* using a C function: CFunction( hook, object, message );
-* hook.h_Entry = HookEntry;
-* hook.h_SubEntry = CFunction;
-*
-****************************************************************************
-
-* C calling hook interface for prepared message packet
-_CallHookA:
- movem.l a2/a6,-(sp)
- move.l 12(sp),a0
- move.l 16(sp),a2
- move.l 20(sp),a1
- pea.l hook_return(pc)
- move.l h_Entry(a0),-(sp)
- rts
-
-hook_return:
-
- movem.l (sp)+,a2/a6
- rts
-
- end
diff --git a/library/amiga_callhooka.c b/library/amiga_callhooka.c
deleted file mode 100644
index 4314dad..0000000
--- a/library/amiga_callhooka.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * $Id: amiga_callhooka.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if (defined(__GNUC__) && !defined(__PPC__))
-
-/****************************************************************************/
-
-asm("
-
-h_Entry = 8
-
- .text
- .even
-
-|---------------------------------------------------------------------------
-| new hook standard
-| use struct Hook (with minnode at the top)
-|
-| *** register calling convention: ***
-| A0 - pointer to hook itself
-| A1 - pointer to parameter packed ('message')
-| A2 - Hook specific address data ('object,' e.g, gadget )
-|
-| *** C conventions: ***
-| Note that parameters are in unusual register order: a0, a2, a1.
-| This is to provide a performance boost for assembly language
-| programming (the object in a2 is most frequently untouched).
-| It is also no problem in 'register direct' C function parameters.
-|
-| calling through a hook
-| CallHook( hook, object, msgid, p1, p2, ... );
-| CallHookA( hook, object, msgpkt );
-|
-| using a C function: CFunction( hook, object, message );
-| hook.h_Entry = HookEntry;
-| hook.h_SubEntry = CFunction;
-|
-|---------------------------------------------------------------------------
-
-| C calling hook interface for prepared message packet
-
- .globl _CallHookA
-
-_CallHookA:
-
- moveml a2/a6,sp@-
- moveal sp@(12),a0
- moveal sp@(16),a2
- moveal sp@(20),a1
- pea callhooka_return
- movel a0@(h_Entry),sp@-
- rts
-
-callhooka_return:
-
- moveml sp@+,a2/a6
- rts
-
-");
-
-/****************************************************************************/
-
-#endif /* __GNUC__ && !__PPC__ */
diff --git a/library/amiga_coercemethod.c b/library/amiga_coercemethod.c
deleted file mode 100644
index aebdec2..0000000
--- a/library/amiga_coercemethod.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * $Id: amiga_coercemethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __PPC__
-
-/****************************************************************************/
-
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-ULONG
-CoerceMethodA(Class * cl,Object * obj,Msg msg)
-{
- ULONG result = 0;
-
- ENTER();
-
- SHOWPOINTER(cl);
- SHOWPOINTER(obj);
- SHOWPOINTER(msg);
-
- assert( cl != NULL && obj != NULL );
-
- if(cl != NULL && obj != NULL)
- result = CallHookA(&cl->cl_Dispatcher,obj,msg);
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-ULONG
-CoerceMethod(Class *cl, Object *obj, ULONG method_id, ...)
-{
- ULONG result = 0;
-
- ENTER();
-
- SHOWPOINTER(cl);
- SHOWPOINTER(obj);
- SHOWVALUE(method_id);
-
- assert( cl != NULL && obj != NULL );
-
- if(cl != NULL && obj != NULL)
- result = CoerceMethodA(cl,obj,(Msg)&method_id);
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-#endif /* __PPC__ */
diff --git a/library/amiga_createextio.c b/library/amiga_createextio.c
deleted file mode 100644
index 42f0da8..0000000
--- a/library/amiga_createextio.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * $Id: amiga_createextio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-#if defined(CreateExtIO)
-#undef CreateExtIO
-#endif /* CreateExtIO */
-
-/****************************************************************************/
-
-struct IORequest *
-CreateExtIO(CONST struct MsgPort * port, LONG io_size)
-{
- struct IORequest * result = NULL;
-
- assert( port != NULL && io_size > 0 );
-
- if(port == NULL || io_size < (LONG)sizeof(*result))
- goto out;
-
- result = CreateIORequest(port,(ULONG)io_size);
-
- out:
-
- return(result);
-}
diff --git a/library/amiga_createport.c b/library/amiga_createport.c
deleted file mode 100644
index db9c1d6..0000000
--- a/library/amiga_createport.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * $Id: amiga_createport.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-#if defined(CreatePort)
-#undef CreatePort
-#endif /* CreatePort */
-
-/****************************************************************************/
-
-struct MsgPort *
-CreatePort(CONST_STRPTR name, LONG pri)
-{
- struct MsgPort * result = NULL;
-
- assert( -128 <= pri && pri <= 127 );
-
- if(pri < -128 || pri > 127)
- goto out;
-
- result = CreateMsgPort();
- if(result != NULL && name != NULL)
- {
- result->mp_Node.ln_Name = (char *)name;
- result->mp_Node.ln_Pri = pri;
-
- AddPort(result);
- }
-
- out:
-
- return(result);
-}
diff --git a/library/amiga_createstdio.c b/library/amiga_createstdio.c
deleted file mode 100644
index 9002a04..0000000
--- a/library/amiga_createstdio.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * $Id: amiga_createstdio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-#if defined(CreateStdIO)
-#undef CreateStdIO
-#endif /* CreateStdIO */
-
-/****************************************************************************/
-
-struct IOStdReq *
-CreateStdIO(CONST struct MsgPort * port)
-{
- struct IOStdReq * result = NULL;
-
- assert( port != NULL );
-
- if(port == NULL)
- goto out;
-
- result = (struct IOStdReq *)CreateIORequest((struct MsgPort *)port,sizeof(*result));
-
- out:
-
- return(result);
-}
diff --git a/library/amiga_createtask.c b/library/amiga_createtask.c
deleted file mode 100644
index 3a9d860..0000000
--- a/library/amiga_createtask.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * $Id: amiga_createtask.c,v 1.4 2005-03-18 12:38:21 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-/****************************************************************************/
-
-#include
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#ifndef _STDLIB_PROFILE_H
-#include "stdlib_profile.h"
-#endif /* _STDLIB_PROFILE_H */
-
-/****************************************************************************/
-
-#include "macros.h"
-#include "debug.h"
-
-/****************************************************************************/
-
-#ifndef __PPC__
-
-/****************************************************************************/
-
-/*
- * Create a task with given name, priority, and stack size.
- * It will use the default exception and trap handlers for now.
- */
-
-/****************************************************************************/
-
-/* the template for the mementries. Unfortunately, this is hard to
- * do from C: mementries have unions, and they cannot be statically
- * initialized...
- *
- * In the interest of simplicity I recreate the mem entry structures
- * here with appropriate sizes. We will copy this to a local
- * variable and set the stack size to what the user specified,
- * then attempt to actually allocate the memory.
- */
-
-#define ME_TASK 0
-#define ME_STACK 1
-
-#define NUM_MEM_ENTRIES 2
-
-/****************************************************************************/
-
-struct FakeMemEntry
-{
- ULONG fme_Reqs;
- ULONG fme_Size;
-};
-
-/****************************************************************************/
-
-struct FakeMemList
-{
- struct Node fml_Node;
- UWORD fml_NumEntries;
- struct FakeMemEntry fml_ME[NUM_MEM_ENTRIES];
-};
-
-/****************************************************************************/
-
-struct Task *
-CreateTask(CONST_STRPTR name,LONG pri,CONST APTR init_pc,ULONG stack_size)
-{
- struct Task * new_task;
- struct FakeMemList fake_mem_list;
- struct MemList * ml = NULL;
- APTR result = NULL;
-
- ENTER();
-
- SHOWSTRING(name);
- SHOWVALUE(pri);
- SHOWPOINTER(init_pc);
- SHOWVALUE(stack_size);
-
- assert( name != NULL && (-128 <= pri && pri <= 127) && init_pc != NULL && stack_size > 0 );
-
- if(name == NULL || pri < -128 || pri > 127 || init_pc == NULL || stack_size == 0)
- {
- SHOWMSG("invalid parameters");
- goto out;
- }
-
- /* round the stack up to longwords... */
- stack_size = (stack_size + 3UL) & ~3UL;
-
- /*
- * This will allocate two chunks of memory: task of PUBLIC
- * and stack of PRIVATE
- */
- memset(&fake_mem_list,0,sizeof(fake_mem_list));
-
- fake_mem_list.fml_NumEntries = NUM_MEM_ENTRIES;
- fake_mem_list.fml_ME[ME_TASK].fme_Reqs = MEMF_PUBLIC | MEMF_CLEAR;
- fake_mem_list.fml_ME[ME_TASK].fme_Size = sizeof(struct Task);
- fake_mem_list.fml_ME[ME_STACK].fme_Reqs = MEMF_ANY | MEMF_CLEAR;
- fake_mem_list.fml_ME[ME_STACK].fme_Size = stack_size;
-
- ml = (struct MemList *)AllocEntry((struct MemList *)&fake_mem_list);
-
- /* Did the allocation succeed? */
- if(((LONG)ml) < 0)
- {
- SHOWMSG("memory allocation failed");
-
- /* Note: if AllocEntry() fails, the entire allocation is
- * released before the function returns with bit #31
- * set and the number of the slot that failed being
- * returned. Thus, the return value is not a valid
- * address that would need to be freed.
- */
- ml = NULL;
- goto out;
- }
-
- /* set the stack accounting stuff */
- new_task = (struct Task *)ml->ml_ME[ME_TASK].me_Addr;
-
- new_task->tc_SPLower = ml->ml_ME[ME_STACK].me_Addr;
- new_task->tc_SPUpper = (APTR)((ULONG)(new_task->tc_SPLower) + stack_size);
- new_task->tc_SPReg = new_task->tc_SPUpper;
-
- /* misc task data structures */
- new_task->tc_Node.ln_Type = NT_TASK;
- new_task->tc_Node.ln_Pri = pri;
- new_task->tc_Node.ln_Name = (char *)name;
-
- /* add it to the tasks memory list */
- NewList(&new_task->tc_MemEntry);
- AddHead(&new_task->tc_MemEntry,(struct Node *)ml);
-
- /* add the task to the system -- use the default final PC */
-
- PROFILE_OFF();
- result = AddTask(new_task,init_pc,NULL);
- PROFILE_ON();
-
- if(result == NULL)
- {
- SHOWMSG("could not add task");
- goto out;
- }
-
- /* Gobbled up by task. */
- ml = NULL;
-
- out:
-
- if(ml != NULL)
- FreeEntry(ml);
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-#else
-
-/****************************************************************************/
-
-#if defined(CreateTask)
-#undef CreateTask
-#endif /* CreateTask */
-
-/****************************************************************************/
-
-struct Task *
-CreateTask(CONST_STRPTR name,LONG pri,CONST APTR init_pc,ULONG stack_size)
-{
- struct Task * result = NULL;
-
- ENTER();
-
- SHOWSTRING(name);
- SHOWVALUE(pri);
- SHOWPOINTER(init_pc);
- SHOWVALUE(stack_size);
-
- assert( name != NULL && (-128 <= pri && pri <= 127) && init_pc != NULL && stack_size > 0 );
-
- if(name == NULL || pri < -128 || pri > 127 || init_pc == NULL || stack_size == 0)
- {
- SHOWMSG("invalid parameters");
- goto out;
- }
-
- result = IExec->CreateTask(name,pri,init_pc,stack_size,NULL);
-
- out:
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-#endif /* __PPC__ */
diff --git a/library/amiga_deleteextio.c b/library/amiga_deleteextio.c
deleted file mode 100644
index f80e3b4..0000000
--- a/library/amiga_deleteextio.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * $Id: amiga_deleteextio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-#if defined(DeleteExtIO)
-#undef DeleteExtIO
-#endif /* DeleteExtIO */
-
-/****************************************************************************/
-
-VOID
-DeleteExtIO(struct IORequest * io)
-{
- assert(io != NULL);
-
- if(io != NULL)
- DeleteIORequest((struct IORequest *)io);
-}
diff --git a/library/amiga_deleteport.c b/library/amiga_deleteport.c
deleted file mode 100644
index 6d61281..0000000
--- a/library/amiga_deleteport.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * $Id: amiga_deleteport.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-#if defined(DeletePort)
-#undef DeletePort
-#endif /* DeletePort */
-
-/****************************************************************************/
-
-VOID
-DeletePort(struct MsgPort * port)
-{
- assert( port != NULL );
-
- if(port->mp_Node.ln_Name != NULL)
- RemPort(port);
-
- DeleteMsgPort(port);
-}
diff --git a/library/amiga_deletestdio.c b/library/amiga_deletestdio.c
deleted file mode 100644
index ecd621f..0000000
--- a/library/amiga_deletestdio.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * $Id: amiga_deletestdio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-#if defined(DeleteStdIO)
-#undef DeleteStdIO
-#endif /* DeleteStdIO */
-
-/****************************************************************************/
-
-VOID
-DeleteStdIO(struct IOStdReq * io)
-{
- if(io != NULL)
- DeleteIORequest((struct IORequest *)io);
-}
diff --git a/library/amiga_deletetask.c b/library/amiga_deletetask.c
deleted file mode 100644
index 0fa6081..0000000
--- a/library/amiga_deletetask.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * $Id: amiga_deletetask.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#ifndef __PPC__
-
-/****************************************************************************/
-
-VOID
-DeleteTask(struct Task *tc)
-{
- RemTask(tc);
-}
-
-/****************************************************************************/
-
-#else
-
-/****************************************************************************/
-
-#if defined(DeleteTask)
-#undef DeleteTask
-#endif /* DeleteTask */
-
-/****************************************************************************/
-
-VOID
-DeleteTask(struct Task *tc)
-{
- IExec->DeleteTask(tc);
-}
-
-/****************************************************************************/
-
-#endif /* __PPC__ */
diff --git a/library/amiga_domethod.c b/library/amiga_domethod.c
deleted file mode 100644
index 4877eac..0000000
--- a/library/amiga_domethod.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * $Id: amiga_domethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __PPC__
-
-/****************************************************************************/
-
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-ULONG
-DoMethodA(Object * obj,Msg msg)
-{
- ULONG result = 0;
-
- ENTER();
-
- SHOWPOINTER(obj);
- SHOWPOINTER(msg);
-
- assert(obj != NULL);
-
- if(obj != NULL)
- {
- Class * cl;
-
- cl = OCLASS(obj);
-
- assert( cl != NULL );
-
- if(cl != NULL)
- result = CallHookA(&cl->cl_Dispatcher,obj,msg);
- }
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-ULONG
-DoMethod(Object *obj, ULONG method_id, ...)
-{
- ULONG result = 0;
-
- ENTER();
-
- SHOWPOINTER(obj);
- SHOWVALUE(method_id);
-
- assert( obj != NULL );
-
- if(obj != NULL)
- result = DoMethodA(obj,(Msg)&method_id);
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-#endif /* __PPC__ */
diff --git a/library/amiga_dosupermethod.c b/library/amiga_dosupermethod.c
deleted file mode 100644
index 276127c..0000000
--- a/library/amiga_dosupermethod.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * $Id: amiga_dosupermethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __PPC__
-
-/****************************************************************************/
-
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-ULONG
-DoSuperMethodA(Class * cl, Object * obj, Msg msg)
-{
- ULONG result = 0;
-
- ENTER();
-
- SHOWPOINTER(cl);
- SHOWPOINTER(obj);
- SHOWPOINTER(msg);
-
- assert( cl != NULL && obj != NULL );
-
- if(cl != NULL && obj != NULL)
- result = CallHookA(&cl->cl_Super->cl_Dispatcher,obj,msg);
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-ULONG
-DoSuperMethod(Class *cl, Object *obj, ULONG method_id, ...)
-{
- ULONG result = 0;
-
- ENTER();
-
- SHOWPOINTER(cl);
- SHOWPOINTER(obj);
- SHOWVALUE(method_id);
-
- assert( cl != NULL && obj != NULL );
-
- if(cl != NULL && obj != NULL)
- result = DoSuperMethodA(cl,obj,(Msg)&method_id);
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-#endif /* __PPC__ */
diff --git a/library/amiga_dotimer.c b/library/amiga_dotimer.c
deleted file mode 100644
index 75ab5d4..0000000
--- a/library/amiga_dotimer.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * $Id: amiga_dotimer.c,v 1.4 2005-03-18 12:38:21 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#ifndef _STDLIB_PROFILE_H
-#include "stdlib_profile.h"
-#endif /* _STDLIB_PROFILE_H */
-
-/****************************************************************************/
-
-#include "macros.h"
-#include "debug.h"
-
-/****************************************************************************/
-
-LONG
-DoTimer(struct timeval *tv,LONG unit,LONG command)
-{
- struct timerequest * tr = NULL;
- struct MsgPort * mp;
- LONG error;
-
- assert( tv != NULL );
-
- #if defined(__amigaos4__)
- {
- mp = AllocSysObjectTags(ASOT_PORT,
- ASOPORT_Action, PA_SIGNAL,
- ASOPORT_Signal, SIGB_SINGLE,
- ASOPORT_Target, FindTask(NULL),
- TAG_DONE);
-
- if(mp == NULL)
- {
- error = IOERR_OPENFAIL;
- goto out;
- }
- }
- #else
- {
- mp = AllocVec(sizeof(*mp),MEMF_ANY|MEMF_PUBLIC|MEMF_CLEAR);
- if(mp == NULL)
- {
- error = IOERR_OPENFAIL;
- goto out;
- }
-
- mp->mp_Node.ln_Type = NT_MSGPORT;
- mp->mp_Flags = PA_SIGNAL;
- mp->mp_SigBit = SIGB_SINGLE;
- mp->mp_SigTask = FindTask(NULL);
-
- NewList(&mp->mp_MsgList);
- }
- #endif /* __amigaos4__ */
-
- tr = (struct timerequest *)CreateIORequest(mp,sizeof(*tr));
- if(tr == NULL)
- {
- error = IOERR_OPENFAIL;
- goto out;
- }
-
- error = OpenDevice(TIMERNAME,(ULONG)unit,(struct IORequest *)tr,0);
- if(error != 0)
- goto out;
-
- tr->tr_node.io_Command = command;
- tr->tr_time.tv_secs = tv->tv_secs;
- tr->tr_time.tv_micro = tv->tv_micro;
-
- PROFILE_OFF();
-
- SetSignal(0,SIGF_SINGLE);
-
- error = DoIO((struct IORequest *)tr);
-
- PROFILE_ON();
-
- tv->tv_secs = tr->tr_time.tv_secs;
- tv->tv_micro = tr->tr_time.tv_micro;
-
- out:
-
- if(tr != NULL)
- {
- if(tr->tr_node.io_Device != NULL)
- CloseDevice((struct IORequest *)tr);
-
- DeleteIORequest((struct IORequest *)tr);
- }
-
- #if defined(__amigaos4__)
- {
- if(mp != NULL)
- FreeSysObject(ASOT_PORT,mp);
- }
- #else
- {
- FreeVec(mp);
- }
- #endif /* __amigaos4__ */
-
- return(error);
-}
diff --git a/library/amiga_fastrand.c b/library/amiga_fastrand.c
deleted file mode 100644
index 2a2aef4..0000000
--- a/library/amiga_fastrand.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: amiga_fastrand.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-
-/****************************************************************************/
-
-ULONG
-FastRand(ULONG seed)
-{
- ULONG value;
-
- value = seed + seed;
- if(value < seed)
- value ^= 0x1D872B41;
-
- return(value);
-}
diff --git a/library/amiga_freeievents.c b/library/amiga_freeievents.c
deleted file mode 100644
index e761412..0000000
--- a/library/amiga_freeievents.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * $Id: amiga_freeievents.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-VOID
-FreeIEvents(struct InputEvent * ie)
-{
- struct InputEvent * next;
-
- while(ie != NULL)
- {
- next = ie->ie_NextEvent;
-
- FreeVec(ie);
-
- ie = next;
- }
-}
diff --git a/library/amiga_hookentry.asm b/library/amiga_hookentry.asm
deleted file mode 100644
index 588045b..0000000
--- a/library/amiga_hookentry.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-*
-* $Id: amiga_hookentry.asm,v 1.2 2005-01-02 09:07:07 obarthel Exp $
-*
-* :ts=8
-*
-* Portable ISO 'C' (1994) runtime library for the Amiga computer
-* Copyright (c) 2002-2005 by Olaf Barthel
-* All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* - Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-*
-* - Neither the name of Olaf Barthel nor the names of contributors
-* may be used to endorse or promote products derived from this
-* software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-* POSSIBILITY OF SUCH DAMAGE.
-*
-
- section text,code
-
-h_SubEntry equ 12
-
- xdef _HookEntry
-
-_HookEntry:
-
- move.l a1,-(sp)
- move.l a2,-(sp)
- move.l a0,-(sp)
- move.l h_SubEntry(a0),a0
- jsr (a0)
- lea 12(sp),sp
-
- rts
-
- end
diff --git a/library/amiga_hookentry.c b/library/amiga_hookentry.c
deleted file mode 100644
index fd2f2fd..0000000
--- a/library/amiga_hookentry.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * $Id: amiga_hookentry.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if (defined(__GNUC__) && !defined(__PPC__))
-
-/****************************************************************************/
-
-asm("
-
-h_SubEntry = 12
-
- .text
- .even
-
- .globl _HookEntry
-
-_HookEntry:
-
- movel a1,sp@-
- movel a2,sp@-
- movel a0,sp@-
- movel a0@(h_SubEntry:W),a0
- jsr a0@
- lea sp@(12:W),sp
- rts
-
-");
-
-/****************************************************************************/
-
-#endif /* __GNUC__ && !__PPC__ */
diff --git a/library/amiga_hotkey.c b/library/amiga_hotkey.c
deleted file mode 100644
index c33ef50..0000000
--- a/library/amiga_hotkey.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * $Id: amiga_hotkey.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-CxObj *
-HotKey(CONST_STRPTR descr,struct MsgPort * port,LONG ID)
-{
- CxObj * result = NULL;
- CxObj * filter = NULL;
-
- assert( descr != NULL && port != NULL );
-
- if(CxBase == NULL)
- goto out;
-
- filter = CxFilter(descr);
- if(filter == NULL)
- goto out;
-
- AttachCxObj(filter,CxSender(port,ID));
- AttachCxObj(filter,CxTranslate(NULL));
-
- if(CxObjError(filter))
- goto out;
-
- result = filter;
-
- out:
-
- if(result == NULL && filter != NULL)
- DeleteCxObjAll(filter);
-
- return(result);
-}
diff --git a/library/amiga_invertstring.c b/library/amiga_invertstring.c
deleted file mode 100644
index fcd9868..0000000
--- a/library/amiga_invertstring.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * $Id: amiga_invertstring.c,v 1.3 2005-02-25 10:14:20 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-STATIC int
-do_escape(int cc)
-{
- int result;
-
- switch(cc)
- {
- case 'n':
- case 'r':
-
- result = '\r';
- break;
-
- case 't':
-
- result = '\t';
- break;
-
- case '0':
-
- result = '\0';
- break;
-
- case '\\':
- case '\"':
- case '\'':
- case '<':
-
- result = cc;
- break;
-
- default:
-
- result = -1;
- break;
- }
-
- return(result);
-}
-
-/****************************************************************************/
-
-STATIC ULONG
-do_angle(STRPTR * strp, struct InputEvent *ie)
-{
- ULONG result;
- char * cp;
- IX ix;
-
- /* find closing angle '>', put a null there */
- for(cp = (*strp) ; (*cp) ; cp++)
- {
- if((*cp) == '>')
- {
- (*cp) = '\0';
- break;
- }
- }
-
- result = ParseIX((*strp),&ix);
-
- if(cp != NULL)
- {
- (*cp) = '>'; /* fix it */
- (*strp) = cp; /* point to char following '>' */
- }
- else
- {
- (*strp) = cp - 1; /* ++will point to terminating null */
- }
-
- if(result == 0)
- {
- /* use IX to describe a suitable InputEvent */
- ie->ie_Class = ix.ix_Class;
- ie->ie_Code = ix.ix_Code;
- ie->ie_Qualifier = ix.ix_Qualifier;
- }
-
- return(result);
-}
-
-/****************************************************************************/
-
-extern VOID FreeIEvents(struct InputEvent *ie);
-
-/****************************************************************************/
-
-struct InputEvent *
-InvertString(CONST_STRPTR str, CONST struct KeyMap *km)
-{
- /* bugs:
- can't escape '>'
- puts '\0' on closing angles */
-
- /* allocate input event for each character in string */
-
- struct InputEvent * result = NULL;
- struct InputEvent * chain = NULL;
- struct InputEvent * ie;
- int cc;
-
- if(CxBase == NULL || str == NULL || (*str) == '\0')
- goto out;
-
- do /* have checked that str is not null */
- {
- /* allocate the next ie and link it in */
- ie = AllocVec(sizeof(*ie),MEMF_ANY|MEMF_CLEAR|MEMF_PUBLIC);
- if(ie == NULL)
- goto out;
-
- ie->ie_NextEvent = chain;
- chain = ie;
-
- /* now fill in the input event */
- cc = (*str);
- switch(cc)
- {
- case '<':
-
- str++;
-
- if(do_angle((STRPTR*)&str, ie) != 0)
- goto out;
-
- break;
-
- case '\\':
-
- str++;
-
- cc = do_escape(*str); /* get escaped character */
- if(cc < 0)
- goto out;
-
- /* fall through */
-
- default:
-
- InvertKeyMap((ULONG) cc, ie, (struct KeyMap *)km);
- break;
- }
-
- str++;
- }
- while((*str) != '\0');
-
- result = chain;
-
- out:
-
- if(result == NULL && chain != NULL)
- FreeIEvents(chain);
-
- return(result);
-}
diff --git a/library/amiga_newlist.c b/library/amiga_newlist.c
deleted file mode 100644
index e0681c8..0000000
--- a/library/amiga_newlist.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * $Id: amiga_newlist.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-VOID
-NewList(struct List *lh)
-{
- ENTER();
-
- SHOWPOINTER(lh);
-
- assert( lh != NULL );
-
- lh->lh_Head = (struct Node *)&lh->lh_Tail;
- lh->lh_Tail = NULL;
- lh->lh_TailPred = (struct Node *)&lh->lh_Head;
-
- LEAVE();
-}
diff --git a/library/amiga_rangerand.c b/library/amiga_rangerand.c
deleted file mode 100644
index 158e2f7..0000000
--- a/library/amiga_rangerand.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * $Id: amiga_rangerand.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-
-/****************************************************************************/
-
-ULONG RangeSeed;
-
-/****************************************************************************/
-
-UWORD
-RangeRand(ULONG max_value)
-{
- ULONG next_value;
- ULONG result;
- ULONG value;
- UWORD range;
- UWORD bits;
-
- range = (max_value & 0xFFFF);
- bits = range - 1;
-
- value = RangeSeed;
-
- do
- {
- next_value = value + value;
- if(next_value <= value)
- next_value ^= 0x1D872B41;
-
- value = next_value;
-
- bits = bits >> 1;
- }
- while(bits != 0);
-
- RangeSeed = value;
-
- if(range == 0)
- result = value & 0xFFFF;
- else
- result = (range * (value & 0xFFFF)) >> 16;
-
- return((UWORD)result);
-}
diff --git a/library/amiga_remtof.c b/library/amiga_remtof.c
deleted file mode 100644
index 228b6bf..0000000
--- a/library/amiga_remtof.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * $Id: amiga_remtof.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-VOID
-RemTOF(struct Isrvstr *i)
-{
- assert( i != NULL );
-
- RemIntServer(INTB_VERTB,(struct Interrupt *)i);
-}
diff --git a/library/amiga_rexxvars.c b/library/amiga_rexxvars.c
deleted file mode 100644
index 9781946..0000000
--- a/library/amiga_rexxvars.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * $Id: amiga_rexxvars.c,v 1.6 2005-03-18 12:38:21 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* We don't want to pull in */
-#define CLIB_ALIB_PROTOS_H
-
-/****************************************************************************/
-
-#ifndef _STDLIB_HEADERS_H
-#include "stdlib_headers.h"
-#endif /* _STDLIB_HEADERS_H */
-
-/****************************************************************************/
-
-#ifndef _STDLIB_CONSTRUCTOR_H
-#include "stdlib_constructor.h"
-#endif /* _STDLIB_CONSTRUCTOR_H */
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#define __NOLIBBASE__
-#include
-
-/****************************************************************************/
-
-static struct Library * RexxSysBase;
-
-/****************************************************************************/
-
-#if defined(__amigaos4__)
-static struct RexxSysIFace * IRexxSys;
-#endif /* __amigaos4__ */
-
-/****************************************************************************/
-
-CLIB_CONSTRUCTOR(rexxvars_init)
-{
- ENTER();
-
- RexxSysBase = OpenLibrary(RXSNAME,0);
-
- #if defined(__amigaos4__)
- {
- if(RexxSysBase != NULL)
- {
- IRexxSys = (struct RexxSysIFace *)GetInterface(RexxSysBase, "main", 1, 0);
- if(IRexxSys == NULL)
- {
- CloseLibrary(RexxSysBase);
- RexxSysBase = NULL;
- }
- }
- }
- #endif /* __amigaos4__ */
-
- LEAVE();
-
- CONSTRUCTOR_SUCCEED();
-}
-
-/****************************************************************************/
-
-CLIB_DESTRUCTOR(rexxvars_exit)
-{
- ENTER();
-
- #if defined(__amigaos4__)
- {
- if(IRexxSys != NULL)
- DropInterface((struct Interface *)IRexxSys);
-
- IRexxSys = NULL;
- }
- #endif /* __amigaos4__ */
-
- if(RexxSysBase != NULL)
- {
- CloseLibrary(RexxSysBase);
- RexxSysBase = NULL;
- }
-
- LEAVE();
-}
-
-/****************************************************************************/
-
-/* This is modeled after the original assembly language code. Except for the
- fact that we compare the library base against a local, static variable
- rather then opening the library for each check. */
-BOOL
-CheckRexxMsg(struct RexxMsg *message)
-{
- BOOL result = FALSE;
-
- if(RexxSysBase == NULL)
- goto out;
-
- if(message->rm_LibBase != RexxSysBase)
- goto out;
-
- if(message->rm_TaskBlock == NULL)
- goto out;
-
- if(NOT IsRexxMsg(message))
- goto out;
-
- result = TRUE;
-
- out:
-
- return(result);
-}
-
-/****************************************************************************/
-
-/* The following function works in about like the original, except that it's
- not reentrant, does not fill in a pointer to the variable itself and
- requires rexxsyslib.library V45. */
-LONG
-GetRexxVar(struct RexxMsg *message,STRPTR variable_name,STRPTR *buffer_pointer)
-{
- static UBYTE buffer[256];
- LONG result;
-
- /* The following uses a function which was added to rexxsyslib.library V45.
- We therefore have a minimum library version requirement. */
- if(RexxSysBase == NULL || RexxSysBase->lib_Version < 45 || NOT IsRexxMsg(message))
- {
- result = ERR10_010; /* invalid message packet */
- goto out;
- }
-
- /* The 256 character limit isn't good. This should be done differently. */
- result = GetRexxVarFromMsg(variable_name,buffer,message);
- if(result != 0)
- goto out;
-
- (*buffer_pointer) = buffer;
-
- out:
-
- return(result);
-}
-
-/****************************************************************************/
-
-/* The following function works in about like the original, except that it
- ignores the length parameter (the value needs to be a NUL-terminated string)
- and requires rexxsyslib.library V45. */
-LONG
-SetRexxVar(struct RexxMsg *message,STRPTR variable_name,STRPTR value,ULONG length)
-{
- LONG result;
-
- /* The following uses a function which was added to rexxsyslib.library V45.
- We therefore have a minimum library version requirement. */
- if(RexxSysBase == NULL || RexxSysBase->lib_Version < 45 || NOT IsRexxMsg(message))
- {
- result = ERR10_010; /* invalid message packet */
- goto out;
- }
-
- result = SetRexxVarFromMsg(variable_name,value,message);
-
- out:
-
- return(result);
-}
diff --git a/library/amiga_setsuperattrs.c b/library/amiga_setsuperattrs.c
deleted file mode 100644
index cc59aed..0000000
--- a/library/amiga_setsuperattrs.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * $Id: amiga_setsuperattrs.c,v 1.4 2005-02-25 10:14:20 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __PPC__
-
-/****************************************************************************/
-
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-STATIC ULONG
-SetSuperAttrsA(Class * cl,Object * obj,struct TagItem * tags)
-{
- ULONG result = 0;
-
- ENTER();
-
- SHOWPOINTER(cl);
- SHOWPOINTER(obj);
- SHOWPOINTER(tags);
-
- assert( cl != NULL && obj != NULL );
-
- if(cl != NULL && obj != NULL)
- {
- struct opSet ops;
-
- ops.MethodID = OM_SET;
- ops.ops_AttrList = tags;
- ops.ops_GInfo = NULL;
-
- result = CallHookA(&cl->cl_Super->cl_Dispatcher,obj,&ops);
- }
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-ULONG
-SetSuperAttrs(Class * cl,Object * obj,ULONG tag1,...)
-{
- ULONG result = 0;
-
- ENTER();
-
- SHOWPOINTER(cl);
- SHOWPOINTER(obj);
- SHOWVALUE(tag1);
-
- assert( cl != NULL && obj != NULL );
-
- if(cl != NULL && obj != NULL)
- result = SetSuperAttrsA(cl,obj,(struct TagItem *)&tag1);
-
- RETURN(result);
- return(result);
-}
-
-/****************************************************************************/
-
-#endif /* __PPC__ */
diff --git a/library/amiga_timedelay.c b/library/amiga_timedelay.c
deleted file mode 100644
index 5918d2e..0000000
--- a/library/amiga_timedelay.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * $Id: amiga_timedelay.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-
-/****************************************************************************/
-
-#include
-
-/****************************************************************************/
-
-LONG
-TimeDelay(LONG unit,ULONG seconds,ULONG micros)
-{
- struct timeval tv;
- LONG error;
-
- tv.tv_secs = seconds;
- tv.tv_micro = micros;
-
- error = DoTimer(&tv,unit,TR_ADDREQUEST);
-
- return(error);
-}
diff --git a/library/amiga_waitbeam.c b/library/amiga_waitbeam.c
deleted file mode 100644
index 4167be1..0000000
--- a/library/amiga_waitbeam.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * $Id: amiga_waitbeam.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-#include
-
-#include
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#include "debug.h"
-
-/****************************************************************************/
-
-#define DO_NOTHING ((void)0)
-
-/****************************************************************************/
-
-VOID
-waitbeam(LONG position)
-{
- while(position > VBeamPos())
- DO_NOTHING;
-}
diff --git a/library/build_archive_amiga b/library/build_archive_amiga
deleted file mode 100755
index 0dfde7e..0000000
--- a/library/build_archive_amiga
+++ /dev/null
@@ -1,31 +0,0 @@
-; Simple release archive build script for Amiga systems.
-
-; Set the name of the archive and the directory the
-; files go into
-set dir_name clib2-1.`type c.lib_rev.rev`
-
-; Start with a clean slate
-delete all quiet ram:$dir_name
-
-; Create the directory, copy all the libraries, header files
-; and release note files inside.
-makedir ram:$dir_name
-copy lib ram:${dir_name}/lib all clone quiet
-copy include ram:${dir_name}/include all clone quiet
-copy changes ram:$dir_name clone
-
-; Delete the CVS data from the include directory
-delete ram:${dir_name}/include/CVS ram:${dir_name}/include/sys/CVS all quiet
-
-; Finally, create an lha archive in RAM:
-pushcd ram:
-lha -r -x -a a ${dir_name}-gcc-68k.lha ${dir_name}
-popcd
-
-; Move the archive back to this directory
-copy ram:${dir_name}-gcc-68k.lha "" clone
-
-; Clean up...
-delete ram:$dir_name all quiet
-unset dir_name
-
diff --git a/library/build_archive_unix.sh b/library/build_archive_unix.sh
deleted file mode 100755
index d6e4e8e..0000000
--- a/library/build_archive_unix.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-# Simple release archive build script for Unix systems.
-# I typically build the library with a cross compiler.
-
-# Set the name of the archive and the directory the
-# files go into
-export dir_name=clib2-1.`cat c.lib_rev.rev`
-
-# Start with a clean slate
-rm -rf $dir_name
-
-# Create the directory, copy all the libraries, header files
-# and release note files inside.
-mkdir $dir_name
-cp -a lib $dir_name
-cp -a lib.threadsafe $dir_name
-cp -a include $dir_name
-cp changes $dir_name
-
-# Delete the CVS data from the include directory
-rm -rf ${dir_name}/include/CVS ${dir_name}/include/sys/CVS
-
-# Finally, create an lha type 5 archive; the Amiga LhA port
-# can unpack it.
-lha ao5q ${dir_name}-gcc-os4.lha ${dir_name}
-
diff --git a/library/c.lib_rev.c b/library/c.lib_rev.c
deleted file mode 100644
index 8361ca7..0000000
--- a/library/c.lib_rev.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * $Id: c.lib_rev.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "c.lib_rev.h"
-
-/****************************************************************************/
-
-char __c_lib_version[] = VERSTAG;
diff --git a/library/c.lib_rev.h b/library/c.lib_rev.h
deleted file mode 100644
index 8f73686..0000000
--- a/library/c.lib_rev.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#define VERSION 1
-#define REVISION 193
-#define DATE "4.6.2005"
-#define VERS "c.lib 1.193"
-#define VSTRING "c.lib 1.193 (4.6.2005)\r\n"
-#define VERSTAG "\0$VER: c.lib 1.193 (4.6.2005)"
diff --git a/library/c.lib_rev.rev b/library/c.lib_rev.rev
deleted file mode 100644
index 2455a46..0000000
--- a/library/c.lib_rev.rev
+++ /dev/null
@@ -1 +0,0 @@
-193
diff --git a/library/changes b/library/changes
deleted file mode 100644
index 42679d0..0000000
--- a/library/changes
+++ /dev/null
@@ -1,4067 +0,0 @@
-- Added getopt_long to libunix.a
-
-- Added new libprofile.a which implements gprof gmon.out output
-
-- Added the function profil() to libc.a
-
-- Added ftello() and fseeko() which both merely call the equivalent (at
- least for clib2) ftell() and fseek() functions, respectively.
-
-- statfs() never stated that a disk was mounted for read-only access
- because the wrong InfoData structure member was tested. Fixed.
-
-- lstat would overwrite the name parameter via ReadLink(..., name, ...)
- instead of ReadLink(..., new_name, ...)
-
-- Implemented exp2()/exp2f() and log2()/log2f() as suggested by
- Henning Nielsen Lund. Thank you very much!
-
-- The pattern matching code which expands command line arguments, as part
- of libunix.a, now translates the "*" wildcard into "#?" unless you prefix
- it with a backtick ("`"), which is the wildcard pattern escape character
- used on AmigaOS.
-
-- Repaired the pattern matching code which expands command line arguments:
- it no longer requires that any parameters are quoted and it is automatically
- enabled if you link against libunix.a, without libc.a standing a chance to
- accidentally override it.
-
-- Fixed a bug in vfprintf that would surface when the buffer was enlarged
- if the pattern was too large to fit the static internal buffer
-
-- Added file system names to statfx
-
-- Moved all the constructor code out of "stdlib_init_exit.c" and into the
- files which initialize global data, such as the new "stdlib_program_name.c"
- and "stdlib_malloc.c".
-
-- Until I can find a way to invoke it from within the library, the
- __machine_test() function is no longer invoked.
-
-- Tagged global data with NOCOMMON attributes.
-
-- Added the __lib_init() and __lib_exit() functions, which are part of the
- thread-safe library and which can be used to hook up clib2 with standard
- Amiga shared library/device code. Some documentation on how to use them
- can be found in the header file.
-
-
-c.lib 1.193 (4.6.2005)
-
-- fpclassify() now returns FP_ZERO both for 0 and -0.
-
-- nan() and nanf() now return quiet NaNs.
-
-- Added internal __inf() and __inff() functions.
-
-- strtof() now calls nanf() and __inff(), respectively, to produce
- the special floating point values for nan/inf/infinity.
-
-- strtod() now calls nan() and __inf(), respectively, to produce
- the special floating point values for nan/inf/infinity.
-
-- The scanf() family now calls nan() and __inf(), respectively, to
- produce the special floating point values for nan/inf/infinity.
-
-- Added %D, %e, %F, %g, %G and %h for strftime(); repaired %I.
-
-- Documented __strip_double_slash() and plugged in a memmove()
- in place of the copying loop.
-
-- Modified __translate_unix_to_amiga_path_name() and
- __translate_amiga_to_unix_path_name() to not to call strlen()
- on the results of __strip_double_slash().
-
-- For %C strtime() should return the century number, not the
- year number mod 100.
-
-- The record locking code in fcntl() is no longer part of the
- regular libc.a, but only of libunix.a.
-
-- Changed the definition of the D_S() macro to cast the pointer
- address to an unsigned 32 bit integer.
-
-- Modified the locale-aware isalnum(), isalpha(), iscntrl(),
- isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(),
- isupper(), isxdigit(), tolower() and toupper() functions
- to clamp the input parameter to the "unsigned char" range before
- it is submitted to the respective locale.library function. This
- should be in sync with what the specs demand, which state that
- if the input parameter is neither EOF nor in the range of an
- "unsigned char" variable, then the results are undefined.
-
-- ungetc() now returns the input character, clamped to an unsigned
- char value, upon success. Previously, if the input parameter was
- negative and not EOF, the result was identical to the input, which
- could have had negative side-effects.
-
-- Added NAN, INFINITY, FLT_EVAL_METHOD, float_t and double_t to
- (C99).
-
-- Added skeleton code for acosf(), acosh(), acoshf(), asinf(), asinh(),
- asinhf(), atan2f(), atanf(), atanh(), atanhf(), cbrt(), cbrtf(),
- ceilf(), cosf(), coshf(), erf(), erfc(), erfcf(), erff(),
- exp2(), exp2f(), expf(), expm1(), expm1f(), fdim(), fdimf(),
- floorf(), fma(), fmaf(), fmax(), fmaxf(), fmin(), fminf(),
- fmodf(), frexpf(), hypotf(), ilogb(), ilogbf(), ldexpf(), lgamma(),
- lgammaf(), log10f(), log1p(), log1pf(), log2(), log2f(), logbf(),
- logf(), lrint(), lrintf(), lround(), lroundf(), modff(), nearbyint(),
- nearbyintf(), powf(), remainder(), remainderf(), remquo(), remquof(), round(),
- roundf(), scalbn(), scalbnf(), sinf(), sinhf(), sqrtf(), tanf(),
- tanhf(), tgamma(), tgammaf(), trunc() and truncf(), to be filled in
- later...
-
-- Implemented fmin()/fminf(), fmax()/fmaxf(), fdim()/fdimf() for C99.
-
-- Ported acosf(), asinf(), atan2f(), atanf(), ceilf(), expf(), floorf(),
- fmodf(), frexpf(), ldexpf(), log10f(), logbf(), logf(), modff(), powf(), sqrtf(),
- scalbn() and scalbnf() for C99.
-
-- Ported cbrt(), cbrtf(), erf(), erff(), erfc(), erfcf(), expm1(),
- expm1f(), ilogb(), ilogbf(), log1p() and log1pf() for C99.
-
-- Ported cosf(), coshf(), sinf(), sinhf(), tanf(), tanhf()
- and hypotf() for C99.
-
-- Ported acosh(), acoshf(), asinh(), asinhf(), lgamma(), lgammaf(),
- remainder() and remainderf() for C99.
-
-- The scanf() family now supports character ranges for the %[
- conversion. Note that this is a non-standard feature!
-
-- Integrated Peter Bengtsson's termios code. Thank you very much! I chose
- to add it to libunix.a rather than keeping it in a separate libtermios.a
- library.
-
-
-c.lib 1.192 (12.5.2005)
-
-- Changed how errors are detected, as returned by Write(), Read() and
- Seek(). Seek() is particularly challenging because the value it
- returns might be a valid file position and not an error.
-
-- Replaced numeric function return codes of 0 and -1 with macros OK,
- SEEK_ERROR/ERROR to clarify the respective purposes.
-
-- Changed how ftell() and fseek() are used, double-checking the return
- value and the errno code.
-
-- The record locking semaphore could wind up getting added to the public
- list twice. Fixed.
-
-- Fixed two linker errors which were caused by duplicate symbol definitions.
-
-- Added code to the startup routine which allows you to monitor where a command
- was started from and which parameters it was invoked with.
-
-- If fread()/fwrite() fail to read/write any data because either the number
- of records or the size of each record is zero, both now call clearerr() to
- avoid giving the caller the wrong impression that an EOF or error occured.
-
-- The libunix.a flavour of system() no longer attempts to translate the name
- of a command unless it contains path separator characters.
-
-- Added strtof(), llabs(), lldiv(), vsscanf() and vscanf() for C99.
-
-- strftime() now supports %C, %n, %r, %R, %t, %T, %u, %V, and %z for C99.
- And it ignores the E and O modifiers.
-
-- The printf() family now supports the %hh, %j, %t and %z modifiers and the
- %a/%A conversions for C99. The %j is treated like %ll; %t and %z are treated
- like %l. Also, the "infinity"/"not a number" signals now come out as the
- strings "inf" and "nan".
-
-- Added HUGE_VALF to .
-
-- For the printf() "%a" conversion the exponent now comes out as a binary
- number rather than a decimal one. Now how odd is that?
-
-- strtod() and strtof() now support "inf"/"infinity"/"nan"/"nan(..)" and
- hexadecimal floating point numbers, for C99.
-
-- Added the fpclassify(), isfinite(), isnormal() and signbit() macros for C99.
-
-- Reimplemented isnan() and isinf() as macros for C99. The corresponding
- functions will be dropped from the library. Note that the isinf() macro
- does not return -1, 0 or 1 like the old function did, but only 0 or 1
- depending upon whether the parameter represents +/- infinity or not.
-
-- Added fabsf() for C99.
-
-- The scanf() family now supports the %hh, %j, %t and %z modifiers and the
- %a/%A conversions for C99. The %j is treated like %ll; %t and %z are treated
- like %l. Also, the "inf"/"infinity"/"nan"/"nan()" keywords are processed.
-
-- The strftime() %z conversion now prints the time zone difference as a
- "decimal" number. That is, if the difference is 5 hours and 30 minutes,
- then %z will now print "530" rather than "330".
-
-- mktime() now handles one leap second gracefully.
-
-- Added isblank().
-
-- Added isunordered(), isgreater(), isgreaterequal(), isless(),
- islessequal() and islessgreater() to for C99.
-
-- The wchar_t type is now an 'unsigned short' integer (16 bits wide).
-
-- Added PTRDIFF_MIN/PTRDIFF_MAX, WCHAR_MIN/WCHAR_MAX and
- WINT_MIN/WINT_MAX to for C99.
-
-- Added imaxdiv() and imaxabs() for C99.
-
-- Added strtoimax() and strtoumax() for C99.
-
-- Added nextafter() and nextafterf() for C99.
-
-- Added copysign() and copysignf() for C99.
-
-- Unless I missed something, clib2 should now be functionally complete
- with regard to C99, except for the floating point operations covered.
- These are a major challenge all by themselves, and I wonder both
- whether they are worth the effort and how one could implement them
- correctly.
-
-- fflush() now consistently supports a NULL parameter, causing all
- streams to be flushed for which this behaviour is defined.
-
-- The printf() family can now produce output for floating point
- numbers with more than about 77 characters, provided sufficient
- memory is available. C99 calls for a minimum of 4095 characters,
- but we're trying to allocate the space required dynamically.
-
-
-c.lib 1.191 (9.4.2005)
-
-- The name of the public record locking semaphore has to be preallocated
- for OS4 if the AllocSysObject() function is used to create it.
-
-- Moved the signal block mask and the signal function table out of
- signal_data.c and into signal_raise.c where they are actually used.
- This makes it possible to override the default definition of the
- __check_abort_enabled variable in your own programs.
-
-- raise() no longer resets the signal handler before it invokes the one
- currently configured. It merely blocks the delivery of the respective
- signal to prevent recursion.
-
-- raise() now drops into abort() if a signal handler is set to
- SIG_DFL. The exception is in SIGINT delivery, which has the
- effect of printing a different termination message but otherwise
- program flow takes the same path as abort().
-
-- Moved the __UtilityBase/__IUtility variable declarations into
- a separate file.
-
-- Simplified the library/open close code in "stdlib_main.c".
-
-- File descriptors produced by dup() or dup2() now work exactly like
- the original file descriptors they are duplicates of. I modified the
- function which maps file descriptor numbers to file descriptor
- table entries to return the table entries of the original files.
-
-- In the thread-safe library, duplicated stdin/stdout/stderr
- descriptors now work like the "real" ones. This is true even if
- the "real" ones were closed and only their former aliases remain.
-
-- Invoking fstat() on what maps to a con-handler stream now produces
- information identifying it as a character special file.
-
-- Added more code and changes contributed by Peter Bengtsson, thank you
- very much! This includes the following:
-
- - Added SSIZE_MAX to .
-
- - Added , readv() and writev().
-
- - Cut back the soft link resolution code in lstat().
-
- - In O_NDELAY is now an alias for O_NONBLOCK.
-
- - Added , carg(), cargf(), cargl(), cimag(), cimagf(),
- cimagl(), conj(), conjf(), conjl(), creal(), crealf() and creall().
-
- Note that the C99 support for the complex floating point data
- types is limited to GCC 3.x for now.
-
-- Added va_copy() to .
-
-- Added _Exit() to .
-
-- Added .
-
-- Added vfscanf() to .
-
-- The stdio locking in fcntl() wasn't working correctly. Fixed.
-
-- Made the clearerr(), feof() and ferror() macros thread-safe.
-
-
-c.lib 1.190 (25.3.2005)
-
-- DoTimer() now calls AllocSysObject() rather than making up
- a MsgPort locally.
-
-- The record locking semaphore code now builds a semaphore to add
- before it tries to find the public one in memory. That way, the
- code can spend less time in Forbid() state and, heaven forbid,
- refrain from allocating memory while in that state.
-
-- Split the general stdio initialization/cleanup code from the
- initialization of the stdin/stdout/stderr streams.
-
-- Moved the Workbench console stream initialization into the
- initialization code for the stdin/stdout/stderr streams and
- out of the program parameter setup.
-
-- The current program name is now set up in the stdlib
- initialization function.
-
-- Simplified the machine test code; moved the FPU check into
- the math initialization code.
-
-- Added more safety checks to verify that file descriptor
- file handles are valid.
-
-- Made the file descriptor checks in the fsync() and fdatasync()
- functions more robust.
-
-- Cleaned up the 68k build makefile, so that the CPU and FPU
- tests and the error message display can run safely even
- on plain 68000 machines. This won't work for the 32 bit small
- data model, which implies 68020 code, but so there...
-
-- Moved the CPU/FPU type tests into the respective linker
- libraries.
-
-- Moved the data declarations out of math_data.c, stat_data.c,
- socket_data.c, dirent_data.c and stdio_data.c and into the
- code that initializes them.
-
-- Moved a few __delete_semaphore() calls into conditional compilation
- sections where they should have been in the first place.
-
-- Thanks to Jörg Strohmayer, the GCC library build now manages to
- invoke the library's constructor/destructor functions in a
- very particular order. That way, you can use constructor/destructor
- functions in your own code and not have them clash with the library's
- own functions.
-
-- Reimplemented the constructor/destructor invocation code for GCC.
- Both the 68k and PowerPC platform now invoke them in the same order
- and the 68k code uses the designated invocation priorities. The
- PowerPC destructor function now sets up the exit() jmp_buf before
- the destructor functions are called.
-
-- Added S_IREAD, S_IWRITE and S_IEXEC aliases to .
-
-- Moved data out of stdlib_data.c and into the code that references
- or initializes it.
-
-- The stdlib constructor now performs the CPU/FPU compatibility test.
-
-- Introduced new constructor types and changed the overall priority
- order.
-
-- Switched over the startup code and the library itself to use
- constructor/destructor functions for initialization and cleanup
- purposes.
-
-- The destructor function invocation code no longer calls
- setjmp(). This is now done within stdlib_main.c prior to
- calling the destructor function invocation code.
-
-- Fixed the SAS/C destructor function prototypes and verified
- that the constructors/destructors are called in the proper
- order, too.
-
-- Aliases of file descriptors are now using the signal semaphore
- of the original file descriptor.
-
-- close() did not return 0 if the file descriptor in question
- was really just an alias. Fixed.
-
-- Added a feature which makes it possible to have several clients
- use the standard I/O streams (stdin/stdout/stderr) and have these
- referring to their process' Input()/Output()/ErrorOutput()
- streams. This is intended to support the upcoming shared
- library feature.
-
-- Turns out that the 68k GCC port does not sort constructor and
- destructor functions in any way at all. I reimplemented the
- entire library constructor/destructor functionality to use the
- same approach as libnix.
-
-- ftruncate() ended up changing the current file position, contrary
- to what it is supposed to do. Fixed.
-
-- fcntl() did not work for sockets. Fixed.
-
-- Reorganized the local header files, removing redundancies.
-
-- Dropped unused stub code which is now redundant because of
- the constructor/destructor mechanism.
-
-- Moved the call chain printing out of stdlib_main.c and into
- separate files.
-
-- Removed some more redundant data from stdlib_main.c.
-
-- Added the first "real" C99 function: _Exit() ;-)
-
-- assertion failures early on during program initialization
- should no longer spell big trouble on account of the stdio
- data structures possibly not being in a well-defined and
- initialized state.
-
-- Turns out that the constructor/destructor calling sequence
- was still wrongish for the OS4 library. So I had to change
- it *again*. Which probably means that the 68k library will
- need further changes...
-
-- Moved stdlib_main.o into the regular libc.a, at least for
- the 68k build. The PowerPC build may follow later, provided
- I manage to get the specs file fixed. Actually, stdlib_main.o
- is in the libc.a library already. Now about that specs file...
-
-- Moved the check for the presence of an FPU into the
- math_init.c code. I am far from certain whether this will
- have the desired effect, though. Due to how the GNU ld linker
- works, libraries are scanned once only. And the FPU check will
- be pulled in only if something references the HUGE_VAL
- constant.
-
-- Activated the dormant thread-safe standard input/output/error
- handling code.
-
-- Small fixes to fcntl() and select() to cover the thread-safe
- fd->fd_DefaultFile == ZERO case.
-
-
-c.lib 1.189 (5.3.2005)
-
-- Rewrote the __translate_unix_to_amiga_path_name() function to
- translate patterns such as "foo/bar/../../baz" properly, and to
- use strlen() a lot less.
-
-- Major, major changes! Moved most of the monolithic code out of
- the file descriptor hook and into the respective functions,
- such as dup2(), fchmod(), fchown(), fcntl(), fdatasync(), fstatfs(),
- fsync(), ftruncate() and lseek(). Code which is not strictly
- required will no longer find its way into your programs if you
- link with the updated library.
-
- NOTE: these changes require that the entire library is rebuilt!
-
-- The buffered and unbuffered file hook code is now invoked through
- function pointers alone. The utility.library/CallHookPkt mechanism
- is no longer required.
-
-- Moved the entire lseek() code relevant for files into the hook
- function.
-
-- Simplified the close() function which now just calls into the
- hook code to perform whatever is necessary. The hook code is
- responsible for cleaning up after aliases, etc. This change in
- turn made it possible to greatly simplify the hook code for
- buffered files which now bypasses close/read/write/lseek and
- directly invokes the hook code for unbuffered files.
-
-- Added various floating point constants to , courtesy
- of Henning Nielsen Lund. Thank you very much!
-
-- When using the wildcard expansion code for command line
- parameters (which is by default linked in with libunix.a),
- regular expressions can no longer prompt dos.library requesters
- to appear. However, to be on the safe side, if you are expecting
- to pass regular expressions on the command line, do not use
- the wildcard expansion code such as by overriding the library
- symbols with dummy functions such as are used in the file
- "stdlib_wildcard_expand.c".
-
-- Added a new variable '__open_locale' which can be used to
- restrict all library functions to use the "C" language locale
- rather than the current system locale settings. In addition
- to that, two new functions __locale_exit() and __locale_init()
- can be used to close and (re-)open the system locale at a
- later time.
-
-- Local ("static") functions are now identified by the STATIC
- qualifier. This was done in preparation for changes that will
- deal with global and local data and the issue of thread safety.
-
-- Added stdio thread locking functions flockfile(), funlockfile(),
- and ftrylockfile().
-
-- Modified the internal FILE structure to allow for thread locking.
- Note that this again requires that the library is rebuilt!
-
-- Added or modified macros for getc_unlocked(), getchar_unlocked(),
- putc_unlocked() and putchar_unlocked().
-
-- Added rand_r().
-
-- Added flockfile()/funlockfile() wrappers around all stdio
- functions.
-
-- Added more semaphore locking around the basic stdio, memory, locale
- and dirent data operations. That should do it! While the library is
- not reentrant (this is not ixemul.library) it should be thread-safe
- now. Thread-safe in the sense of POSIX 1003.1c-1995.
-
-- The thread-safety code is now subject to conditional compilation.
- Both the library and the user code need to be rebuilt with the
- preprocessor symbol __THREAD_SAFE defined to get thread-safe
- code.
-
-- Extended the thread-safety locking to the file descriptors.
-
- NOTE: these changes require that the entire library is rebuilt!
-
-- The translation of Unix to Amiga path names now silently accepts
- absolute Amiga path names passed to it and will use them without
- changing them.
-
-- Added atoll(), ffs(), ftw(), nftw(), lstat() and uname() code
- contributed by Peter Bengtsson. Thank you very much!
-
-- Reworked the code that handles quoting for the wildcard expansion
- routine. We no longer allocate memory and then modify it, but
- call a function for each quoted parameter which does whatever is
- necessary.
-
-- The shell command parameter parser now considers the non-breaking
- space character (ISO code 160) to be a blank space character, too.
-
-- Moved the signal semaphore allocation/initialization/deallocation
- into a dedicated module. This also has the advantage that it's
- harder to break code by accidentally forgetting to call
- InitSemaphore() after having allocated the memory for it.
-
-- Rewrote the code that allocates the file descriptor and file
- buffer tables so that all the memory allocations are in one
- place and it's possible to specify exactly how many table
- entries are required at a time.
-
-- Creation and initialization of semaphores now uses the AmigaOS4
- specific functions for this purpose, if available.
-
-- In the thread-safe variant, the library now tries to allow
- multiple concurrent callers to use the socket functions. Note
- that this works only with the Roadshow TCP/IP stack, and the
- results with other TCP/IP stacks are rather unpredictable.
-
-
-c.lib 1.188 (7.2.2005)
-
-- Folded duplicate code in "stdio_init_exit.c" into a common function.
-
-- Simplified the code in "time_asctime_r.c" which builds the time
- string. It gracefully handles buffer sizes which are too short
- by returning an empty string.
-
-- Moved the "tm->tm_wday" initialization out of the hook function
- in "time_strftime.c" since it was to be called only once anyway.
-
-- Lost a few compiler warnings in "unistd_time_delay.c" and
- "time_gettimeofday.c".
-
-- Folded duplicate code in "time_mktime.c"; also, errno is no longer
- modified unless the library is built with the "CHECK_FOR_NULL_POINTERS"
- option.
-
-- We now allocate the AnchorPath used in the unistd_wildcard_expand.c
- code. Also, the contents of the AnchorPath structure are no longer
- modified between calls. MatchEnd() has to be sufficient.
-
-- Moved redundant code out of the readdir()/opendir()/closedir()
- functions which is not required unless the code is built for
- Unix compatibility mode.
-
-- Lost the __not_a_number and __infinity variables, including the
- code which initialized them.
-
-- Reading/changing the errno variable is no longer done directly, but
- involves accessor functions.
-
-- References to the HUGE_VAL quantity now involve an accessor function, too.
-
-- Changed the manner in which the __huge_val constant is initialized by
- the __math_init() function. The new approach should be more portable.
-
-- The library no longer sends ACTION_DISK_INFO packets to the console
- handler. The side-effects were too varied and irritating after all.
-
-- Added the fsync() and fdatasync() functions and the and
- header files contributed by Peter Bengtsson. Thank
- you very much!
-
-- Tweaked the build makefiles to produce fewer meaningless warnings.
-
-
-c.lib 1.187 (29.1.2005)
-
-- The default console output window opened when a program is launched
- from Workbench would open and stay open. This was not intended to
- happen and is a side-effect of the new stdio initialization code which
- checks if the stdio streams are in non-blocking mode. Fixed.
-
-- Moved the common DateStamp to time_t conversion code into a shared
- function.
-
-- The fall-back function for converting time into a string in strftime()
- now calls itself for the "%c", "%x" and "%X" format specifiers.
-
-- mktime() is supposed to convert the time specification, given as local
- time, into the number of seconds since January 1st, 1970, relative to
- UTC. This didn't really work up until now since the time value returned
- was given as local time.
-
-- Plugged in a different algorithm for calculating the day of the week in
- strftime() and asctime_r(). This one isn't sensitive to the effects of
- adding/subtracting the local time zone.
-
-- Changed the algorithm that calculates the number of days that have passed
- so far as used by the the __convert_time() function and the conversion
- code in strftime().
-
-- Also changed the algorithm used by strftime() to produce the week numbers
- (the '%U' and '%W' format specifiers). The new method is much simpler
- than the old one.
-
-- Made the code that converts a 'time_t' value into the 'struct DateStamp',
- as used by strftime() and utime(), into its own function. This also
- fixes a bug in the code strftime() would use which was completely
- unaware of the local time zone settings.
-
-
-c.lib 1.186 (14.1.2005)
-
-- Redirecting stderr to a file no longer has the effect of showing error
- messages and assertion failure notifications as requesters. The exception
- is in redirecting stderr to NIL: which will prompt the requester use.
-
-- gettimeofday() now calls GetSysTime() rather than DateStamp() to obtain
- the current system time. This resolves granularity issues since the
- DateStamp() result was only accurate by 1/50 of a second.
-
-- The "ptrdiff_t" definition in now defaults to type 'int' rather
- than 'long int'.
-
-- The "char" limits in are now set up according to the current
- compiler settings, which can either default to an unsigned or
- signed definition.
-
-- Changed the rules again for the use of stderr/stdout redirection when
- printing error messages. It is always safe to redirect them now and
- no requester will appear unless you specifically set the value of the
- "__no_standard_io" variable to TRUE in your program.
-
-- Removed a misplaced IsInteractive() from the stdio initialization
- function. Now this could have been big trouble...
-
-- Removed tests for FileHandle->fh_Type != NULL which used to precede
- all IsInterative() tests. I verified that IsInteractive() will always
- return FALSE for NIL: type file handles.
-
-- Dropped the special flag variable used by the abort() function that
- tracks whether or not console output is possible. We now use the
- global "__no_standard_io" instead.
-
-- Made the macros more robust.
-
-- Removed the "NIL:" file handle tests preceding the Open("CONSOLE:",..)
- calls. As of Kickstart 2.x and beyond these are no longer a source of
- trouble.
-
-- The V37/V40 compatibility code is no longer built for the AmigaOS4
- version of the library.
-
-- Switched over the last use of DeviceProc() to GetDeviceProc(), etc.
-
-- open() no longer examines a file after opening it in order to figure
- out whether read/write accesses are permitted. This decision is now
- for the file system to make.
-
-- Whether or not stdio console streams are blocking or non-blocking
- is now determined at initialization time. The I/O mode is restored before
- the program exits. Previously, any changes to the I/O mode would persist.
-
-- Lost some more code that is not required for AmigaOS 4.x and can be
- handled conveniently through conditional compilation.
-
-- close() did not reset the non-blocking file property, as it should
- have. This only worked for files which were closed anyway, but not
- for the stdio streams. Fixed.
-
-- Added a missing definition to stdio_init_exit.c which is part of
- the OS4 header files, but not of the older header file distributions.
-
-
-
-c.lib 1.185 (2.1.2005)
-
-- Moved the environment variable cleanup code into a destructor function.
-
-- Fixed a typo in the hstrerror() function.
-
-- The common error reporting function __show_error() could throw Enforcer
- hits if the program was not launched from Shell. Fixed.
-
-- Moved the memory initialization and cleanup functions into the
- malloc/free code itself and updated the alloca code to do its
- own data management.
-
-- Finally optimized the alloca() memory cleanup code.
-
-- Tried to make it possible to have debug versions of the memory
- management code in the default link library along with the
- normal versions. Let's see how well this works out in the GCC
- version. SAS/C does not seem to like it...
-
-- Changed the definition of alloca() for GCC, which now defaults
- to the built-in function.
-
-- Updated the stdio.h, stdlib.h, string.h and unistd.h header files
- to declare function prototypes for the __MEM_DEBUG versions of the
- library functions only if that preprocessor symbol is defined.
-
-- If a SIGINT signal is caught and processed by the default signal
- handler, the localized "*** BREAK" string will be printed rather
- than the built-in one.
-
-- The data structure alignment (file I/O buffer) is now configurable
- at compile time. The default used to be 16 bytes, which is appropriate
- for the 68040/68060 but not for the PowerPC, which uses 32 or 128
- bytes per cache line.
-
-- fwrite() now flushes the entire "buffer" for unbuffered files. The
- exception are "interactive" files such as console windows. For these
- line buffered output is used.
-
-- Whether or not a file is bound to an interactive device, such as a
- console window, is now checked and remembered after a file descriptor
- has been associated with it.
-
-
-c.lib 1.184 (28.11.2004)
-
-- Added asctime_r(), ctime_r(), gmtime_r(), localtime_r() and strtok_r().
-
-- Added stubs for the Rexx Variables Interface code that used to
- be part of amiga.lib. While comparable functionality is available
- in rexxsyslib.library V45, the new stubs might be helpful during
- porting. Care must be taken since these functions don't work
- exactly like the originals.
-
-- Integrated strlcpy() and strlcat() which are intended to be safer
- replacements for strncpy() and strncat().
-
-- The program's task priority is now configurable through an external
- variable '__priority'.
-
-- The process name to be used when detaching can be configured through
- the new '__process_name' variable.
-
-- The minimum required operating system version can be configured
- through the new '__minimum_os_lib_version' variable; a matching
- error message can be provided through the new '__minimum_os_lib_error'
- variable.
-
-- The default console window specification can be overriden through
- the new '__stdio_window_specification' variable.
-
-- The socket initialization code did not set up a reference to the
- 'h_errno' variable correctly. This had the effect of making name
- and address resolution errors trash the 'errno' variable instead
- and leaving 'h_errno' always set to 0. Fixed.
-
-- For sockets, ioctl() and fcntl() now interact on the FIONBIO/FIOASYNC
- requests (ioctl) and the O_NOBLOCK/O_ASYNC flags (fcntl).
-
-- popen() now accepts "rb" and "wb" as mode parameters. However, "r+",
- "w+" and variants thereof are still unsupported due to the
- unidirectional pipe support in the standard "PIPE:" device.
-
-
-c.lib 1.183 (13.11.2004)
-
-- Cleaned up the OS4 build makefile, losing redundant libraries,
- adding more startup object code and ultimatively making the whole
- rebuild logic work again: if code changes and dependencies are
- set up correctly, it will now get rebuilt. Previously, such
- changes went unnoticed and you had to rebuild the entire library
- from scratch.
-
-- Added stubs for CreatePort(), DeletePort(), CreateTask(), DeleteTask()
- and NewList() which have equivalents in exec.library V50 but for which
- it might be useful if ported code didn't have to reference these
- explicitly.
-
-- mktemp() was broken in libunix.a with Unix path semantics enabled.
- This was because the name template was translated and translated
- back again, overwriting the translation buffer. This, funny enough,
- broke Samba's printing feature. Fixed by translating the name only
- before each test for "uniqueness" is made. The new code also handles
- empty "" templates gracefully, which was a problem with both the
- "standard" and the Unix path semantics flavour.
-
- Why is it that I find bugs like this always after having just
- released another library update?
-
-
-c.lib 1.182 (8.11.2004)
-
-- Changed the error abort condition for the %s conversion of the
- scanf() family. It now matches the abort conditions for all other
- conversions and no longer ignores whether any other parameters were
- converted before. This was a quirk in the older implementation.
-
-- The scanf() family now accepts %E and %G in place of %f and %X in
- place of %x.
-
-- Simplified the common code that fopen(), freopen() and fdopen()
- share and which has to figure out by looking at a file access
- mode specification which parameters should be used.
-
-- Dropped error detection in the scanf() family. The EOF has to be
- good enough. Also, ungetc() failure still leads to error handling.
-
-
-
-c.lib 1.181 (26.10.2004)
-
-- The scanf() family now always returns the number of assignments made
- unless an error occured or an EOF was hit during conversion before the
- first assignment could be made.
-
-- strtok() did not terminate properly if the last token in the string
- did not end with a separator character but with a '\0' byte. Fixed.
-
-- The directory scanning functions opendir/closedir did not get the global
- directory data tracking data structure initialized which later led to
- Enforcer hits and maybe trashed memory. Fixed.
-
-
-c.lib 1.180 (23.10.2004)
-
-- The printf() family now produces no output at all for %e, %f and %g if the
- floating point support code is disabled. Previously, a minimum field width
- specification could take effect, printing a series of 0 or blank space
- characters where no output should have been produced.
-
-
-c.lib 1.179 (22.10.2004)
-
-- The scanf() family no longer assumes that a leading '0' indicates that the
- following digits form an octal number if the conversion type has been
- specified as already '%x' already.
-
-
-c.lib 1.178 (7.10.2004)
-
-- The OS4 version had floating point math support code enabled in all
- libraries and not just "libm.a". Fixed.
-
-
-c.lib 1.177 (29.9.2004)
-
-- Moved the locale initialization/cleanup code into constructors
- and destructors.
-
-- The socket cleanup function is now a destructor.
-
-- The math cleanup function is now a destructor.
-
-- The wildcard cleanup function is now a destructor.
-
-- The stdio cleanup function is now a destructor.
-
-- The stack extension cleanup function is now a destructor.
-
-- The code that cleans up after the program's current directory
- was changed is now a destructor function.
-
-- Moved the initialization/cleanup code for unlink() into constructors
- and destructors.
-
-- Moved the initialization/cleanup code for usergroup.library into
- constructors and destructors.
-
-- Added usleep(), and created wrapper code that both sleep() and
- usleep() can use.
-
-- Added strtoll() and strtoull(), with further changes to
- and .
-
-- The socket exit code now calls the common stdio function which
- flushes and shuts down all buffered and unbuffered files.
-
-- Fixed the stack swapping function which, for reasons unknown, ceased
- to work...
-
-- The start time used by clock() is now initialized by a constructor
- function.
-
-- NOTE THAT ALL THE CHANGES WITH REGARD TO USE OF DESTRUCTOR AND
- CONSTRUCTOR FUNCTIONS REQUIRE A COMPLETE REBUILD OF THE LIBRARY! IF
- YOU DO NOT DO THIS, THE CONSTRUCTOR/DESTRUCTOR FUNCTIONS MAY NOT
- GET CALLED.
-
-
-c.lib 1.175 (10.9.2004)
-
-- now tries to use the compiler supplied, machine specific
- file and also includes the OS4-specifc
- file, if necessary.
-
-- Added another test to to check if the "timeval" definition is
- already in place. If it is, will not be included.
-
-- can be made to define the timeval data structure locally if
- the __USE_CLIB2_TIMEVAL preprocessor symbol is defined. In this case no
- or file will be read.
-
-- The sprintf() family did not properly handle empty strings as format
- specifications. This would result in a necessary buffer flush action
- getting skipped, which consequently did not put the string termination
- character into the output buffer.
-
-
-c.lib 1.174 (27.8.2004)
-
-- The parameters of atan2() were swapped. Fixed.
-
-- Merged fdlibm 5.3 changes with __kernel_tan(), __exp() and __pow()
- functions.
-
-- Replaced the rint() and rintf() functions with the fdlibm code.
-
-
-c.lib 1.173 (25.8.2004)
-
-- The header file was missing the C++ 'extern "C" { .. }'
- declarations.
-
-- Added a new function __get_default_file() which allows direct access
- to the low level file handle/socket descriptor associated with a
- file descriptor.
-
-
-c.lib 1.172 (21.8.2004)
-
-- acos() now returns 0 for a domain error.
-
-- asin() now returns 0 for a domain error.
-
-- atan2() now returns 0 for a domain error.
-
-- fmod() now returns x if y == 0 and sets a
- domain error.
-
-- sqrt() now returns 0 for a domain error.
-
-- Added NaN and +Inf constants to the math library
- initialization code which could come in handy later.
-
-
-c.lib 1.171 (16.8.2004)
-
-- Added "math_hypot.c"
-
-- The 68k build makefile now builds the vfprintf/vfscanf functions
- with %lld/%llu support.
-
-- Split the release notes file into changes and actual release notes,
- which may overlap but differ in technical content.
-
-
-c.lib 1.170 (14.8.2004)
-
-- Added "math_logb.c", and it appears to work, too.
-
-
-c.lib 1.169 (8.8.2004)
-
-- Since the 'long double' data type is not really supported by the GCC
- versions we use (and not supported by SAS/C either) building the
- library with support code for it is now a configurable option. Unless
- enabled, 'long double' is now treated like 'double'.
-
-- Reworked the HUGE_VAL definition which previously would default to
- Infinity. The new code properly defines this to the largest
- representable floating point number. The 'great' thing about the
- HUGE_VAL definition in this library is that it's a reference to
- a binary constant initialized by the library startup code. So any
- application checking for HUGE_VAL merely needs to be relinked
- rather than recompiled.
-
-
-c.lib 1.168 (7.8.2004)
-
-- Ditched __is_infinity() and __is_not_a_number(), brought them back
- as isinf() and isnan().
-
-- Updated code and header files to state exactly which ISO 'C' version
- is meant by the "The following is not part of the ISO 'C' standard."
- warning.
-
-- Integrated rint() and rintf().
-
-
-c.lib 1.167 (29.7.2004)
-
-- Modified __is_infinity() and __is_not_a_number() to use more portable
- methods for accessing the low level representation of the IEEE 754
- numbers they work on.
-
-- Fixed a compiler warning in h_strerror()
-
-
-c.lib 1.166 (28.7.2004)
-
-- Added h_strerror() function to libnet.a; there's a global 'h_errno'
- variable available, too.
-
-- now defines a type 'sig_t'.
-
-- now allows the 'fd_set' type to be referenced as
- 'struct fd_set', too.
-
-
-c.lib 1.165 (26.7.2004)
-
-- In printf(), if the precision is 0 and the value to be printed for
- the %d, %i, %u, %o and %x conversion types is 0, no output should
- be produced. Fixed.
-
-- Fixed the rounding for %g (again). The maximum number of significant
- digits produced by a precision given for %g is different for numbers
- < 1.0 and those >= 1.0: the leading 0 for numbers < 1.0 does not count
- as a significant digit.
-
-- The calculation of the number of leading digits in a floating point
- number now uses a mixture of log10() and a fall-back just in case
- log10() returns gunk.
-
-- For floating point numbers, the sign, the digits, trailing zeroes
- and the exponent are now set up and 'assembled' separately. This
- removes the artificial limitation of floating point numbers to
- a maximum of 78 digits to follow the decimal point.
-
-
-c.lib 1.164 (25.7.2004)
-
-- The precision given for the printf() %g conversion types determines the
- number of digits to generate, not the number of digits to follow the
- decimal point. Fixed. The GCC FPU code generation now works again.
- Previously, the floating point number conversion crashed cc1 since the
- output amounted to 32 digits plus a terminating NUL, which overran the
- 30 byte buffer sprintf() stored the output in. My, this was very hard
- to find :(
-
-- Restored the floor() loop to figure out the size of the integer part
- of a floating point number. For some strange reason, the log10() function
- can return HUGE_VAL for numbers >= MAX_INT if mathieeedoubtrans.library
- is involved. This crashes the conversion, which has the effect of making
- the number come out as 0 rather than MAX_INT. Now that was nasty, too :(
-
-
-c.lib 1.163 (25.7.2004)
-
-- Simplified the %e/%f/%g conversion some more. We now call log10 and pow
- instead of looping and scaling the floating point number to be printed.
-
-
-c.lib 1.162 (25.7.2004)
-
-- Simplified the floating point number output code in vfprintf().
- Instead of two separate branches handling output for the %e and
- %f conversion types, the two now share the same code.
-
-
-c.lib 1.161 (24.7.2004)
-
-- Dropped all the non-public source code fragments from the library,
- including the memory pools, ARexx variable support and asyncio
- functionality.
-
-
-c.lib 1.160 (24.7.2004)
-
-- fputc() never flushed the output buffer if the stream in question
- was unbuffered.
-
-- Rewrote puts() not to call fputs(). This avoids flushing the output
- buffer twice if stdout is unbuffered.
-
-
-c.lib 1.159 (23.7.2004)
-
-- Trying to open a directory like a file now reliably produces the
- error code EISDIR. Previously, the error code could have come
- out as ENOTDIR instead.
-
-
-c.lib 1.158 (21.7.2004)
-
-- freopen() was broken since it tried to reuse data from an already
- closed stream. Fixed.
-
-- Fixed a number of small compiler problems resulting from debug
- output code that had never been exercised, or was not adapted to
- subsequent code changes.
-
-- You can now enable debug output and have assertions come out
- correctly.
-
-
-c.lib 1.157 (21.7.2004)
-
-- The file hook message action "file_hook_action_write_and_flush" was
- not handled properly by the socket and scanf/printf hooks. Fixed.
-
-- Removed a few assertions from the select() wrapper code which
- prevented it from working properly.
-
-- Changed the stdio buffered I/O flushing code so that data can stay
- in the cache, if necessary, rather than get written to disk. This
- should help the asynchronous I/O feature.
-
-
-c.lib 1.156 (21.7.2004)
-
-- Brought back the __unix_path_semantics variable. If you link with
- -lunix and set this variable to FALSE, you'll still get Unix-like
- behaviour from certain routines, only the translations of Unix<->Amiga
- path name semantics will be disabled, leaving you with Amiga path
- semantics.
-
-- sscanf(), asprintf(), vasprintf(), snprintf(), vsnprintf(), sprintf()
- and vsprintf() now use short local buffers to speed up conversion rather
- than a single measly byte.
-
-- opendir() now avoids returning duplicate volume names.
-
-
-
-c.lib 1.155 (21.7.2004)
-
-- Lost all special case code which took care of unbuffered output
- and input. The new implementation works by using one byte of
- buffer, which is part of the iob structure. Unbuffered output
- is produced by 'flushing' the buffer once data has been written
- to it. The new code also has the advantage of making ungetc()
- work on unbuffered streams.
-
- NOTE THAT THIS MEANS THAT THE ENTIRE LIBRARY NEEDS TO BE REBUILT!
-
-- Each FILE buffer now sports back-link information which can be
- tested to verify that it is valid.
-
-
-c.lib 1.154 (21.7.2004)
-
-- fwrite() has to call fputc() for each byte to be written. Oops...
- fwrite() no longer changes the file position if a write access
- went wrong. Trying to write to a stream which is not available
- for writing now counts as an error.
-
-- fread() has to call fgetc() for each byte to be read. fread() no
- longer changes the file position if a partial read would yield
- fewer data than is necessary to fill an element. Trying to read
- from a stream which is not available for reading now counts as
- an error.
-
-- Lost all the code that tested if the hook pointer embedded in a
- file descriptor table entry or buffered file was NULL. It
- simply has to be a valid pointer.
-
-
-c.lib 1.153 (19.7.2004)
-
-- Oops: cli->cli_DefaultStack does not necessarily match the size
- of the program's stack if it was launched from the shell and the
- "$STACK:" keyword embedded in the program overrides the default
- shell command stack size.
-
-- Stack space allocated locally is now public rather than private
- memory (although it probably should be private).
-
-
-c.lib 1.152 (19.7.2004)
-
-- Simplified the code that figures out how much stack space was
- provided to the program when it was launched. The number does
- not need to be absolutely accurate at the time it is calculated.
-
-- vfprintf() now prints a pointer (%p) as if it were a hexadecimal
- number with 8 digits (0x%08x).
-
-
-c.lib 1.151 (18.7.2004)
-
-- Oops: I mixed up the file descriptor and buffered I/O flags
- in fflush() and __fill_iob_read_buffer().
-
-
-c.lib 1.150 (18.7.2004)
-
-- Checked the dos.library/InternalRunCommand() code to see if
- the fiddling with Process->pr_ReturnAddresss is really necessary to
- figure out how much stack space is available. Turns out that it
- isn't under Kickstart 2.0 and beyond. Since this is what the library
- requires, only the task lower/upper bound and the current stack
- pointer address are consulted now.
-
-- isascii() is now a macro.
-
-
-c.lib 1.149 (17.7.2004)
-
-- Reworked the ctype table layout and how the table is used by
- the optional ctype macros.
-
-
-c.lib 1.148 (17.7.2004)
-
-- Changed the flag definitions used by buffered files.
-
- NOTE THAT THIS MEANS THAT THE ENTIRE LIBRARY NEEDS TO BE REBUILT!
-
-- Added new macros to and which replace functions
- of the same name and which might be more efficient.
-
-
-c.lib 1.147 (17.7.2004)
-
-- Removed the isascii() macro and replaced it with a real function.
-
-
-c.lib 1.146 (17.7.2004)
-
-- added a missing isascii() define to the ctype.h include file
- as it is quiet a common function macro and should be included
-
-
-c.lib 1.145 (16.7.2004)
-
-- Oops, I broke strncpy() *again*. Fixed.
-
-
-c.lib 1.144 (16.7.2004)
-
-- The file descriptor duplication code now sits in a separate
- function rather than in the different file/socket descriptor
- hooks.
-
-- The code which reduces AmigaDOS path names by dropping path
- components followed by two slashes now sits in a separate
- function. Previously, it appeared twice in the Amiga<->Unix
- path name translation code.
-
-- Simplified the select() function considerably.
-
-
-c.lib 1.143 (16.7.2004)
-
-- added missing hook_entry object files to GNU OS4 makefile
-
-- added required newlines "\n" to the 68k GNU inline assembler
- functions to make them compile with GCC version 3 and upwards.
-
-
-c.lib 1.142 (15.7.2004)
-
-- ferror() does not return the code of the error for the stream
- which ran into trouble, it merely signals that an error occured.
- There goes another iob state variable.
-
- NOTE THAT THIS MEANS THAT THE ENTIRE LIBRARY NEEDS TO BE REBUILT!
-
-- Removed all the code that set the value of 'errno' to 0.
-
-- Likewise, removed all the code that reset the error condition
- that might have been set for a file. The only function which
- can do that is clearerr().
-
-- No functions other but clearerr(), ungetc() and fseek() clear the
- 'eof detected' flag now.
-
-- Simplified vfprintf() some more, merging the %x formatting code
- with the other integer conversion code.
-
-- vfscanf() now decides that with the %i conversion, a number is
- in octal notation if the first digit converted is a 0 and there
- is no 'x' or 'X' character following it.
-
-- vfscanf() no longer counts '%n' as an assignment/conversion operation.
-
-- Rewrote strtol() and strtoul() again. The overflow detection is
- now different in both routines and they avoid performing a
- conversion if the base is 1 (which would lead to an infinite
- loop). Also, the possible base values are limited to <= 36 and
- letters in the range a..z are allowed, too.
-
-- All buffered streams which hold data and which operate in line buffering
- mode are now flushed before the buffer of a line buffered input stream
- is filled.
-
-- fflush() now flushes all buffered files if the stream parameter
- is NULL.
-
-- Unlike fgets(), gets() does *not* put the terminating '\n' character
- into the buffer. Fixed.
-
-- rewind() now clears both the 'end of file' and error indicator flags.
-
-- Replaced all memcpy() calls with memmove().
-
-- Cleaned up error code translation and forwarding within the hook
- functions. Instead of mucking around with the global errno variable,
- the hook functions now return the error code as part of the hook
- message. The error code translation is now done entirely through
- two functions rather than one function, which fiddled with the
- global errno variable, and local code which, if necessary, translated
- ERROR_OBJECT_WRONG_TYPE into ENOTDIR.
-
- NOTE THAT THIS, TOO, MEANS THAT THE ENTIRE LIBRARY NEEDS TO BE REBUILT!
-
-- Lost the unconditional address alignment test in the qsort() data
- swapping routine. If the code is built for an 68020 and beyond, it
- is replaced by a no-op.
-
-
-c.lib 1.141 (14.7.2004)
-
-- Rewrote the buffered file I/O code, and in particular how the read
- access interacts with the file's state information. Rather than
- counting how many bytes can be read from the buffer still, the
- new code checks the buffer position against the number of bytes
- stored in the buffer. This makes maintenance easier since only
- one state variable needs to be modified at a time.
-
- Note that this means that code which would use the getc() macro
- needs to be rebuilt!
-
-- The pid_t type used by kill() and returned by getpid() is now
- really a Process address pointer. It used to be a CLI number.
-
-
-c.lib 1.140 (12.7.2004)
-
-- The stack alignment code used when reallocating new stack space and
- swapping it with the current configuration pushed the end of the
- stack beyond the boundaries of the allocated stack. This crashed
- in no time at all, but sometimes it just about worked without
- blowing up. The fixed code is simpler than before and now initializes
- both the lower and the upper stack boundaries to be aligned to
- multiples of 16 bytes.
-
-
-c.lib 1.139 (11.7.2004)
-
-- snprintf/vsnprintf were broken: instead of limiting output to
- the size given as a parameter, data beyond the end of the buffer
- was trashed.
-
-
-c.lib 1.138 (11.7.2004)
-
-- Greatly simplified the vfscanf() code. Added new code which
- initializes each parameter before the conversion begins.
- This should help software which tosses data at scanf()
- and expects it to come back initialized without checking for
- the function's return code.
-
-- The vfscanf() '%f' conversion method could have consumed one
- more character than it was really allowed to. Fixed.
-
-- If vfscanf() is built without floating point support, the
- '%f' conversion method now properly pulls the respective
- floating point number from the stack but performs no
- conversion and does not modify the contents of the
- variable.
-
-
-c.lib 1.137 (11.7.2004)
-
-- Moved the initialization for the stack size checking out
- of the _main() code and into its own initialization function
- where it belongs. That way, the test also works for programs
- that detach from the shell.
-
-- The '%g' and '%G' vfprintf() format specifiers now have the
- effect of stripping trailing 0 and . characters in the number
- string produced. Previously, this effect was also enabled for
- the '%f', '%e' and '%E' formats.
-
-- Greatly simplified the vfprintf() code and verified that the
- output matches the requirements.
-
-
-c.lib 1.136 (9.7.2004)
-
-- Dropped in loads more of assertions to check the validity of
- files and descriptors.
-
-
-c.lib 1.135 (6.7.2004)
-
-- Fixed the last two issues in puts() and fputs() caused by the
- bug fix I made to fputc() which would not return the character
- value passed in. Occasionally, this could cause puts() to omit
- the trailing '\n'.
-
-
-c.lib 1.134 (4.7.2004)
-
-- Simplified and reordered the init/exit procedure in "stdlib_main.c".
- Initializations which could be done on the spot when required are
- no longer performed that early on. The stdio initialization is
- performed earlier so that error messages can be printed using
- stdio methods.
-
-- A stack overflow can no longer turn into an infinite loop.
-
-- Removed some more redundant data from the memory management data
- structures.
-
-- The temporary file cleanup in fclose() did not properly turn off
- profiling. Fixed.
-
-- Both close() and fclose() now fill their data structures with 0
- bytes before they return.
-
-- The tables for the file descriptors and buffered files are now
- allocated dynamically.
-
-- If the asynchronous I/O options is not in effect, then the
- global file data structures will not include a pointer to
- the AsyncFile.
-
-- Lost some duplicate code from the locale cleanup routines.
-
-- Simplified the code that picks a vacant file descriptor table
- slot.
-
-- NOTE: YOU NEED TO REBUILD THE ENTIRE LIBRARY IF YOU WANT TO USE
- THESE CHANGES!
-
-
-c.lib 1.133 (4.7.2004)
-
-- The memory routines no longer look up the management data structures
- before they deallocate or modify an allocated memory chunk. This is
- now done only in the debug version of the library.
-
-- Moved the code that performs memory deallocations in the debug and
- nodebug versions of the library. Instead of separate functions, a
- single common routine is used.
-
-- When launched from shell, the program's name is no longer allocated
- through malloc() but through AllocVec(), and released separately later.
- This helps the memory debug code which otherwise wouldn't be able to
- print meaningful information when starting up and shutting down.
-
-- You can now get additional information out of the memory debugging
- code, covering the locations where memory is allocated and released,
- including how much memory is involved.
-
-- The month and day names used by the time conversion code are now
- declared as 'const'.
-
-- Replaced all uses of the EPERM error code with EACCES.
-
-
-
-c.lib 1.132 (26.6.2004)
-
-- abort() and raise() now call a common termination routine.
-
-- Chopped the math_kernel.c code into individual files. Some local constant
- values had to be duplicated, but so there...
-
-- Lost "smakefile.old" and "math_kernel.c".
-
-- Got rid of more compiler warnings...
-
-- Fixed a typo in the "stdlib_headers.h" header file.
-
-- In libdebug.a, for 'va_arg()' to work with 'char' type parameters, these must
- be picked up as type 'int' from the stack. Otherwise we get a linker error later...
- This should finally make the PowerPC 'native' kprintf() function work.
-
-
-c.lib 1.131 (21.6.2004)
-
-- The '%i' conversion method in the scanf() family did not take
- a leading '0' properly into account when updating the number of
- letters to be read and processed.
-
-- If the '%c' conversion method reads fewer than the required
- characters, it stops the conversion rather than aborting it
- with an error.
-
-- The scanf() family now watches more carefully what data it still
- requires to satisfy a conversion. For example, while it may accept
- a '-' character to indicate that a sign is given to the number to
- follow, if there is no number to follow will trigger an error
- condition.
-
-
-c.lib 1.130 (20.6.2004)
-
-- The scanf() family now returns EOF if an error was detected
- (not just an end of file) or if the stream ended before a
- conversion could be performed.
-
-- The file type reported by stat() did not really take pipes into
- account. Fixed.
-
-- Cleaned up the data structure definitions and references. This turned
- up a bug in the Unix<->Amiga path name translation which would use
- a local data structure which was larger than the public version. Fixed.
-
-
-c.lib 1.129 (18.6.2004)
-
-- Added a free memory threshold test feature to malloc(); how it works
- is described in .
-
-- The PowerPC debug.lib now calls RawPutChar() and RawMayGetChar()
- through the 68k LVO. This should finally make kprintf() and friends
- usable on the PowerPC.
-
-- The asyncio code now defaults to allocate at least twice as much
- memory as a buffered file would require (so that double buffering
- can be used). Also, the fundamental asyncio support functions require
- that enough memory is allocated to allow for four disk blocks to
- be read at a time.
-
-- When opening a file for asynchronous I/O access, both read-only and
- write-only access is supported now. Previously, the functionality
- was limited to read-only access.
-
-
-c.lib 1.128 (14.6.2004)
-
-- Moved the stack size usage reporting code again so that the name of
- the program can be printed correctly. Also, the data from the
- initial stack size swapping is now cached until it is used.
-
-- Reordered the resource allocations and initializations in tmpname()
- to make error recovery more robust.
-
-
-c.lib 1.127 (13.6.2004)
-
-- Truncating a file to size 0 was, if successful, considered a failure.
- Fixed.
-
-- ftruncate() no longer changes the file position.
-
-- Advisory record locking now checks if the lock should be shared or
- exclusive and verifies that the file open mode supports this access
- mode.
-
-- Negative record lengths are now supported in the advisory record
- locking code.
-
-
-c.lib 1.126 (13.6.2004)
-
-- Unless Unix path semantics are in use, lseek() no longer defaults
- to 'seek and extend' operation.
-
-- There are no longer two separate functions to take care of 'seek'
- and 'seek and extend' operations.
-
-- The Unix-like lseek() behaviour now takes advantage of cached
- file seek position information. Previously, it just ignored it.
-
-- The 'truncate' file action now makes sure that once the size of
- the file has been trimmed, the new file position refers to the
- end of the file. There also was a problem with growing the size
- of the file which could have started at the wrong file offset.
-
-- The advisory file locking code now handles integer overflows
- gracefully when the end of a locked region is to be calculated.
- In this case, the end is assumed to be the (2^31)-1st byte.
- Also, when removing a lock the search for the locked region in
- question keys off the start position and the length rather than
- the start position and the adjusted end position.
-
-- Added more sanity checks to file system operations which invariably
- have to deal with FileHandle->fh_Type.
-
-- Rewrote the Unix->Amiga path name translation function again.
-
-
-c.lib 1.125 (13.6.2004)
-
-- Rewrote the Amiga->Unix path name conversion code. Double slashes are
- translated more robustly into '../' and the translation of the volume
- name and the path to follow it are now done separately. The current
- directory name ("") could wind up getting translated to a string pointing
- into a local buffer. Fixed. Also, the new code knows how to translate
- ":" to a path relative to the current directory (if that directory is
- defined by an absolute path name).
-
-- The code that parsed and initialized the command line parameter
- array to be passed to the main() function made different assumptions
- during the counting and the initialization of the different parameters.
- Fixed.
-
-- snprintf() and vsnprintf() now handle zero length buffer
- sizes properly.
-
-- The stack size usage measuring code got broken when the
- constructor/destructor mechanism was reimplemented. It
- now works again.
-
-
-c.lib 1.124 (12.6.2004)
-
-- Dropped the fseek() optimization for files with a write buffer. This
- feature had little impact, but complicated buffer management enormously.
-
-- In fputc(), __fputc(), fwrite(), __flush(), etc. and the functions which
- build upon them flushing the buffer now always takes place before new data
- is pushed into the buffer. The exception is fputc()/__fputc() which can
- flush the buffer if the file is in line buffering mode and a line feed
- character has just been written. Also, failure to flush the buffer now
- implies that the character/data to be stored in the respective function
- was not successful. Previously, the different functions either stored the
- data in the cache before and/or after the buffer was flushed, making it
- difficult to tell if it had been written. Which in turn made it impossible
- to recover from the failure since you could not be sure if another attempt
- to store that data would really store it at the proper file position.
-
-- mktime() now insists that the year must be 1978 or later.
-
-- In debug.lib, KPutFmt() and the functions which build upon it now
- should work even on the PowerPC. This works by analyzing the format
- string and by converting the parameters to fit into a table whose
- contents RawDoFmt() can handle.
-
-- For the asyncio code, all write accesses immediately flushed the buffer,
- thus nullifying any advantage the asynchronous I/O might have provided.
- Fixed.
-
-- The optimized memset(), memcpy() and memmove() functions now use
- displacement addressing rather than post- and preincrement in the
- unrolled loop. This should help strictly pipelined processors. It
- does not seem to make any difference at all for the 68060, though.
-
-- The locale cleanup code now separately closes the specific locales
- and the 'all' locale.
-
-
-c.lib 1.123 (12.6.2004)
-
-- The distribution license no longer requires that for binaries using
- the library a mention of the license text is mandatory.
-
-- closedir() now checks for a NULL pointer and backs out if it finds
- one.
-
-- opendir() now exits with an error if it cannot allocate enough memory
- for a volume name to be added to the list.
-
-- readdir() now checks for a NULL pointer and backs out if it finds one.
-
-- readdir() no longer builds with volume list scanning code unless
- Unix path compatibility is enabled.
-
-- rewinddir() now ignores a NULL directory pointer.
-
-- strncmp() now treats the parameters as strings of unsigned characters.
-
-- strdup() no longer traverses the string to be copied twice to figure
- out how much data needs to be copied.
-
-- strerror() now knows how to produce an error message for error
- code 0x80000000.
-
-- strtol() and strtoul() always need to initialize the 'ptr'
- parameter before they exit, not just when they succeed.
-
-- fputc() did not return the character value written, but 0. Fixed.
-
-- fputs() now returns EOF if it couldn't flush the write buffer,
- if that was necessary.
-
-- fseek() no longer changes the value of the global 'errno' variable,
- as required by the specification.
-
-- fseek() now sets the buffer position to 0 if the number of bytes that
- can be read from the buffer drops to 0. This avoids clashes with write
- access to the same file.
-
-- ftell() now always sets the global 'errno' variable to a well-defined
- value.
-
-- fwrite() now tries to seek back to the original file position if
- flushing the buffer failed. This complements similar code in fread().
-
-- fwrite() no longer flushes the buffer before it returns. It appears
- that this behaviour is not mandated by the specifications. The
- buffer will only be flushed upon entry, and even then only to make
- room for new data to be stored.
-
-- fread() now preserves error status information when recovering from
- a failed buffer fill attempt. Previously, the error status information
- would revert to 'no error' during this task.
-
-- mktemp() now also adds the current Task address to the seed value that
- goes into the creation of the temporary name.
-
-- If dup2() fails to close a file, if that is necessary, it will return
- an error rather than ignoring the failure.
-
-- Lost a return statement in dup2(). Also, growing the size of the
- file descriptor table can now be aborted with ^C.
-
-- In fcntl(), growing the size of the file descriptor table can now be
- aborted with ^C.
-
-
-c.lib 1.122 (1.6.2004)
-
-- Lost the NULL tests in front of all UnLock() and FreeDeviceProc() calls.
-
-- The command line is now trimmed, dropping leading and trailing
- blank spaces.
-
-- The ftruncate() functionality did not write 0 bytes to the file
- being extended. Fixed.
-
-- popen() allocated a few bytes less than necessary for the command
- name and the parameters.
-
-- Neither popen() nor system() now quote the command name unless it
- is really necessary.
-
-
-c.lib 1.121 (30.5.2004)
-
-- Made the memory debugging options a little more flexible and easier to
- configure.
-
-
-c.lib 1.120 (30.5.2004)
-
-- The asynchronous I/O code was never actually used by the library. Fixed.
-
-- Tweaked the realloc() code to take the memory allocation granularity into
- account. This means, for example, that for small allocation sizes < 8 bytes
- no reallocation will ever be performed since it wouldn't amount to anything.
- This complements similiar code in malloc() which also rounds up allocation
- sizes to the OS memory allocation granularity limits.
-
-
-c.lib 1.119 (27.5.2004)
-
-- Got rid of a few compiler warnings involving signed/unsigned integer
- comparisons.
-
-- Fixed a bug in the Unix->Amiga translation routine which would cause
- file names such as './../foo' come out as '/foo' and end up being
- translated to 'foo:'. The new code now takes care of removing leading
- './' and embedded '/./' segments before further processing is
- performed on the name string.
-
-- Fixed up the 68k GNUmakefile so that it builds properly.
-
-
-c.lib 1.118 (26.5.2004)
-
-- Rewrote those putc/__putc macros again...
-
-- The vfprintf()/fputs() code did not properly test the result of
- the __putc() function call. There should have been a test for
- '!= EOF' rather than '== OK'.
-
-
-c.lib 1.117 (26.5.2004)
-
-- realloc() now checks the size of blocks to be shrunk. If the block
- shrinks by less than half its current size, then no new memory
- is allocated for it. This saves the need to allocate memory and to
- move the data.
-
-- Implemented an option to have the allocated memory chunks managed
- by a balanced tree, sorted by address. This should help applications
- which claim a lot of memory, possibly in small chunks, which get
- allocated/released a lot. While this is still not quite as good as
- having the low level memory management code use buddy lists or
- slab allocation, it might still do the trick. This feature is
- activated in "stdlib_headers.h" via the __USE_MEM_TREES preprocessor
- symbol. You will need to rebuild the files stdlib_data.o, stdlib_free.o,
- stdlib_init_exit.o, stdlib_malloc.o, and stdlib_red_black.o if you
- change this.
-
-- The size of the physical memory allocation chunks is now taken into
- account when making memory allocations. This means that allocations
- are rounded up to multiples of 8 bytes each.
-
-
-c.lib 1.116 (26.5.2004)
-
-- Reworked the putc/getc macro definitions, moved them behind the
- function prototype declarations in .
-
-- The putc() macro did not return the same result as the equivalent
- fputc() function would have done after flushing the buffer. The
- new macro now calls a special flush routine which itself safely
- returns the last character written.
-
-
-c.lib 1.115 (24.5.2004)
-
-- Prior to performing ^C checking, the respective routines now verify first
- if ^C checking is enabled in the first place. This saves a function call.
-
-- Replaced all ^C handling code that would drop straight into raise(SIGINT)
- with a proper call to __check_abort(), which the user may have set up to
- his own liking.
-
-- The wildcard matching argument list build code no longer defaults to
- allow for ^C checking. This is permitted only if the global checking
- flag is enabled.
-
-
-c.lib 1.114 (24.5.2004)
-
-- Replaced most of the internal single character I/O calls with macros.
-
-- I/O buffers are now allocated so that their start addresses are aligned
- to cache line boundaries.
-
-- Buffer size and position are now both signed integers. This fixes a
- tricky issue with the newly-introduced macros and zero length buffer
- sizes.
-
-
-c.lib 1.113 (23.5.2004)
-
-- The 'FILE' structure now has a public part. Flags and layout have changed!
-
-- Reimplemented getc() and putc() as macros, which helps a lot with some
- applications.
-
-- Added more of the SAS/C internal floating point support code, which makes
- sprintf() and friends build even with floating point options enabled.
-
-- Replaced CheckSignal() with SetSignal(), which helped the ^C checking
- code a lot.
-
-
-c.lib 1.112 (23.5.2004)
-
-- Plugged in the SAS/C code profiling functionality. This works by measuring
- calling time intervals and should be very portable.
-
-- Duplicating file descriptors could lead to trouble if the descriptor
- number in question exactly matched the number of descriptors. Fixed.
-
-- Reactivated code in open() which was disabled for OS4 but which
- should have stayed active.
-
-- Reduced the overhead of the single character input/output routines,
- especially when called from within the library. This helped fgets(),
- scanf(), fputs() printf() and others.
-
-
-c.lib 1.111 (12.5.2004)
-
-- chdir() now checks if the object in question is really a directory.
-
-- Added special tests to a number of Open(), Lock() and Delete() calls
- to catch attempts to open "subdirectories" of files. If it happens,
- e.g. trying to open when "utility" is a header
- file on the search list, errno will be set to ENOTDIR.
-
-
-c.lib 1.110 (10.4.2004)
-
-- memmove() no longer tries to move large chunks of data if the source
- and destination overlap by fewer bytes than can be moved at a time.
- The original code should not have done this in the first place, but
- it's safer to check rather than to assume that it will work out fine.
-
-
-c.lib 1.109 (9.4.2004)
-
-- Fixed a bug in the PPC version of setjmp that would trash floating
- point registers.
-
-- Fixed a bug in dup2: If the second fd didn't exist, it would return -1,
- which is wrong (it should not close the second fd when it doesn't exist).
-
-- Added F_DUPFD to fcntl
-
-
-c.lib 1.108 (15.3.2004)
-
-- Fixed a bug in the printf() family which affected how the %e
- output was formed (and by extension, %E, %g and %G). The %e
- format must put exactly one digit in front of the decimal
- point, followed by the mantissa and the exponent. This worked
- fine unless the round-off fudge added to the number caused
- an overflow, producing two digits in front of the decimal point.
- This has been fixed by checking for an overflow after having
- added the round-off fudge and rescaling the result, if
- necessary [Andrija Antonijevic].
-
-
-c.lib 1.107 (15.2.2004)
-
-- The setjmp() code now actually manages to save and restore the
- FPU state in the 68k library form.
-
-- The SAS/C constructor/destructor invocation finally works.
-
-- Added an option to cache the current file position, which should
- help seek performance.
-
-- Added targets "version" and "cvs-tag" to the makefiles.
-
-
-c.lib 1.106 (14.2.2004)
-
-- index() now calls strchr() and rindex() calls strrchr().
-
-- strchr() and strrchr() now read each byte of the string to
- be searched exactly once.
-
-- Added optimized versions of memchr() and memcmp().
-
-- The optimized versions of memchr(), memcmp(), memcpy(), memmove()
- and memset() check first if the amount of data involved justifies
- the expense of gearing up to perform an optimized operation.
-
-- strstr() no longer calls strlen() even once.
-
-
-c.lib 1.105 (12.2.2004)
-
-- Replaced memcpy(), memmove() and memset() with optimized portable
- versions.
-
-
-c.lib 1.104 (11.2.2004)
-
-- When open() calls Lock() and fails to obtain a correct result, the
- error code checking now also covers ERROR_ACTION_NOT_KNOWN (which is
- ignored). This should help handlers which are no file systems, such
- as PAR: and PIPE:.
-
-- The file->iob_BufferWriteBytes and file->iob_BufferPosition counters
- no longer have to be in sync. In fact, the position can be smaller
- than the number of bytes waiting to be written. The buffer flushing
- has to take this into account now (it may have to seek back after
- having dumped the buffer, which is nasty).
-
-- Worked Jörg's changes into the fseek() code. This covers two fields:
- if possible, an absolute positioning command is converted into a
- relative position change; if the current file buffer allows for it,
- the buffer access position is updated rather than forcing the buffer
- to be flushed to disk/reread.
-
-
-c.lib 1.103 (8.2.2004)
-
-- The bug fixes in version 1.101 broke ungetc(). Fixed. Also reworked the
- sanity checks in ungetc() which previously were performed either out
- of order or were entirely missing.
-
-- Renamed socket_get_socket_descriptor.c to socket_get_descriptor.c to
- make it easier to build the library on the Amiga.
-
-
-c.lib 1.102 (22.1.2004)
-
-- modified string.h to also include strings.h within the non ISO 'C' standard
- part. This should make porting of existing applications a bit easier as many
- sources only include . As the current string.h anyway defines the
- symbols of i.e. bcmp() and bcopy() etc, which should normally also be
- in strings.h, I don't see any problem with that.
-
-- added function macros for stricmp() and strnicmp() to non ISO 'C' standard
- part of to make it easier to port applications relying on
- stricmp()/strnicmp().
-
-
-c.lib 1.101 (18.1.2004)
-
-- Draining an stdio buffer via fgetc/fread, etc. completely before switching
- over to using the same buffer for writing data to a file would flop because
- one of two important variables did not get reset to zero. This would also
- end up trashing the buffer management. New code makes sure that if a read
- access ends up setting the number of bytes available for reading from the
- buffer to 0, the buffer position is reset to 0 as well.
-
-- fwrite() now pushes the buffer contents to disk if it has completely
- filled up rather than allowing the full buffer to stick around until
- another opportunity presents itself to flush it to disk.
-
-
-c.lib 1.100 (18.1.2004)
-
-- abort() and raise() no longer call fprintf(stderr,..) but rather
- use fputs(..,stderr) instead.
-
-- Updated the copyright text.
-
-
-c.lib 1.99 (28.12.2003)
-
-- Updated "stdlib_constructor_begin.c" to invoke the SAS/C constructors
- and destructors and to make the OS4 specific destructor handling
- safer: destructors calling exit() will now cause the next following
- destructor function to be called.
-
-
-c.lib 1.98 (23.12.2003)
-
-- Fixed up Hans-Jörg's previous fix for strncat(). Added comments
- explaining as to what this function is supposed to accomplish in
- order to avoid making the same mistake again and again.
-
-- accept() now returns a properly wrapped socket descriptor (thanks to
- Marcus!).
-
-- TODO: fix up the PowerPC destructor code; currently, a destructor
- function calling exit() will cause all subsequent destructors to
- be either skipped or the entire destructor list to be rerun ad
- inifinitum (haven't checked this in detail yet). Change the code to
- work more like the 68k version, which plants a setjmp() at the beginning
- of the loop and remembers which one was the last destructor called.
-
-
-c.lib 1.97 (15.12.2003)
-
-- The library can now use constructors and destructors internally.
-
-- Added the realpath() function.
-
-- Put the dirent functions back in libc.a.
-
-
-c.lib 1.96 (13.12.2003)
-
-- gettimeofday() no longer reports microsecond values > 1000000.
-
-
-c.lib 1.95 (13.12.2003)
-
-- The default memory pool and puddle sizes can now be configured at link
- time by defining the __default_pool_size and __default_puddle_size
- variables in your program.
-
-- strncat() no longer eats the last character copied.
-
-
-c.lib 1.94 (9.12.2003)
-
-- now includes rather than , if
- necessary.
-
-- Changed DoTimer() to allocate the MsgPort and the timerequest from
- public memory rather than from the stack (which could be allocated
- as private memory).
-
-
-c.lib 1.93 (29.11.2003)
-
-- Fixed up the Unix->Amiga path name translation code to map "volume:/" style
- paths to the virtual root directory.
-
-- The file operations (open, chmod, mkdir, rmdir, mktemp, chown, unlink,
- utime and rename) now watch out for the root directory to come out of a
- Unix->Amiga path name translation and will react according to it.
-
-- access() now also works on the virtual root directory.
-
-
-c.lib 1.92 (28.11.2003)
-
-- Replaced qsort() with a different, iterative implementation. In terms of
- performace it seems to beat everything out there.
-
-- Tinkered with the select() code again. The local FD_ZERO() implementation
- was too smart. It would attempt to optimize the operation by breaking it
- down in to series of bytes to be set to zero, followed by individual bits.
- This went wrong because this isn't how the fd_set bits are organized.
- The code now clears all the long words involved.
-
-- Updated the fix_datestamp() function which is part of the select()
- wrapper. The updated version should be less vulnerable against
- overflows.
-
-
-c.lib 1.91 (25.11.2003)
-
-- Fixed up the dependencies in the makefiles. The libunix.a routines which
- would involve the asynchronous I/O code would not get rebuilt if the
- associated header file would change.
-
-- Added extra code to the fd hook function which looks after files that
- should be unlinked, but which didn't get deleted at the first attempt
- because they were still in use. That extra code checks, after a file is
- closed, if the file in question was set up for deletion. This seems to
- help the Samba port a lot, which no longer accumulates scores of lock
- files in "Samba:log/locks" which get deleted only when smbd exits.
-
-
-c.lib 1.90 (24.11.2003)
-
-- The wildcard pattern expansion for command line arguments no longer
- drops parameters for which there is no match. Instead, the argument
- is used as is. With the old behaviour, things like
- "-D__interrupt=__attribute__((__interrupt__))" would expand to nothing,
- breaking the GCC preprocessor.
-
-- The special definitions & code that help GCC to build itself are now
- enabled through a single line in a local header file.
-
-- The file descriptor hook now sets errno to EBADF for file descriptors
- which are not in use (this used to be ENOSYS).
-
-
-c.lib 1.89 (23.11.2003)
-
-- The asynchronous file I/O support can now be enabled at library build
- time by uncommenting a definition in a single header file. The makefile
- dependencies then do the rest...
-
-- Fixed a bug in the Unix->Amiga path name conversion code. A trailing
- "/." in a path name is now stripped.
-
-
-c.lib 1.88 (22.11.2003)
-
-- alloca() is now included in the library even if GCC is used as the
- host compiler.
-
-
-c.lib 1.87 (17.11.2003)
-
-- truncate() and ftruncate() now safely extend the size of a file by
- adding 0 bytes at the end.
-
-
-c.lib 1.86 (17.11.2003)
-
-- Fixed a bug in the Unix->Amiga name translation which could lead to
- a path beginning with "../" to be mistakenly identified as being an
- absolute path name starting with "/".
-
-
-c.lib 1.85 (16.11.2003)
-
-- The realignment code was missing in the FlushAsync() routine. Fixed.
-
-- The alignment position was not calculated correctly in SeekAsync()
- as the wrong variable was involved. Fixed.
-
-- __umodsi3, __udivsi3, __udivsi4, __modsi3, __divsi3, __divsi4 would
- not refer to the proper __UtilityBase library symbol. Fixed.
-
-
-c.lib 1.84 (12.11.2003)
-
-- Updated the optional asyncio code to return to a block-aligned
- file position after seeking in a write-only file. Also added
- code to check if read/write access is actually allowed.
-
-- Multiple inclusion of debug.h no longer leads to trouble.
-
-- Merged duplicate file advisory lock testing code.
-
-- The dirent functions are now a part of libunix.a and no longer
- appear in libc.a.
-
-- Advisory file locks can now start beyond the end of the (current)
- file and it is possible to lock a region until the end of the file.
- Previously, the latter was rejected as an invalid range.
-
-- If several exactly overlapping regions are locked on a file,
- they all are now unlocked by a single call.
-
-- Replaced the qsort() code.
-
-- The assertion handling has moved into its own routine which
- tries to make sure that the failure message is shown.
-
-- Rewrote clock() (again) to be much simpler in operation.
-
-- The opendir/readdir/closedir cleanup code now actually invokes the
- closedir() function rather than doing the cleanup job manually.
-
-- open() no longer tests for delete protection after the file has
- been already opened. If it's open, only a possible write protection
- may be problematic and ought to be flagged.
-
-- __drop_iob_read_buffer() now checks if the buffered file is actually
- in use.
-
-- If fseek(..,0,SEEK_CUR) is is called, it no longer results in the
- read/write buffers to be dropped.
-
-- The snprintf() family now returns the proper number of characters
- that would have gone into the buffer, if enough room were available.
- Previously, it would stop counting after the buffer had filled up.
-
-- Merged duplicate code around free().
-
-- The memory cleanup code now calls the free functions if memory
- debugging code is enabled.
-
-- If the memory debugging code is enabled, allocations and deallocations
- will trigger consistency checks now and then (with a likelyhood of
- about 6% per operation).
-
-- mktime() now properly fills in the day of the week.
-
-- strftime() now expects the format hook code to provide for the NUL-
- termination.
-
-- __translate_amiga_to_unix_path_name() now performs a sanity check
- before it proceeds to use the supplied path name. The check is
- to make sure that the local buffer does not overflow. Rearranged
- code in __translate_unix_to_amiga_path_name() to perform a similar
- test.
-
-- Rewrote the command line wildcard expansion code to use standard
- Exec lists rather than the tricky singly linked list stuff, coupled
- with tricky pointer arithmetic. If the code crashes, it's now much
- easier to tell why.
-
-- The __usergroup_init() function now returns an error code rather
- than dropping into exit() in case of trouble.
-
-- They 'key' parameter of bsearch() is now of type "void *" rather
- than "char *".
-
-
-c.lib 1.83 (5.11.2003)
-
-- The scanf() family now skips over initial whitespace preceding
- data to be converted. Exceptions are the %c, %n and %[ conversions
- which are documented not to bother.
-
-
-c.lib 1.82 (4.11.2003)
-
-- Fixed another bug in the scanf() family. Floating point numbers were
- not converted correctly, only the integral part was picked up.
-
-
-c.lib 1.81 (4.11.2003)
-
-- Added assertions to track trashing of certain global variables.
-
-- Rewrote the select() wrapper again. It no longer makes assumptions about
- the size of the fd_set data structures passed in. The new code is, however,
- significantly more complex than it used to be. It uses far less stack space,
- though...
-
-
-c.lib 1.80 (29.10.2003)
-
-- More tweaking for the optional asyncio support. If requested, it's
- always enabled for read-only files bound to descriptors, but never
- for write-only or read/write access. It's always enabled for buffered
- files standard I/O files because there's an fflush() to take care
- of pushing the buffer contents to disk. There is no fsync() for
- file descriptors which would accomplish the same.
-
-
-c.lib 1.79 (29.10.2003)
-
-- The optional asyncio code now also sports a function similiar
- to fflush() which will write the current contents of the buffer
- to the file.
-
-
-c.lib 1.78 (27.10.2003)
-
-- The asyncio code support is now an optional feature which can be
- enabled at library build time by defining the ASYNCIO_SUPPORT
- preprocessor symbol.
-
-- Cleaned up the code that uses the buffered I/O data structure
- 'iob', which used to be a much bigger data structure with
- a hard-coded buffer attached to it. The buffer is now allocated
- dynamically when needed.
-
- Note that this change requires that the library is rebuilt or the
- I/O buffer data structures will cause trouble.
-
-
-c.lib 1.77 (26.10.2003)
-
-- Worked an updated version of the asyncio code into the library.
- File I/O performance will benefit from this if, and only if, a
- file is opened either for read or write access only. If both
- read and write access are requested for a file, the asyncio layer
- will not kick in. Also, in order to enable it, you have to declare
- a '__asyncio_buffer_size' variable (see "stdio_asynciobuffersize.c")
- somewhere in your program.
-
- Note that this change requires that the library is rebuilt or the
- file descriptor data structures will cause trouble.
-
-
-c.lib 1.76 (22.10.2003)
-
-- Added to define the macros va_startlinear() and
- va_getlinearva().
-
-
-c.lib 1.75 (20.10.2003)
-
-- __initialize_fd() and __initialize_iob() now perform the bulk of the
- data structure initialization rather than just setting the data to
- zero and plugging in a hook function.
-
-
-c.lib 1.74 (19.10.2003)
-
-- Renamed the global __fd_table variable to __fd to match the buffered
- I/O data structure name.
-
-- Further modifications to make the debug version of the library build
- without errors.
-
-- Moved the stack size usage checking code from _main() into separate
- routines which are found in the linker library.
-
-
-c.lib 1.73 (19.10.2003)
-
-- __grow_fd_table(), __grow_iob_table(), __flush_iob_write_buffer(),
- __drop_iob_read_buffer(), __fill_iob_read_buffer() and __open_iob()
- now returns 0 for success, -1 otherwise.
-
-- __grow_fd_table() and __grow_iob_table() now both set errno in
- case of failure.
-
-- Lost the unnecessary file descriptor and buffered I/O table
- initializations.
-
-
-c.lib 1.72 (19.10.2003)
-
-- fopen(), freopen() and fdopen() now all call the same common
- routine to set up a buffered stdio stream. Previously, the
- fdopen() code was seperate and did things differently from
- the rest.
-
-- Deletion of temporary files upon program exit could lead to
- a crash (worst case), but never actually deleted anything. Fixed.
-
-- The stdio_exit() cleanup function now actually calls into
- fclose() and close() rather than doing the same job all over
- again manually.
-
-- Lost code which didn't make much sense in the socket descriptor
- hook. Same thing for the temp file cleanup code.
-
-- dup() now invokes dup2() with the second parameter set to -1.
-
-- Simplified the duplicate cleanup in close().
-
-
-c.lib 1.71 (19.10.2003)
-
-- Added missing prototype for setbuf() in .
-
-- Put the definition of HUGE_VAL in inside #ifndef, to allow
- GCC to do its thing.
-
-
-c.lib 1.70 (18.10.2003)
-
-- The tests to verify that a file descriptor was valid all had a
- problem. This test is now done in a separate function which
- performs the necessary error checking.
-
-- The dup2() function did not close the second file descriptor
- prior to duplicating the first one. Also, the dup(..,-1) case
- did not return the number of the new file descriptor but -1
- instead.
-
-- The tests to check whether a Hook is attached to a file
- descriptor now set errno to EBADF if no Hook is found.
-
-- All file descriptor flags are now cleared when a descriptor
- is closed. Same thing for buffered files.
-
-
-c.lib 1.69 (14.10.2003)
-
-- Not all conversions performed by the scanf() family would respect
- the maximum field width. Fixed.
-
-- The local sscanf() file hook function had the last two parameters
- reversed. Fixed.
-
-- strftime() now fills in the week day if it's not provided.
-
-
-c.lib 1.68 (13.10.2003)
-
-- To activate the memory debugging code, use "#define __MEM_DEBUG".
- Other debugging code (assertions) is deactivated through
- "#define NDEBUG".
-
-
-c.lib 1.67 (11.10.2003)
-
-- Reworked the program startup code. Instead of rattling down a number of
- initialization functions, one at a time, the whole thing is now performed
- through a 'constructor style' table. This ought to be replaced by the
- real thing once it's safely possible.
-
-
-c.lib 1.66 (11.10.2003)
-
-- UtilityBase, LocaleBase, SocketBase and UserGroupBase no longer override
- any user defined global variables. The library now keeps them under
- private names.
-
-- The wildcard expansion code would not return an empty argument list in
- case no match was found. Fixed.
-
-- Cleaned up the stdlib_main.c code, moved all the data and function
- references into local header files.
-
-- Completed the usergroup.library API integration for the OS4 variant.
-
-- The constructors are now called in forward order and the destructors
- in reverse order.
-
-- Moved the constructor/destructor invocation code into a separate file.
-
-
-c.lib 1.65 (9.10.2003)
-
-- In dev_t is now an unsigned long.
-
-
-c.lib 1.64 (9.10.2003)
-
-- Bum. The old and the new clock() code was wrong. The clock() function
- is supposed to return how much processor time the current process
- consumed since it was started, which is a monotonously increasing
- number (or something like it, unless the system time is reset).
- The new code should deliver proper data, although it might be better
- to switch it over to timer.device/ReadEClock.
-
-
-c.lib 1.63 (8.10.2003)
-
-- Ouch, the old clock() code was correct, it just didn't look like it.
- I rewrote it to make it clearer what happens and why it happens like
- that [Andrija Antonijevic].
-
-
-c.lib 1.62 (6.10.2003)
-
-- A "+" and a "*" had been mixed up in clock(). Fixed.
-
-
-c.lib 1.61 (5.10.2003)
-
-- Now that main.o is a platform neutral startup code file, it's possible
- to do some machine type checks in "stdlib_machine_test.c". This code
- checks for presence of an FPU and an MC68020 CPU (or better). It may
- not work for -fbaserel32 which by the time the test is performed
- will have already crashed.
-
-- Added the missing stdlib_dosbase.c, stdlib_localebase.c, stdlib_sysbase.c,
- stdlib_utilitybase.c and math_init_exit.c files to the repository.
-
-
-c.lib 1.60 (5.10.2003)
-
-- Renamed the source code files which implement the strtod(), strtol(),
- strtoul(), atof(), atoi() and atol() functions.
-
-- Moved main() out of libc.a and made it into a startup object file
- which needs to be added to the GCC specs file in the "*startfile"
- section, right at the end of the list. This solves practically all
- linking problems I encountered so far. Which means that -lunix
- and -lsocket actually work and that you don't have to tweak the
- specs file to build the compiler.
-
-
-c.lib 1.59 (4.10.2003)
-
-- The math initialization/test function is now always invoked by the
- _main() function. The math init/exit code defaults to stubs, though,
- unless libm.a is linked in.
-
-
-c.lib 1.58 (4.10.2003)
-
-- Moved the global library base/interface definitions from stdlib_main.c
- into separate files, each of which defines a base/interface pair.
-
-- Moved the math library initialization/testing into libm.a where it
- really belongs. The MathIEEE library base definitions went there,
- too.
-
-
-c.lib 1.57 (1.10.2003)
-
-- Calling dup2() on a stdio file reinitialized the source fd instead of the
- destination fd. Fixed.
-
-- Added const declaration to first argument of sscanf().
-
-- no longer enforces the inclusion of .
-
-
-c.lib 1.56 (30.9.2003)
-
-- Moved the scalbn() function prototype into math_pow.c, where it is
- used. This is not an ISO 'C' function to start with.
-
-- strtod(), strtol(), strtoul(), atof(), atoi() and atol() moved
- from into .
-
-- fputs() no longer adds a newline character at the end of the line.
- This is now done only by puts().
-
-- fdopen(), fopen(), freopen() and popen() no longer mix up file
- access mode options such as "r" and "r+".
-
-- popen() now adds the current time stamp to the name of the
- temporary files it opens.
-
-
-c.lib 1.55 (21.9.2003)
-
-- Added support for 'long long' quantities in the printf/scanf
- families. This is not yet enabled by default since I couldn't
- seem to make it work on the 68k platform.
-
-
-c.lib 1.54 (18.9.2003)
-
-- fputs()/puts() didn't add the '\n' character at the end of the
- line. Fixed.
-
-
-c.lib 1.53 (25.8.2003)
-
-- Added hooks for code to perform wildcard expansion for all
- command line parameters. Excluded are those parameters which
- are surrounded by quotes (").
-
-
-c.lib 1.52 (19.8.2003)
-
-- fpos_t is now a scalar data type.
-
-- size_t is now an unsigned integer.
-
-- Lost the file descriptor table usage counter. Whether or not a
- file descriptor is in use is now indicated by a flag.
-
-- Temporary buffered files now have a dynamically allocated temporary
- file name string attached. Previously, a statically allocated
- buffer was part of each file buffer data structure.
-
-- The order of the hook parameters for the file descriptor and
- buffered files was wrong.
-
-- All the buffered file routines now check if the file in question
- is actually in use before they proceed.
-
-NOTE: the last four changes require a rebuild of the entire library,
- just to be safe!
-
-
-c.lib 1.51 (12.8.2003)
-
-- setvbuf() now sets the buffer size to 0 when switching a stream
- into unbuffered mode. Also, with buffering mode _IONBF (no
- buffering) no memory is allocated and no supplied buffer is
- used.
-
-- The stdio cleanup code no longer runs all file descriptors and
- files through the shutdown code. Only those which are actually
- in use.
-
-- Fixed a typo in the BSD style license text.
-
-- Cosmetic changes...
-
-- fopen("a+", ..) did not actually append any data.
-
-- The unlink() cleanup code didn't unlock the temporary locks
- it maintained.
-
-
-c.lib 1.50 (2.8.2003)
-
-- Rewrote the entire Amiga->Unix and Unix->Amiga name/path translation
- code from scratch. It's now much more robust than it used to be.
-
-- Restored the original difftime() code.
-
-
-c.lib 1.49 (1.8.2003)
-
-- vfprintf() now treats the '%' format specifier as an escape
- character and produces the next following letter as is if that
- letter does not indicate a specific format.
-
-
-c.lib 1.48 (31.7.2003)
-
-- vfprintf() now sets up the buffer it uses for converting numbers
- into text every time it goes through the main loop. This means
- that a terminating '\0' is placed at the end.
-
-- vfprintf() now first checks if a floating point number is
- +/-infinity or not a number and then performs the '%g' check
- to figure out which output format should be used.
-
-- Fixed the alternate conversion option for precision == 0 and
- the %e/%f/%g conversions.
-
-- In vfprintf(), if there is no digit following the precision
- specifier, the precision is now set to 0.
-
-- In vfscanf() only %c, %s and %[ respond to the maximum field
- width option, all other conversion methods ignore it.
-
-- readdir() again returns the ".." entry for the root
- directory.
-
-
-c.lib 1.47 (31.7.2003)
-
-- Fixed vfscanf() and strtol() again to accept very small negative
- integers (-2147483648). The previous check to avoid overflows
- was too strict.
-
-
-c.lib 1.46 (31.7.2003)
-
-- strftime() now makes sure that the string generated is always
- NUL-terminated. The formatting code checks if the dates are
- in range to avoid accessing invalid day/month table data.
-
-
-c.lib 1.45 (30.7.2003)
-
-- lseek() could end up freeing a local buffer twice. Fixed.
-
-- The sscanf() wrapper no longer emulates seek/write.
-
-- Added some more error checking to the vasprintf() code.
-
-- Fixed the %h qualifier in vfprintf().
-
-- The %d conversion of negative integers in vfprintf() was relying
- upon a non-portable operation: the % operator used on negative
- numbers was expected to yield a negative result. The new code
- tries to be more careful and uses the % operator only on
- non-negative numbers.
-
-- vfprintf() now handles floating point number exponents
- gracefully which are larger than 100.
-
-- Made the varargs handling vfprintf() more portable.
-
-- vfscanf() could produce an error if a character in the
- format string did not exactly match the corresponding
- character in the input stream. Now it just pushes the
- character back and stops scanning.
-
-- The %c conversion in vfscanf() never stored more than
- one single character.
-
-- The automatic %d octal number conversion in vfscanf() lost
- the first digit following the introducing '0'. Fixed.
-
-- vfscanf() now properly handles the 0x/0X prefix for the
- %x conversion.
-
-- vfscanf() now only returns EOF if no arguments could be
- converted and the EOF status of the stream involved has
- been asserted.
-
-- vsnprintf() no longer tries to skip the trailing NUL byte if
- the resulting string is larger than the buffer it would
- hold.
-
-- The memory allocation cleanup code now also properly handles
- the extra large debug allocations and cleans up the
- alloca() tracking list.
-
-- Fixed strncpy() and strncat() again not to write too much
- data. Also strncat() does not pad the destination buffer.
- Neither function is supposed to do anything if the
- length parameter is negative.
-
-- strncmp() now returns 0 if the length parameter is negative.
-
-
-amiga.lib 1.7 (30.7.2003)
-
-- None of the 68k assembly language files appear in the PowerPC build
- any more. Also, none of the functions which use the local CallHook()
- appear in the PowerPC build either.
-
-
-c.lib 1.44 (28.7.2003)
-
-- Files created through open() now get their 'executable' protection
- bits cleared when they are closed.
-
-- mkdir() now sets the protection bits on the directory created.
-
-- The record locking code now uses shared semaphore locking where
- necessary.
-
-- Added workarounds for NIL: style file handles inthe record locking
- code.
-
-- Preparations to get rid of the file descriptor use counter...
-
-- __open_iob() no longer calls lseek().
-
-- popen() and fdopen() now also ignore the extra access options
- separated by a comma.
-
-- tmpnam() now creates names with up to 10 characters.
-
-- Lost the special case code for zero length memory allocations.
- They now produce NULL result codes.
-
-- Lost the DosLibrary, LocaleBase and ExecBase definitions where
- they were not actually required.
-
-- strncat() didn't pad the destination string with NUL bytes,
- according to spec. Fixed.
-
-- Fixed the weird strxfrm() to work according to spec.
-
-- Simplified the asctime() and strftime() code.
-
-- The "%j" format specifier did not produce exactly three digits
- in strftime(). Fixed.
-
-
-amiga.lib 1.6 (28.7.2003)
-
-- Removed NULL pointer checks from "amiga.lib". Added assertions in
- their places.
-
-- Added tests for IconBase and CxBase to the "amiga.lib" routines.
-
-
-c.lib 1.43 (27.7.2003)
-
-- readlink() didn't free the DeviceProc structure it could use.
-
-- More fixes to the record locking code. If a lock/unlock action was
- performed on a duplicate of a file descriptor, it wasn't always
- guaranteed that all the duplicate/original file descriptors were
- affected.
-
-- Fixed a potential bug in the strncpy() code which could drop into
- an infinite loop.
-
-- Replaced almost all do .. while loops with while .. loops.
-
-
-c.lib 1.42 (27.7.2003)
-
-- Changed the memcpy(), bcopy(), memmove() and bcopy() code
- not to use any assembly language bits. I'm wondering whether
- this will have an effect on overall stability.
-
-- The internal number->string conversion routine used by the
- time.lib code had two of its parameters swapped. Fixed.
-
-- The main() startup code had a bug in the character escape
- handling. Everything escaped other than 'e' or 'n' would
- terminate the respective command line parameter in place.
-
-- The shell escape character (default is '*') is now configurable
- at compile time, which can help applications ported from the
- Unix world.Note that you cannot override the '*' escape character,
- you can merely define another valid escape character.
-
-- Changed how double quotes are used by the main() startup code.
- A quoted string is now terminated if there is a blank space
- following the final double quote or if the end of the command
- line is reached.
-
-
-c.lib 1.41 (26.7.2003)
-
-- In vfscanf() the '%e', '%f' and '%g' conversions now default again
- to 'float' unless a format size specifier is used. Also, the function
- no longer 'forgets' that the default conversion is being used, which
- could happen if several parameters were to be converted.
-
-- asctime() now tries to make sure that the conversion process
- does not overflow the local buffer.
-
-- readdir() no longer returns the ".." entry for the root
- directory. Also simplified the readdir() cleanup code.
-
-- open(), stat() and lstat() could leave dangling FileLocks behind. Fixed.
-
-- dup2() now returns the new file descriptor rather than 0. It also
- tries to close the second descriptor if that one is in use and
- easy to close.
-
-- fileno() never returned the associated file descriptor but the
- table index of the FILE stream. Fixed.
-
-- Increased the internal maximum directory/file path length to
- 1024 characters. Note that this means that the entire library
- will have to be rebuilt!
-
-- setvbuf() now frees its custom allocated buffer if flushing the
- write buffer fails.
-
-- setenv() now longer permits a NULL 'value' parameter.
-
-- fdopen() now 'claims' a file descriptor rather than performing
- an 'internal' dup() on it.
-
-- vfscanf() now stops converting the mantissa when it finds
- an exponent character in the input stream.
-
-- vfscanf() now makes sure that the strings it reads are
- all NUL terminated while they are being read. If the
- conversion is aborted, this will still produce a properly
- NUL terminated string.
-
-- The '%' conversion in vfscanf() no longer exits with an
- error if the next character read does not match the
- '%s' character.
-
-- vfprintf() now watches the size of the buffer it uses for
- converting numeric data into strings.
-
-- The file descriptor hook code now initializes the duplicate
- when it performs a dup() operation.
-
-- The record locking support now also extends to duplicated
- file descriptors.
-
-TODO: replace struct fd.fd_UseCount with a flag.
-
-
-net.lib 1.8 (25.7.2003)
-
-- The select() function was broken in a number of ways. Always was, even
- in its original form in the Samba 2.0.7 Amiga emulation library. First,
- the except_fd bits could have been set even for files (unlikely, if not
- impossible to happen). Second, if sockets and real files were used in
- parallel, sockets were preferred and the FD_SETs for the files would
- come out as indicating that data was available for reading/writing
- (which was wrong). Third, the test loop which checked whether the files
- had data waiting to be read never initialized the data structure it
- had to use. As a bonus, the new code now also checks if a file is
- writable and will then flag its FD_SET bit as "ready for writing".
-
-- More fixes to select(): in each iteration of the polling code, the
- set bits would be cleared that might later be used to check for
- new input. This no longer happens.
-
-
-c.lib 1.40 (25.7.2003)
-
-- fopen() now ignores any open options following the mode string,
- separated by comma.
-
-
-c.lib 1.39 (23.7.2003)
-
-- Ouch! vfprintf() didn't work right for floating point number conversion
- (again). The '%g' conversion code didn't work on the PowerPC because
- the method employed to figure out which format to use was not portable.
- Fixed. The '%f' conversion code would produce no output at all if the
- number to be printed was zero and the number of digits following the
- comma was zero, too. Fixed. Large numbers didn't come ought right.
- Fixed. The '%e' conversion code was ill prepared for converting
- negative numbers and sometimes failed to produce digits. Fixed.
-
-- More trouble. strtod() and, by extension, atof() didn't convert
- numbers properly with more than one digit following the mantissa.
- Fixed. Same stupid problem in vfscanf().
-
-- The '%e', '%f' and '%g' conversions would always default to 'float'.
- They now default to 'double'. Use the 'h' or 'L' specifiers if you
- want less/more.
-
-
-c.lib 1.38 (23.7.2003)
-
-- The '%s' and '%[' conversion code in vfscanf() never NUL-terminated
- the string just read. Fixed.
-
-
-amiga.lib 1.5 (15.6.2003)
-
-- CreatePort() didn't fill in the port priority. Fixed.
-
-
-amiga.lib 1.4 (1.5.2003)
-
-- RangeRand() didn't obey the range parameter's restrictions. Fixed.
-
-
-c.lib 1.37 (3.3.2003)
-
-- Added an option to allow a program to detach itself from the shell
- it was launched from. This option is ignored for residentable
- programs.
-
-
-c.lib 1.36 (14.2.2003)
-
-- Removed redundant code from the routines which deal with buffered
- stdio streams. The respective routines now only test for the
- buffering type and ignore the buffer size altogether, just like
- it's supposed to work.
-
-- Fixed the vfprintf() %e format output which no longer flips the
- sign of the number to be converted until it's safe to do so.
- The code to figure out whether %g should be mapped to %e or %f
- was unreliable because it could miscount the number of digits in
- front of the comma.
-
-- Updated the code that dumps the stdio buffer in fcntl() before the
- set/get lock function is performed. These two should have nothing
- in common, though. Let's see what it does.
-
-
-c.lib 1.35 (13.2.2003)
-
-- When a stdio or plain unbuffered stream is opened, the respective data
- structures are reinitialized with default values. Previously, the old
- settings could persist and stale data could cause unallocated or
- reallocated data to be clobbered. This seems to have been the problem
- which eventually broke the Samba port.
-
-- Added some more code to improve debug output quality.
-
-- The buffered stdio routines now include some extra safety checking
- code in case the buffer data structures get clobbered. Not that this
- should happen again...
-
-
-c.lib 1.34 (8.2.2003)
-
-- The program startup code now opens dos.library and utility.library
- before it starts to figure out whether it has sufficient stack space
- available or not. This allows the stack size setup callback function
- to get its bearings. It also simplifies the startup code a bit.
-
-- The UtilityBase and LocaleBase library bases will now be cached until
- the startup code performs its cleanup duties. This is intended to help
- application software which insists on reopening these libraries by
- itself all over again.
-
-- The stdio initialization code now uses the shell's standard error output
- stream if one is available. Otherwise, it will open "CONSOLE:" instead,
- thereby cloning the console file handle.
-
-
-c.lib 1.33 (2.2.2003)
-
-- Rewrote the vfprintf() floating point conversion code not to rely
- upon floating point to integer conversions which could overflow the
- capacity of 32 bit integers. The new code now converts the individual
- digits as floating point numbers which then end up getting converted
- into integers, which should be safe enough.
-
-- Simplified the fgets() code a bit.
-
-
-c.lib 1.32 (26.1.2003)
-
-- The fgets() EOF detection was flawed. Fixed [Andrea Valinotto].
- It now returns NULL if no data was read yet and an EOF condition
- was detected. Previously, it would keep returning an empty string.
-
-
-c.lib 1.31 (14.1.2003)
-
-- Rewrote the floating point conversion code in vfscanf(). The
- EOF handling for the data to be parsed was not robust enough.
- It aborted scanning altogether if the last data item also
- included the last character in the data stream.
-
-- Now properly counts all characters read in vfscanf() even if
- some of them have to be pushed back.
-
-- Invalid character matches are now pushed back by vfscanf().
-
-
-c.lib 1.30 (28.12.2002)
-
-- ungetc() now returns the character pushed back, or EOF if it
- could not push anything back. It also clears the end-of-file
- indicator.
-
-- ftell() no longer drops the read/write buffer contents. It now
- checks where the current file access pointer is and then adjusts
- that position with regard to what's in the read/write buffer.
-
-
-net.lib 1.7 (28.12.2002)
-
-- The socket file descriptor hook now rejects seek accesses,
- setting the proper errno code ESPIPE.
-
-
-net.lib 1.6 (21.12.2002)
-
-- Turns out that the daemon socket bound to the stdio streams must be
- marked as available for reading and writing or Samba won't work.
-
-
-stack.lib 1.2 (18.12.2002)
-
-- Added code that collects information on how much memory is allocated
- for stack extension. That data is printed by the debug library before
- it exits.
-
-
-c.lib 1.29 (18.12.2002)
-
-- strxfrm() and strcoll() did not use the locale.library pragma/inline
- header files and thus would not link properly. Fixed.
-
-- Changed the entry assertions for bcopy(), bsearch(), memcpy(),
- memmove(), memset() and bzero() to ignore zero length arrays.
- This fixes the GCC port which had alloca(0) followed by bzero(..,0)
- in it.
-
-- malloc() and alloca() now return NULL again for a zero length
- allocation. Not sure if this is the way to go...
-
-
-c.lib 1.28 (14.12.2002)
-
-- setenv() trashed the variable value to be used if the variable and
- value names were given in the "variable=value" form. Fixed.
-
-- Reworked the overflow checking for strtol() and the scanf() family
- again. This time it hopefully works as expected.
-
-- Trying to allocate a memory chunk of size 0 now returns a pointer
- to a unique address rather than NULL. I wonder whether this is
- really the right thing to do, but it seems to help the compiler.
-
-- Calling realloc() on a memory chunk with exactly the same size it
- was allocated with now returns a pointer to that chunk rather than
- NULL.
-
-- The alloca() memory cleanup code is now triggered from within the
- library by a separate function which can be told apart from user
- code making the call.
-
-- Now remembers which local variables were set with putenv()/setenv()
- and makes sure that before it exits that they all get removed first.
-
-
-c.lib 1.27 (13.12.2002)
-
-- The strtol() fix didn't actually fix anything broken, but broke some
- working things instead. Fixed.
-
-- Reworked the overflow checking code in scanf() and strtol() again to
- compile without producing warnings.
-
-
-c.lib 1.26 (13.12.2002)
-
-- strtol() did not set the converted number to the smallest possible
- negative integer if the number to convert had a sign. Fixed.
-
-
-c.lib 1.25 (13.12.2002)
-
-- Added special case code to handle conversion of the smallest long
- integer -2147483648 from ASCII string to number.
-
-
-c.lib 1.24 (12.12.2002)
-
-- vfprintf() couldn't convert -2147483648 into a string. This is what
- caused GCC to fail rebuilding itself. Fixed.
-
-
-c.lib 1.23 (12.12.2002)
-
-- setvbuf() now consistently accepts a size value of 0, whereupon
- it will default to "no buffering" mode.
-
-- Ouch. My "optimization" for unbuffered streams did not work if the
- buffer size was set to zero. Fixed.
-
-
-c.lib 1.22 (12.12.2002)
-
-- The buffered file I/O routines no longer take care of appending
- data to the end of the file. This is now done entirely by the
- file descriptor layer.
-
-- fread() could in unbuffered mode end up reading partial elements
- from the file. It now backs up to change the file position to take
- the exact number of records into account that should have been
- read.
-
-- setvbuf() now frees the custom file buffer before replacing it
- with a user supplied buffer.
-
-- stderr is no longer buffered by default (as it should be). However,
- optimizations are in place to make vfprintf() and fputs() queue their
- output until they return.
-
-
-net.lib 1.5 (12.12.2002)
-
-- Replaced the inline header files.
-
-- When launched as a daemon from inetd or similar, the daemon socket
- passed to the startup code is now adopted for stdin. Previously,
- three new sockets were duplicated from the daemon socket. Also,
- the three stdio streams are no longer buffered by default. The
- file descriptor setup now matches the standard I/O setup in that
- stdin can be read from and stdout/stderr can be written to.
-
-
-c.lib 1.21 (10.12.2002)
-
-- The path name translation code could end up clobbering the original
- string. Fixed.
-
-- The command name translation in system() did not work right. It
- ended up translating the entire string which bombed with very
- long command lines. Same problem for popen(), same fix.
-
-- Updated the Unix name translation code to bail out of the string
- to translate is too long to be translated in the first place.
- Previously, it just trashed the stack :(
-
-- system() now calls SystemTagList() with SYS_UserShell=TRUE.
-
-- Fixed up the header files so that function pointers for the debug
- routines actually work. This became apparent when I was trying to
- rebuild the binutils with the clib2.
-
-- The header file no longer pulls in
- by default. If it hasn't been included yet, then only the timeval
- structure is defined.
-
-
-c.lib 1.20 (8.12.2002)
-
-- The stdio buffered file I/O routines now clear their error indicators
- before work begins.
-
-- Simplified the code to back the lseek() function. It no longer calls
- Seek() twice if the file position does not change.
-
-- fgetc() and fputc() now set errno to EBADF if the file in question
- cannot be read from or written to, respectively.
-
-
-amiga.lib 1.3 (8.12.2002)
-
-- The name of the memory pool is now placed at an odd memory location.
-
-
-c.lib 1.19 (4.12.2002)
-
-- index()/rindex()/strchr()/strrch() now perform signed byte
- comparisons. These used to be unsigned.
-
-- Added a cast to memchr() to make sure that the comparison
- is performed on unsigned bytes.
-
-- fseek() and fsetpos() now clear the file EOF condition.
-
-
-c.lib 1.18 (29.11.2002)
-
-- ftruncate() no longer works for files which aren't open for writing.
-
-- Simplified the __show_error() code.
-
-- When allocating a custom buffer, setvbuf() didn't actually fill in
- the allocated buffer's address, causing data to be trashed. Fixed.
- Setting the buffer size to zero now works only for the
- "don't buffer" mode. If the buffer size was changed, the previous
- buffer was not flushed to disk before.
-
-- If an attempt to flush a file write buffer fails, the next attempt
- to put data into the buffer will retry flushing the buffer.
- Previously, data would have been written beyond the bounds of the
- buffer.
-
-- If fgets() hits an error, it now NUL terminates the string
- to be on the safe side.
-
-- Lost the (disabled) asyncio code.
-
-- The startup file for SMALL_DATA32 mode did not set up register A4
- at all. Ouch.
-
-
-amiga.lib 1.2 (29.11.2002)
-
-- Fixed the RVI code to look & work more like the original implementation.
-
-
-m.lib 1.2 (7.11.2002)
-
-- pow() called the IEEEDPPow() LVO with the x/y parameters reversed.
- Actually, IEEEDPPow() seems to be the one to blame [Andrija Antonijevic].
-
-- __fixunsdfsi() and __fixunssfsi() had a cast in the wrong place.
- The original libnix functions these were based on were still
- correct [Andrija Antonijevic].
-
-
-m881.lib 1.2 (7.11.2002)
-
-- __fixunsdfsi() and __fixunssfsi() had a cast in the wrong place.
- The original libnix functions these were based on were still
- correct [Andrija Antonijevic].
-
-
-c.lib 1.17 (7.11.2002)
-
-- ftell() now returns the current file position rather than invoking
- fseek(), which does something different altogether [Andrija Antonijevic].
-
-- fgetpos() now calls ftell() [Andrija Antonijevic].
-
-- fsetpos() didn't properly evaluate the return value of fseek()
- which would have been -1 in case of error [Andrija Antonijevic].
-
-- fseek() now returns 0 for success and -1 for error [Andrija Antonijevic].
-
-
-c.lib 1.16 (5.11.2002)
-
-- memcpy() and memmove() had a debug switch wired the wrong way
- round, causing the wrong kind of code to be emitted. Code which
- could call exec.library/CopyMem and shouldn't have called it.
- Fixed. It no longer depends upon exec.library.
-
-- Removed all the abort signal routines from the string formatting
- code. This kind of action is now done solely by the I/O routines.
-
-
-c.lib 1.15 (4.11.2002)
-
-- sscanf() ended up calling vfprintf(). Ouch.
-
-- Practically none of the numeric conversion operations in the scanf()
- family actually worked. Fixed.
-
-- scanf() and friends now push a character back upon detecting an
- overflow rather than using it and setting the number converted to
- MAXINT.
-
-
-c.lib 1.14 (21.10.2002)
-
-- Rewrote strcasecmp() and strncasecmp() to work more like strcmp() and
- strncmp(). Previously, these functions would drop into the utility.library
- routines Stricmp() and Strnicmp() which don't work like strcmp() or
- strncmp(), respectively.
-
-- Rewrote the code that closes file descriptors. It should now be much smarter
- in handling duplicates.
-
-- fchmod() invoked the wrong hook action which could lead to a crash.
-
-- Added wrapper code for ExamineFH() to avoid crashing due to a bug in
- dos.library V40 and below with NIL: file handles.
-
-- The temporary directory locks set up for temporary files were never
- unlocked.
-
-- Submitting an untracked memory region to be freed did not produce the
- intended error output.
-
-
-c.lib 1.13 (7.10.2002)
-
-- The vfprintf() family didn't produce any sign characters at all unless
- a field width specifier was used [Andrija Antonijevic].
-
-
-c.lib 1.12 (28.9.2002)
-
-- The vfprintf() family got the hexadecimal number conversion (and the pointer
- conversion, too) wrong because the conversion string had an extra zero digit
- in it [Detlef Würkner].
-
-
-c.lib 1.11 (15.9.2002)
-
-- In the printf() family, the default case for '%c' (plain character
- output without padding) did not update the length of the string
- created [Andrija Antonijevic].
-
-
-c.lib 1.10 (11.9.2002)
-
-- In gettimeofday() the important DateStamp() call was missing [Andrija
- Antonijevic].
-
-- Removed the replacement remainder calculation code. It's not necessary.
-
-
-c.lib 1.9 (7.9.2002)
-
-- Added replacement code for the two routines the updated compiler will call
- in place of the inline '020 math which cannot be used on the '060. This
- ought to be done smarter, but this works, too.
-
-
-c.lib 1.8 (28.8.2002)
-
-- The open() code now avoids calling Lock() on NIL:, which otherwise could
- have caused the file open action to follow later to be skipped.
-
-- Added more compiler internal code to support SAS/C.
-
-- Increased the size of the memory debugging walls.
-
-- When reading data off stdin character by character, the stdout and
- stderr streams are now flushed first.
-
-
-c.lib 1.7 (27.8.2002)
-
-- Discovered that ExamineFH() and ChangeMode() will crash on file
- handles which refer to "NIL:". Put a workaround for these into
- the open() code.
-
-
-c.lib 1.6 (27.8.2002)
-
-- With the standard I/O streams the vfprintf() code would still add a
- terminating NUL byte to each string printed. Fixed.
-
-- The open() code now checks before it opens if the file in question
- can be overwritten, should this be necessary. Likewise, once the
- file in question has opened, its protection bits are examined to
- verify that the access mode it has been opened for is applicable
- in the first place.
-
-- The asynchronous I/O option now works only for O_RDONLY and O_WRONLY
- mode access.
-
-
-c.lib 1.5 (25.8.2002)
-
-- fread() treated EOF as an error, returning with 0 characters read
- from the buffer even if there was still some data in the buffer that
- could be read.
-
-- fread() now seeks back to the last location it could read an entire
- element from. Subsequent fgetc() calls will thus pick up the data
- not processed by the previous fread() call. Also, if fread() encounters
- an error, it seeks back to where the read was supposed to begin.
-
-
-c.lib 1.4 (22.8.2002)
-
-- Updated the ctype_headers.h, locale_headers.h, math_headers.h,
- signal_headers.h, stdio_headers.h, stdlib_headers.h, string_headers.h,
- strings_headers.h and time_headers.h header files. The extern library
- definitions are now in the SAS/C branch.
-
-- Moved the __is_daemon definition from unistd.h into dos.h and changed
- its type as well.
-
-
-net.lib 1.4 (22.8.2002)
-
-- Updated the SAS/C compatible prototypes and #pragma definitions.
-
-
-c.lib 1.3 (22.8.2002)
-
-- Files opened in exclusive access mode are now switched back into
- shared access mode for testing.
-
-- The asynchronous file I/O is now enabled only for read and write
- access. Appending is disabled.
-
-- You now have more control over the asynchronous file I/O and can
- enable it on demand and specify the default buffer size.
-
-- You can now provide for a callback function that initializes the
- default stack size to use early on during the runtime configuration
- process.
-
-
-net.lib 1.3 (22.8.2002)
-
-- getgroups() and setgroups() now ignore the second parameter if the
- number of groups involved is zero.
-
-- Upon startup, the runtime environment now sets a global variable
- to 1 if the current program was launched by the internet superserver
- or an equivalent facility.
-
-
-c.lib 1.2 (21.8.2002)
-
-- Added sigaddset() and sigemptyset().
-
-- isxdigit() didn't work. Fixed.
-
-
-net.lib 1.2 (21.8.2002)
-
-- Added setpwent(), getpwent(), endpwent(), setgrent(), getgrent() and
- endgrent()
-
-
-----------------------------------------------------------------------------
-
-amiga.lib 1.1 (20.08.2002)
-
-- Now bears a version number.
-
-
-c.lib 1.1 (20.08.2002)
-
-- Now bears a version number.
-
-
-debug.lib 1.1 (20.08.2002)
-
-- Now bears a version number.
-
-
-m.lib 1.1 (20.08.2002)
-
-- Now bears a version number.
-
-
-m881.lib 1.1 (20.08.2002)
-
-- Now bears a version number.
-
-
-net.lib 1.1 (20.08.2002)
-
-- Now bears a version number.
-
-
-stack.lib 1.1 (20.08.2002)
-
-- Now bears a version number.
-
-
-unix.lib 1.1 (20.08.2002)
-
-- Now bears a version number.
-
-
-----------------------------------------------------------------------------
-
-- '%f' floating point output now also works for numbers > 9.
-
-- needs to include and .
-
-- now only defines a bunch of data types, it no
- longer includes any header files.
-
-- Activated the local bcopy() and ovbcopy() code.
-
-- Added ACrypt().
-
-- Added CreateTask() and DeleteTask().
-
-- Added Sebastian's fix for vsprintf(), which did not generate
- a '-' at all appropriate times.
-
-- Added Unix-style directory scanning with pseudo "/" directory
- support.
-
-- Added __stdio_configure_streams() to reconfigure the stream
- I/O after the Workbench output window has been opened.
-
-- Added a local NewList() replacement.
-
-- Added a plain 68k version of the setjump()/longjmp() pair.
-
-- Added an extra call to __check_abort() after each
- bsdsocket.library call. Because, if a ^C was registered,
- causing the respective function call to return, the signal
- will still be set, waiting to be picked up.
-
-- Added assertions to vfscanf().
-
-- Added basename(), dirname(), asprintf(), snprintf(),
- vasprintf(), vsnprintf(), mkdtemp(), mkstemp(), mktemp(),
- putenv(), setenv(), unsetenv(), strcasecmp(), strncasecmp(),
- strdup(), gettimeofday() and alloca().
-
-- Added data and code to support SAS/C stack overflow checking
- and abort.
-
-- Added further ^C checking to closedir(), opendir(), readdir(),
- rewinddir(), creat(), open(), read(), write(), chmod(), fchmod(),
- fstat(), lstat(), mkdir(), rmdir(), stat(), fprintf(), fputs(),
- ftell(), getc(), getchar(), gets(), __open_iob(), printf(),
- putc(), putchar(), puts(), rewind(), setbuf(), sprintf(),
- tmpfile(), tmpnam(), vfprintf(), __vfscan(), vprintf(),
- vsprintf(), getenv(), system(), strtod(), strtol(), strtoul(),
- strftime(), access(), chdir(), chown(), fchown(), fileno(),
- ftruncate(), getcwd(), getopt(), lchown(), link(), readlink(),
- sleep(), symlink(), truncate(), unlink() and utime().
-
-- Added getopt(), kill() and getpid().
-
-- Added grp.h and pwd.h header files.
-
-- Added isatty().
-
-- Added more assertions and tests to detect illegal parameters
- earlier than before.
-
-- Added more assertions to strftime().
-
-- Added more casts to (size_t) where appropriate.
-
-- Added more memory debugging hooks to other routines which
- implicitly allocate memory and return it.
-
-- Added more of the GCC specific support routines.
-
-- Added new __get_a4() and __set_a4() routines to the startup
- code. Also put them into the header file.
-
-- Added platform specific header file.
-
-- Added popen() and pclose().
-
-- Added some more assertions to qsort().
-
-- Added some of the bsdsocket.library stubs required for
- Samba 2.0.7 to work.
-
-- Added stack size checking support.
-
-- Added stack swapping code.
-
-- Added statfs() and fstatfs().
-
-- Added stub code to handle double precision IEEE math.
-
-- Added support code to emulate the behaviour of debug.lib.
-
-- Added the Amiga/Unix name translation code.
-
-- Added the GCC specific floating point runtime library routines.
-
-- Added the GCC specific startup code.
-
-- Added the README file.
-
-- Added the amiga.lib RVI code.
-
-- Added the hook and method functions from amiga.lib.
-
-- Added the math support code.
-
-- Added the memory allocation debugging code.
-
-- Added the memory pools code to the amiga.lib set.
-
-- Added the monitoring and debugging code.
-
-- Added the remaining few amiga.lib 'C' library routines. The
- memory pools stuff is probably hopeless, but we'll what I can do.
-
-- Added the socket I/O wrapper.
-
-- Added the source code comments to the memory pools source code.
-
-- Added the stack extension code. It still has to be updated to
- be more readable, though.
-
-- Added the wide character stubs.
-
-- Added umask().
-
-- Added usergroup.library support.
-
-- All debug output now uses kprintf() again.
-
-- All memory allocations now use malloc() and free().
-
-- Changed the manner in which the floating point support code is
- compiled into the library.
-
-- Changed the name of the preprocessor symbol which activates
- the Unix file name semantic support.
-
-- Changed the names of unused function parameters to match their uses.
-
-- Changed the way the library is built. We now build seven
- different component libraries which all must be linked
- separately.
-
-- Conditional branches no longer bear an 's' or 'w' suffix.
- The assembler is supposed to find out all by itself which
- one should be picked.
-
-- File descriptors and I/O buffers now receive the respective
- data structures as part of the hook calling packet rather
- than having to probe the h_Data contents.
-
-- Finally figured out what the %n format specifier is supposed
- to accomplish in fprintf().
-
-- Finally figured out what the __main() reference was good
- for and implemented construtor and destructor support.
-
-- Fixed a bunch of compiler warnings.
-
-- Fixed more than one bug in sleep(). This time the code
- hopefully works as advertized.
-
-- Fixed several bugs GCC highlighted.
-
-- Fixed two more compiler warnings related to signed/unsigned
- comparisons.
-
-- For Workbench startup, the stderr stream is now merely an alias
- for the stdout stream.
-
-- Forgot the SAS/C CallHookA() stub.
-
-- Forgot to add the stubs for the socket and usergroup components.
-
-- Found and worked around two more code generation problems with
- WaitSelect() and recvfrom().
-
-- GMT+0 always came out as GMT+ with strftime(). It now stays GMT.
-
-- If possible, memory pools are used for memory management.
-
-- In we now define sigset_t rather than in .
-
-- In CreateTask(), the recovery from a failed AllocEntry() call
- was flawed. Reread the exec source code and fixed that bug.
-
-- In alloca(), no unused memory was ever freed.
-
-- In listen() a test to see if the file descriptor was really a
- socket was missing.
-
-- In memmove(), the local ovbcopy() code is now smarter about the
- registers it has to save.
-
-- In stat(), lstat() and fstat() the st_dev structure member is
- now initialized with the address of the file system's MsgPort
- the respective directory/file is stored on. This allows file
- descriptors to be compared.
-
-- In strstr() there is now a test to make sure that the substring
- is smaller or equal in size to the big string to be searched in.
-
-- In vfprintf() the '%g' output format always came out as '%e' if
- the precision was uninitialized. Fixed.
-
-- Instead of passing local variables around to show errors or to
- display the current program name, the whole code now uses global
- variables.
-
-- Integrated a modified version of the Commodore asynchronous file
- I/O code into the library, mainly for the benefit of Samba.
-
-- Integrated the default stack size checking variables into the
- makefiles.
-
-- Integrated the extra super elaborate advisory file locking code
- which worked so well with Samba. Or did it? With the new library
- it appears that opportunistic locks don't work any more. I'm not
- so sure if they ever did :(
-
-- Knocked up replacement functions for amiga.lib and SAS/C runtime
- library functions.
-
-- Looks like Samba needs the super elaborate locking method after
- all. Oh well...
-
-- Modified the startup code and the assembly language fragments
- to support the -fbaserel32 option. Built Samba 2.0.7 with it,
- which actually seems to work OK.
-
-- Modified the unistd.h header file to avoid clashes with the
- TCP/IP header files.
-
-- More components are now part of libunix.a to make sure that the right replacement functions are linked in.
-
-- Moved NewList() into its own source file. This is supposed to
- be more compatible with amiga.lib.
-
-- Moved all the functions which are unimplemented out of the build
- files. The old build makefiles are still around, though.
-
-- Moved the fundamental file descriptor I/O into the stdio branch.
- The fcntl branch now only contains stubs.
-
-- Moved the locale references made in strtod() into the math
- libraries, too.
-
-- Moved the macro definitions into a separate header file.
-
-- Moved the string hook code into sscanf().
-
-- No longer uses the cooked version of for the build.
- A local "debug.h" header file is used instead.
-
-- Now actually compiles and links with GCC.
-
-- Now builds code for the 68020-60 target rather than 68020-40.
-
-- Now builds with SAS/C again.
-
-- Only a single error message should appear during startup, not
- a long list of messages for each problem that might appear.
-
-- Oops. Forgot the constructor/destructor defaults for GCC.
-
-- Oops. One variable was uninitialized.
-
-- Plugged in the optimized assembly language data copying code.
-
-- Preparations for %ll support in vfprintf() and vfscanf().
-
-- Rebuilt with GCC, which revealed a problem in calling
- AutoRequest(). Fixed.
-
-- Rebuilt with new GCC inline macros which yield better code.
-
-- Redid the BOOPSI functions in 'C'.
-
-- Redid the qsort() code, borrowing snippets from libnix2.
-
-- Reduced the complexity of fseek() a bit.
-
-- Renamed stdio_unixsemantics.c to stdio_unixbehaviour.c.
-
-- Reorganized the libdebug.a source code. Each file now contains
- only a single routine.
-
-- Replaced all unconditional branches with jbra.
-
-- Restored the old advisory record locking code to see if it
- makes a difference.
-
-- Reviewed the stack extension code and added comments. Now
- uses pooled memory allocations instead of AllocMem()/FreeMem()
- if possible.
-
-- Reworked the header file set to key off the compiler used.
-
-- Reworked the popen() initialization code.
-
-- Rewrote the ncrt0.S and nrcrt0.S startup code again, trying to
- make it simpler.
-
-- Rewrote the setjmp()/longjmp() code to also save and restore
- the floating point register set if there is an FPU installed.
-
-- Separated the code paths for alloca(), malloc(), realloc()
- and free(). They all call intermediate routines to get their
- jobs done.
-
-- Simplified error return codes in many components.
-
-- Simplified the build makefile.
-
-- Stack swapping appears to work.
-
-- Switched compiler options to large data/large code to keep
- SAS/C out of my hair.
-
-- Tested the Unix name semantics translation.
-
-- The 'e', 'f' and 'g' formatting commands produce no output
- the floating point support code is not built into the library.
-
-- The Amiga/Unix name translation routines now treat "" and "."
- special.
-
-- The FLOATING_POINT_SUPPORT macro definition never checked for
- the M68881_FLOATING_POINT_SUPPORT symbol. Fixed.
-
-- The HUGE_VAL constant now actually refers to a constant floating
- point number which the startup code will initialize with 'positive
- infinity'.
-
-- The IEEE math code now compiles properly.
-
-- The IEEE math libraries are now opened requiring version 33 or
- higher. Earlier versions did not support floor() or ceil().
-
-- The Unix name translation code now allows for files in /dev to
- be accessed. /dev/null, however, is still mapped to NIL:.
-
-- The __swap_stack_and_call() function never actually loaded A6
- with SysBase. Guess I was lucky...
-
-- The _main() startup code now displays error messages and is more
- careful about mucking with the program's streams and current
- directory configuration.
-
-- The abort() and raise() code now shares the same error message.
-
-- The abort() code now drops into _exit() rather than relying
- upon raise() to do this.
-
-- The amiga_rexxvars code no longer uses 'fp' in place of 'a5'.
-
-- The asyncio.c code now uses the local bcopy() routine rather
- than calling into CopyMem(). The local bcopy() is a lot faster.
-
-- The atexit() processing now takes care of all registered
- functions, even if exit() is called by one of them.
-
-- The constructor/destructor support code could crash if no
- such functions were present in the binary. Fixed.
-
-- The conversion of the program startup parameters to a command
- vector now works as expected.
-
-- The debug.h header file now also works with GCC (sort of).
-
-- The file descriptor duplication is now done in the respective hook.
-
-- The fundamental lseek() code could trash the current file
- position. Fixed.
-
-- The kgetnum() code did not properly update the character
- position for the sign and the digits. Fixed.
-
-- The libdebug.a code is now fully self contained, so that it may
- be linked in last.
-
-- The log tag initialization in the socket setup code did not work
- properly. Fixed.
-
-- The math routines are now compiled only if the preprocessor
- symbols are set up for them to build.
-
-- The name translation routine in readlink() changed the wrong name.
- Fixed.
-
-- The new test code also prints an integer and a rational number
- to test floating point output.
-
-- The non-blocking console I/O flag was not reset as it should have
- been. Fixed.
-
-- The numeric and collation locale references were still using
- the old locale variables. Fixed.
-
-- The numeric conversion routine used by the time code did not
- generate proper ASCII digits. Fixed.
-
-- The old record locking code needed to be integrated better.
-
-- The pseudo-root directory containing all volumes is now scanned
- entirely within readdir(); opendir() now only collects the
- available volume names.
-
-- The raw I/O routines no longer reference the SysBase variable.
-
-- The return code of rename() was always the opposite of what
- it really should have been. Fixed.
-
-- The socket code is now compiled conditionally.
-
-- The special behaviour of remove() and rename() is now a compile
- time option.
-
-- The stack extension setup and cleanup routines are actually
- called now.
-
-- The stack size checking code is no longer built if the stack
- extension code is to be used.
-
-- The stdlib initialization code now attempts to create a memory
- pool. This is done exactly once.
-
-- The time conversion code no longer drops into assert() if the
- time stamp is not within the supported Amiga time window.
-
-- The unlink() and rename() functions can now be configured to
- perform vaguely like on a Unix system.
-
-- There is still something wrong with the built-in functions, so
- I disabled them in the makefile.
-
-- Tried to find a way to allow for ":" to pass through the Unix
- file name translation process without being mistaken for the
- pseudo-root directory.
-
-- Triggering a call to exit() while the program is already on the
- way out should now be considerably safer than it used to be and
- no longer end in recursion.
-
-- Turned out that in order to be residentable, the constant
- __huge_val cannot actually be replaced at runtime with positive
- infinity. So the __huge_val is no longer constant, but a cast in
- forces it to be.
-
-- Turns out that the GNU linker visits each library only once.
- Bummer. Had to reorganize the source code again and now libnet.a
- contains only those special versions of the file access routines
- which use Unix-like semantics and behaviour.
-
-- Updated several instances of signed vs. unsigned comparisons.
-
-- Updated the GNUMakefil to be more portable and to build all the
- library flavours necessary.
-
-- Updated the object file list.
-
-- When using socket I/O as a daemon, no error messages are sent to
- stderr by abort() or raise().
-
-- Whoops. Overlooked two files which should have gone into the
- repository much earlier.
-
-- Workbench startup now opens a default output window.
-
-- __fixunsdfsi() and __fixunssfsi() didn't actually do anything
- useful. Fixed.
-
-- __locale_exit() should no longer close the same locale twice.
-
-- __open_iob() now truncates files for "w+" mode.
-
-- __stdio_exit() and close() should handle closing of an aliased
- file descriptor properly now.
-
-- _main() now checks how much stack space was actually used and
- prints that number.
-
-- access() now always returns an error if a file does not exist.
- This fixes open(), which could fail if a file did not exist
- even though it should have failed if it existed.
-
-- assert() now prints the program name.
-
-- assert() now throughs an Enforcer hit to make bug tracking easier.
-
-- assert() now uses kprintf() to print its messages.
-
-- bcopy() no longer calls into memcpy().
-
-- bzero() no longer calls into memset().
-
-- clock() did not work properly. Fixed.
-
-- free() and malloc() now mangle the contents of the memory
- buffer before they return unless the NDEBUG symbol is defined.
-
-- free() now also invokes the alloca() drop code.
-
-- fseek() could end in an assertion if no data had been read from
- the file yet. Fixed.
-
-- fstat() now also works on sockets.
-
-- getcwd() always trashed memory if "/" was returned. Fixed.
-
-- getcwd() now takes the / directory into account.
-
-- index() and rindex() no longer invoke strchr() and strrch().
-
-- lseek() returns the file position reached after the file
- pointer has been repositioned.
-
-- mktemp() always changed the wrong string. Fixed.
-
-- mktemp() ran over the end of the buffer, only that this didn't
- really matter up until now.
-
-- popen() didn't actually compile. Fixed.
-
-- printf() and friends no longer attempt to NUL terminate streams.
-
-- qsort() and bsearch() no longer drop into abort() if their
- invalid parameters don't matter because there is no data to
- examine.
-
-- readlink() now attempts to let dos.library resolve the path
- and then returns an absolute path name. If that doesn't work,
- it invokes ReadLink() instead.
-
-- realloc() no longer needs to know about the manner in which
- the allocation itself is managed.
-
-- remove() now calls unlink().
-
-- rename() now returns -1 on error, not 0 as it could have done
- accidentally.
-
-- setvbuf() doesn't really need to go through the memory
- allocation debugging code. The memory allocated isn't visible
- to the outside.
-
-- size_t parameters are now tested to see if they might have been
- negative integers originally.
-
-- sleep() tries to be nicer about the timer I/O request in progress.
-
-- snprintf() now returns the number of characters that would
- have been written to the buffer, now matter how many could
- really be stored.
-
-- stat() now makes up pseudo data for the pseudo root directory.
-
-- statfs() now also knows how to treat the pseudo root directory.
-
-- strchr() and strrchr() now perform their comparisons on
- unsigned characters.
-
-- strings.h didn't actually compile. Fixed.
-
-- time() did not add any seconds to the current time. Fixed.
-
-- tmpnam() could return with AmigaDOS requesters disabled for
- the shell. Fixed.
-
-- unlink() now checks if the file to be deleted has been set up
- for deletion before.
-
-- vfprintf() now uses fputc() to dump strings rather than calling
- fwrite(). This has the effect of flushing the buffer properly
- if there are line feed characters in the string specified for %s.
diff --git a/library/complex_carg.c b/library/complex_carg.c
deleted file mode 100644
index 3f6490d..0000000
--- a/library/complex_carg.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_carg.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-double
-carg(double complex z)
-{
- return(atan2(IMAG(z),REAL(z)));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_cargf.c b/library/complex_cargf.c
deleted file mode 100644
index d63d45d..0000000
--- a/library/complex_cargf.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_cargf.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-float
-cargf(float complex z)
-{
- return(atan2(IMAG(z),REAL(z))); /* ZZZ this really needs to call ata2f(). */
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_cargl.c b/library/complex_cargl.c
deleted file mode 100644
index 3293b7c..0000000
--- a/library/complex_cargl.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_cargl.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-long double
-cargl(long double complex z)
-{
- return(atan2(IMAG(z),REAL(z))); /* ZZZ this really needs to call atan2l(). */
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_cimag.c b/library/complex_cimag.c
deleted file mode 100644
index 473300e..0000000
--- a/library/complex_cimag.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_cimag.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-double
-cimag(double complex z)
-{
- return(IMAG(z));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_cimagf.c b/library/complex_cimagf.c
deleted file mode 100644
index bcd26d0..0000000
--- a/library/complex_cimagf.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_cimagf.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-float
-cimagf(float complex z)
-{
- return(IMAG(z));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_cimagl.c b/library/complex_cimagl.c
deleted file mode 100644
index 77b4206..0000000
--- a/library/complex_cimagl.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_cimagl.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-long double
-cimagl(long double complex z)
-{
- return(IMAG(z));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_conj.c b/library/complex_conj.c
deleted file mode 100644
index 7173562..0000000
--- a/library/complex_conj.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_conj.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-double complex
-conj(double complex z)
-{
- return(CONJ(z));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_conjf.c b/library/complex_conjf.c
deleted file mode 100644
index ff2b778..0000000
--- a/library/complex_conjf.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_conjf.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-float complex
-conjf(float complex z)
-{
- return(CONJ(z));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_conjl.c b/library/complex_conjl.c
deleted file mode 100644
index 8871b39..0000000
--- a/library/complex_conjl.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_conjl.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-long double complex
-conjl(long double complex z)
-{
- return(CONJ(z));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_creal.c b/library/complex_creal.c
deleted file mode 100644
index fec8ec1..0000000
--- a/library/complex_creal.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_creal.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-double
-creal(double complex z)
-{
- return(REAL(z));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_crealf.c b/library/complex_crealf.c
deleted file mode 100644
index 09a4380..0000000
--- a/library/complex_crealf.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_crealf.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-float
-crealf(float complex z)
-{
- return(REAL(z));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_creall.c b/library/complex_creall.c
deleted file mode 100644
index 4236d03..0000000
--- a/library/complex_creall.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: complex_creall.c,v 1.1 2005-04-03 10:22:47 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#include "complex_headers.h"
-#endif /* _COMPLEX_HEADERS_H */
-
-/****************************************************************************/
-
-#if defined(COMPLEX_SUPPORT)
-
-/****************************************************************************/
-
-long double
-creall(long double complex z)
-{
- return(REAL(z));
-}
-
-/****************************************************************************/
-
-#endif /* COMPLEX_SUPPORT */
diff --git a/library/complex_headers.h b/library/complex_headers.h
deleted file mode 100755
index 415ab90..0000000
--- a/library/complex_headers.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * $Id: complex_headers.h,v 1.3 2005-05-12 14:50:06 obarthel Exp $
- *
- * :ts=4
- *
- * Portable ISO 'C' (1994) runtime library for the Amiga computer
- * Copyright (c) 2002-2005 by Olaf Barthel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Neither the name of Olaf Barthel nor the names of contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _COMPLEX_HEADERS_H
-#define _COMPLEX_HEADERS_H
-
-/****************************************************************************/
-
-#ifndef _MATH_FP_SUPPORT_H
-#include "math_fp_support.h"
-#endif /* _MATH_FP_SUPPORT_H */
-
-/****************************************************************************/
-
-#if defined(FLOATING_POINT_SUPPORT) && defined(__GNUC__) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-
-/****************************************************************************/
-
-#include
-#include
-
-/****************************************************************************/
-
-#define COMPLEX_SUPPORT
-
-/****************************************************************************/
-
-#define REAL(z) (__real__ (z))
-#define IMAG(z) (__imag__ (z))
-#define CONJ(z) (~(z))
-
-/****************************************************************************/
-
-#endif /* FLOATING_POINT_SUPPORT && __GNUC__ && __STDC_VERSION__ */
-
-/****************************************************************************/
-
-#endif /* _COMPLEX_HEADERS_H */
diff --git a/library/crt0.S b/library/crt0.S
deleted file mode 100644
index d952d3e..0000000
--- a/library/crt0.S
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// $Id: crt0.S,v 1.3 2005-06-26 12:02:56 tfrieden Exp $
-//
-// :ts=4
-//
-
- .text
-
- .globl _main
- .globl _start
-
-_start:
-
-#if defined(SMALL_DATA)
- /* Don't do a function call here, since that
- means LR has to be saved */
- lis r13, _SDA_BASE_@ha
- addi r13, r13, _SDA_BASE_@l
-#endif
-
-#if defined(BASEREL_DATA)
- /* We also need to set up the data segment pointer */
- lis r2, _DATA_BASE_@ha
- addi r2, r2, _DATA_BASE_@l
-#endif
-
- b _main
diff --git a/library/crtbegin.c b/library/crtbegin.c
deleted file mode 100644
index b08a9c8..0000000
--- a/library/crtbegin.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * $Id: crtbegin.c,v 1.10 2005-03-18 12:38:22 obarthel Exp $
- *
- * :ts=4
- *
- * Handles global constructors and destructors for the OS4 GCC build.
- */
-
-#if defined(__amigaos4__)
-
-/****************************************************************************/
-
-#ifndef EXEC_TYPES_H
-#include