mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
Compare commits
211 Commits
BEFORE_CON
...
V1_200
| Author | SHA1 | Date | |
|---|---|---|---|
| d03297b6b9 | |||
| c26ee0ba7f | |||
| 41eef5e1aa | |||
| bbea0a86bd | |||
| 91b4f288f9 | |||
| 55ab845de0 | |||
| 184a2ada87 | |||
| 2e227506e5 | |||
| 2e4de301cc | |||
| 9c436ceaaa | |||
| bfedbbabd7 | |||
| 0266e8c0ad | |||
| 524b70034c | |||
| 48654e7cb4 | |||
| e40fc3dea2 | |||
| 230dcf2e26 | |||
| 98d26f36ac | |||
| 9be142d251 | |||
| b2bc0096dc | |||
| e833477448 | |||
| 23c2091ab4 | |||
| ca30ee62a2 | |||
| 9ab31bb996 | |||
| 26b8b9efbf | |||
| 67ff2ca833 | |||
| 797fcb89a1 | |||
| 0809248009 | |||
| 1153e58366 | |||
| 06e5f437d9 | |||
| fa8fc6959f | |||
| 954e614cb2 | |||
| a5a5e36119 | |||
| e4f9d1b7f6 | |||
| 0459ea1fc9 | |||
| fe29857567 | |||
| 5578c6a39e | |||
| 2b50d1586c | |||
| 0f5e6747e0 | |||
| a0a46206d1 | |||
| c7fbdf27e1 | |||
| 010d4c1c06 | |||
| 81958fd44b | |||
| 937169c0ba | |||
| dda36eb609 | |||
| 867e6d500a | |||
| 99e9ebfc15 | |||
| 63c08cfe0e | |||
| b6de3e4c48 | |||
| 090753282b | |||
| d45da0acd4 | |||
| 3480ec40b3 | |||
| f9e782d358 | |||
| 44bcf889e5 | |||
| 257dd6af88 | |||
| acafd14bc2 | |||
| b63587ed80 | |||
| b861ed19c4 | |||
| ccfea73fc5 | |||
| d74640b15b | |||
| db9a1c69e5 | |||
| cb1f1a4a10 | |||
| bb2376a6ed | |||
| 159e55f1e6 | |||
| 4e30f5604d | |||
| 095a14bf1f | |||
| f84fbc32cb | |||
| 3099f6210a | |||
| 378e50d2ab | |||
| 0d85b41a2d | |||
| 7a57c4d499 | |||
| cef75752d9 | |||
| d31a351d6c | |||
| 2e56caa3fb | |||
| 4cde124d5d | |||
| 1d1d340ae1 | |||
| 6612118e97 | |||
| 5acfef419b | |||
| eb10d40332 | |||
| 6aaa439593 | |||
| b76ec2c143 | |||
| 773035a695 | |||
| 79be2279ec | |||
| b1f08e4123 | |||
| 872c9bc39c | |||
| 132aaa8293 | |||
| 882875d79a | |||
| cd7b02f4d7 | |||
| 2ed463f8e3 | |||
| acaf12ee7c | |||
| fdb188da1a | |||
| 9d2ab96b56 | |||
| 6ba2f7a178 | |||
| 525bdde6d5 | |||
| 38818e6502 | |||
| ebf5d63bc6 | |||
| 2421ffcbb9 | |||
| 2bdd055f4b | |||
| 039c805161 | |||
| e19974fe47 | |||
| bb41d5e549 | |||
| fd163c7105 | |||
| a3d61a67c8 | |||
| 459d57da9c | |||
| 3d58795d0f | |||
| e293873dc7 | |||
| 17e3b3b0e2 | |||
| ae1ac21c71 | |||
| 2025e39014 | |||
| ea09fc96db | |||
| bf0a6e0c43 | |||
| cf74717ead | |||
| f81dfdfca7 | |||
| 196ce6e140 | |||
| 629e40475f | |||
| 85e421feb8 | |||
| 3be260b746 | |||
| b78a86774c | |||
| 9aba55afba | |||
| 426fe0cc61 | |||
| 6a13b08f40 | |||
| 59807dbff1 | |||
| 414e07aa20 | |||
| 2a22c4ff0d | |||
| 576660ca0a | |||
| 5451d3a694 | |||
| c26da2c5e8 | |||
| c3975b1e6e | |||
| a79b05194d | |||
| 3975d234bd | |||
| 3c220c3939 | |||
| 49e98713d4 | |||
| 505c23237a | |||
| ffeb475873 | |||
| c3a10b88b5 | |||
| 2ced1d3293 | |||
| fb4dae84aa | |||
| a03ced93b0 | |||
| a19d60f524 | |||
| f6d20fee01 | |||
| d4aa0b04af | |||
| df05c80c57 | |||
| a1ffc20864 | |||
| 13c857ba0a | |||
| 5ecfdf33c6 | |||
| fa31c468dc | |||
| feb29fa334 | |||
| d0a4e057bc | |||
| c5087c78ce | |||
| c5c6492868 | |||
| 539cc3553d | |||
| bc65dd2877 | |||
| ec027fa510 | |||
| 65484eac3c | |||
| 2be60de3e7 | |||
| 89b568bcb8 | |||
| 2548af2b4b | |||
| a1b39c4d01 | |||
| 9e32991a6d | |||
| c8d29ea9c1 | |||
| 28f561c61b | |||
| 07056f3e26 | |||
| 3bd6766484 | |||
| e01d58319d | |||
| ec4fd3c2cb | |||
| df89c636db | |||
| 90a192134e | |||
| 3660b26c9f | |||
| 9f3d5e50b4 | |||
| 876039440f | |||
| 0c553faff1 | |||
| 1d611fefbe | |||
| a50aba0b64 | |||
| 2e9ac7d003 | |||
| 0a440c8405 | |||
| f63a0788d5 | |||
| 431dd488a1 | |||
| 15c16efd07 | |||
| 6e39efe7d7 | |||
| 92cc3e9a79 | |||
| a18f415374 | |||
| 3096691d75 | |||
| d5c36d66e4 | |||
| 7f9fbc453b | |||
| 6f010ddf87 | |||
| 09b52e077f | |||
| 9c2c44b008 | |||
| df01f27551 | |||
| 58d26ce8cb | |||
| b1ac45a0b9 | |||
| aafda37c84 | |||
| 3eb15a612f | |||
| 590d1b8eec | |||
| 1fbe4bd0a5 | |||
| 8edfcc3f86 | |||
| a6daababe7 | |||
| 5695784272 | |||
| 5eefcf4555 | |||
| d85d6648ea | |||
| c471c50784 | |||
| cd10dc9a1a | |||
| 7d3ea7fae6 | |||
| ead29c1850 | |||
| f492e6a6c0 | |||
| dc80018239 | |||
| 966851e8bd | |||
| a60623bbc6 | |||
| d8bf652ae6 | |||
| b048323196 | |||
| 08cc54d3fa | |||
| 419172fb0e | |||
| f289140266 |
@ -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:
|
||||
#
|
||||
# [<whitespace>]<filename>[<whitespace><error message>]<end-of-line>
|
||||
#
|
||||
# comment lines begin with '#'
|
||||
@ -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".
|
||||
@ -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
|
||||
@ -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'
|
||||
@ -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.
|
||||
@ -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
|
||||
@ -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.
|
||||
@ -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
|
||||
@ -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".
|
||||
@ -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".
|
||||
@ -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.
|
||||
@ -1,30 +0,0 @@
|
||||
<!DOCTYPE html public "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Notes on building the library</title>
|
||||
<body>
|
||||
|
||||
<h1>Notes on building the library</h1>
|
||||
|
||||
<p>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 <tt>netinclude</tt> which has to sit in the same directory as
|
||||
the source code and the <tt>include</tt> 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.</p>
|
||||
|
||||
<p>The SAS/C flavour (<tt>smakefile</tt>) 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 (<tt>startup.o</tt>) and doesn't tinker with A4 relative data
|
||||
addressing (and how this may be set up).</p>
|
||||
|
||||
<p>There are two makefiles for GCC, each a different flavour. There is <tt>GNUmakefile.68k</tt>,
|
||||
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 (<tt>GNUmakefile.os4</tt>). 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.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -1,67 +0,0 @@
|
||||
<!DOCTYPE html public "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Notes on using the library with Amiga GCC (68k)</title>
|
||||
<body>
|
||||
|
||||
<h1>Notes on using the library with Amiga GCC (68k)</h1>
|
||||
|
||||
<p>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 <tt>specs</tt> 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.</p>
|
||||
|
||||
<p>Please read the following description before you follow the instructions. The
|
||||
changes suggested may have unexpected side-effects!</p>
|
||||
|
||||
<p>I have provided a working <tt>specs</tt> file with this documentation file. To switch
|
||||
over an existing Amiga 68k port of GCC to use clib2, you would proceed as
|
||||
follows:</p>
|
||||
|
||||
<ul>
|
||||
<li> Locate the directory within which GCC is installed. For example, this
|
||||
could be within a directory to which the name <tt>ADE:</tt>, <tt>GG:</tt> or <tt>GCC:</tt>
|
||||
is assigned. For the sake of simplicity, the following notes assume
|
||||
that the assignment name is <tt>GCC:</tt>
|
||||
|
||||
<li> Make backup copies of the following directories and files:
|
||||
<ol>
|
||||
<li> <tt>GCC:lib/gcc-lib/amigaos/2.95.3/specs</tt><br>
|
||||
|
||||
<p>(NOTE: Check the directory called <tt>GCC:lib/gcc-lib/amigaos</tt>
|
||||
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!)</p>
|
||||
|
||||
<li> <tt>GCC:include</tt>
|
||||
<li> <tt>GCC:lib</tt>
|
||||
|
||||
</ol>
|
||||
|
||||
<li> Now you can proceed to install clib2; just copy the <tt>include</tt> and <tt>lib</tt>
|
||||
directories over, like this:
|
||||
<ol>
|
||||
<li><kbd>Copy include GCC:include all quiet</kbd>
|
||||
<li><kbd>Copy lib GCC:lib all quiet</kbd>
|
||||
</ol>
|
||||
|
||||
<li> Finally, replace the <tt>specs</tt> file with the one provided:
|
||||
<ol>
|
||||
|
||||
<li> <kbd>Copy specs GCC:lib/gcc-lib/amigaos/2.95.3/specs</kbd><br>
|
||||
|
||||
<p>(NOTE: Check the directory called <tt>GCC:lib/gcc-lib/amigaos</tt>
|
||||
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!)</p>
|
||||
</ol>
|
||||
</ul>
|
||||
|
||||
<p>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!</p>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,250 +0,0 @@
|
||||
<!DOCTYPE html public "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>An ISO 'C' (1994) compliant runtime library for the Amiga</title>
|
||||
<body>
|
||||
|
||||
<h1>An ISO 'C' (1994) compliant runtime library for the Amiga</h1>
|
||||
|
||||
<h2>1. What is this?</h2>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
|
||||
<h2>2. What does it do?</h2>
|
||||
|
||||
<p>Using <i>'C' - A reference manual</i> (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.</p>
|
||||
|
||||
<p>Because Samba needs a few POSIX-like routines to be supported, the library
|
||||
functionality is complemented by a set of routines described in <i>Advanced
|
||||
programming in the Unix environent</i>.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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 <tt>IEEE_FLOATING_POINT_SUPPORT</tt> preprocessor symbol to activate IEEE math
|
||||
code and the <tt>M68881_FLOATING_POINT_SUPPORT</tt> symbol for M68881 inline math.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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 <tt>__stack_size</tt> variable (see
|
||||
<tt>stdlib_main.c</tt>).</p>
|
||||
|
||||
<p>I added some <tt>amiga.lib</tt> and <tt>debug.lib</tt> functionality to the library, but don't
|
||||
count on it to be complete.</p>
|
||||
|
||||
<p>The library code is supposed to be thread-safe if built with the <tt>__THREAD_SAFE</tt>
|
||||
preprocesssor symbold defined. Note that 'thread-safe' does <em>not</em> mean
|
||||
'reentrant'. Multiple callers for certain library functions are permitted, but
|
||||
not for all of them. For example, <tt>mkdtemp()</tt> is not thread-safe, and neither is
|
||||
<tt>rand()</tt> or <tt>localtime()</tt>. But as per POSIX 1003.1c-1995 there are thread-safe
|
||||
variants of <tt>rand()</tt> and <tt>localtime()</tt> called <tt>rand_r()</tt>, <tt>localtime_r()</tt>, and others.
|
||||
The use of the socket I/O functions is still problematic because the
|
||||
underlying <tt>bsdsocket.library</tt> 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 <tt>errno</tt> variable which currently always contains the
|
||||
error code left by the last caller.</p>
|
||||
|
||||
<p>Take care: 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 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.</p>
|
||||
|
||||
|
||||
<h2>3. What does it not do?</h2>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>There is very little support for <tt>amiga.lib</tt> functionality. There is <tt>NewList()</tt>,
|
||||
<tt>HookEntry()</tt>, <tt>CallHook()</tt>, <tt>CallHookA()</tt>, the <tt>DoMethod()</tt> 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 <tt>amiga.lib</tt>, you really shouldn't need in in the first place.</p>
|
||||
|
||||
|
||||
<h2>4. Where does the source code come from?</h2>
|
||||
|
||||
<p>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 <tt>bcopy()</tt> as an alias for <tt>memcpy()</tt>, and
|
||||
unlike <tt>memcpy()</tt> is documented to, <tt>bcopy()</tt> supports overlapping copies.</p>
|
||||
|
||||
<p>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 <tt>setjmp</tt>/<tt>longjmp</tt>
|
||||
routines and the startup code. The M68881 inline math code comes from the
|
||||
<tt><math-68881.h></tt> file written by Matthew Self <tt>(self@bayes.arc.nasa.gov)</tt>.</p>
|
||||
|
||||
|
||||
<h2>5. Limitations and caveats</h2>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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 <tt>malloc()</tt> 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 <tt>free()</tt> 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 <tt>NDEBUG</tt> preprocessor symbol at compile time (see <tt><assert.h></tt>).</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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 <tt>data=faronly</tt> option to compile the
|
||||
library and the programs.</p>
|
||||
|
||||
<p>Different build makefiles are supplied for use with GCC. There is
|
||||
<tt>GNUmakefile.68k</tt> for the 68k platform and <tt>GNUmakefile.os4</tt> for the AmigaOS4
|
||||
PowerPC version.</p>
|
||||
|
||||
|
||||
<h2>6. Conventions and design issues</h2>
|
||||
|
||||
<p>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 <tt>unistd_lchown.c</tt> contains the definition of
|
||||
the <tt>lchown()</tt> routine, which has its prototype defined in the <tt><unistd.h></tt> header
|
||||
file.</p>
|
||||
|
||||
<p>Internal function and variables which need to be visible across several
|
||||
modules have names prefixed with two underscores, as in <tt>__stdio_init()</tt>.</p>
|
||||
|
||||
<p>All routines attempt to do error checking on their parameters. They will
|
||||
either drop into an <tt>assert()</tt> or set an errno value and refuse to go any
|
||||
further. This cuts performance but should help to catch the simple bugs quite
|
||||
easily (<tt>NULL</tt> pointers).</p>
|
||||
|
||||
<p>Just like any halfway sane Amiga 'C' runtime library, this one performs its <tt>^C</tt>
|
||||
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 <tt>^C</tt> signal and drop into
|
||||
<tt>raise(SIGINT)</tt> 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.</p>
|
||||
|
||||
<p>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, <tt>unlink()</tt> will by default operate like <tt>DeleteFile()</tt> and <tt>rename()</tt>
|
||||
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 <tt>__unix_semantics</tt> 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.</p>
|
||||
|
||||
|
||||
<h2>7. The startup code</h2>
|
||||
|
||||
<p>There are three program startup files provided. The most simplistic is in
|
||||
<tt>startup.c</tt> which I use for SAS/C. It just invokes the setup routine which
|
||||
eventually calls <tt>main()</tt> and drops straight into <tt>exit()</tt>.</p>
|
||||
|
||||
<p>The <tt>ncrt0.S</tt> file was adapted from the libnix startup code which sets up the
|
||||
base relative data area, if necessary (the <tt>SMALL_DATA</tt> preprocessor symbol must
|
||||
be defined).</p>
|
||||
|
||||
<p>The <tt>nrcrt0.S</tt> 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
|
||||
<tt>geta4()</tt> stub is missing here; it wouldn't work in a resident program anyway.</p>
|
||||
|
||||
<p>The <tt>ncrt0.S</tt> and <tt>nrcrt0.S</tt> 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 <tt>stdlib_main.c</tt> file rather than in
|
||||
assembly language.</p>
|
||||
|
||||
|
||||
<h2>8. Documentation</h2>
|
||||
|
||||
<p>Well, you're reading it. There isn't anything much yet. You can consult the book
|
||||
<i>'C' - A reference manual</i> and you could look at the
|
||||
<a href="http://www.opengroup.org/onlinepubs/007904975">Open Group's Single Unix
|
||||
Specification</a>.</p>
|
||||
|
||||
|
||||
<h2>9. Legal status</h2>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>The PowerPC math library is based in part on work by Sun Microsystems:</p>
|
||||
|
||||
<pre>
|
||||
====================================================
|
||||
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.
|
||||
====================================================
|
||||
</pre>
|
||||
|
||||
<h2>10. Contacting the author</h2>
|
||||
|
||||
<p>The basic work was done by Olaf Barthel during two weeks in July 2002. You
|
||||
can reach me at:</p>
|
||||
|
||||
<p>Olaf Barthel<br>
|
||||
Gneisenaustr. 43<br>
|
||||
D-31275 Lehrte<br></p>
|
||||
|
||||
<p>Or via e-mail:</p>
|
||||
|
||||
<p>olsen@sourcery.han.de</p>
|
||||
</body>
|
||||
</html>
|
||||
@ -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} %{m68881:-fl libm881}
|
||||
|
||||
*lib:
|
||||
%{mstackextend:-lstack} -lc -lamiga -ldebug -lgcc -lc
|
||||
|
||||
*libgcc:
|
||||
|
||||
|
||||
*startfile:
|
||||
%{resident32:nr32crt0.o%s mainb32.o%s}%{!resident32:%{fbaserel32:nb32crt0.o%s mainb32.o%s}%{!fbaserel32:%{resident:nrcrt0.o%s mainb.o%s}%{!resident:%{fbaserel:nbcrt0.o%s mainb.o%s}%{!fbaserel:ncrt0.o%s mainnb.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*}
|
||||
}}}}}}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# $Id: GNUmakefile.68k,v 1.40 2005-03-11 09:37:27 obarthel Exp $
|
||||
# $Id: GNUmakefile.68k,v 1.84 2006-04-05 08:39:45 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
@ -12,7 +12,7 @@ RANLIB = ranlib
|
||||
COPY = copy clone buf=0
|
||||
DELETE = delete all quiet
|
||||
MAKEDIR = makedir
|
||||
MAKE = make -f GNUmakefile.68k
|
||||
MAKE = $(MAKE_COMMAND) -f GNUmakefile.68k
|
||||
|
||||
##############################################################################
|
||||
|
||||
@ -21,7 +21,6 @@ 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
|
||||
@ -30,7 +29,6 @@ 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
|
||||
@ -58,10 +56,6 @@ $(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 $<
|
||||
@ -78,7 +72,7 @@ $(LIBAMIGA_OBJS)/%.o : %.c
|
||||
|
||||
ifeq (small_data_020,$(TYPE))
|
||||
CODE_TYPE := -m68020-60
|
||||
CODE_FLAGS := -fbaserel -DSMALL_DATA -DM68020
|
||||
CODE_FLAGS := -fbaserel -DSMALL_DATA -DM68020 -DUSE_64_BIT_INTS
|
||||
endif
|
||||
|
||||
ifeq (small_data,$(TYPE))
|
||||
@ -88,12 +82,12 @@ endif
|
||||
|
||||
ifeq (small_data32,$(TYPE))
|
||||
CODE_TYPE := -m68020-60
|
||||
CODE_FLAGS := -fbaserel32 -DSMALL_DATA32 -DM68020
|
||||
CODE_FLAGS := -fbaserel32 -DSMALL_DATA32 -DM68020 -DUSE_64_BIT_INTS
|
||||
endif
|
||||
|
||||
ifeq (large_data_020,$(TYPE))
|
||||
CODE_TYPE := -m68020-60
|
||||
CODE_FLAGS := -DM68020
|
||||
CODE_FLAGS := -DM68020 -DUSE_64_BIT_INTS
|
||||
endif
|
||||
|
||||
ifeq (large_data,$(TYPE))
|
||||
@ -110,14 +104,18 @@ WARNINGS = \
|
||||
# -Wconversion -Wshadow
|
||||
|
||||
INCLUDES = -Iinclude -I. -Inetinclude
|
||||
OPTIONS = -DNDEBUG -fno-builtin
|
||||
#OPTIONS = -D__MEM_DEBUG -fno-builtin
|
||||
#OPTIONS = -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG -fno-builtin
|
||||
#OPTIONS = -fno-builtin -fno-common -DDEBUG
|
||||
OPTIONS = -fno-builtin -fno-common -DNDEBUG
|
||||
#OPTIONS = -fno-builtin -fno-common -DNDEBUG -D__THREAD_SAFE
|
||||
#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 = -g2
|
||||
#DEBUG = -g
|
||||
|
||||
CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_FLAGS) $(CODE_TYPE) $(INCLUDES)
|
||||
CFLAGS = \
|
||||
$(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) \
|
||||
$(CODE_FLAGS) $(CODE_TYPE) $(INCLUDES)
|
||||
|
||||
##############################################################################
|
||||
|
||||
@ -126,6 +124,7 @@ C_LIB = \
|
||||
ctype_isalnum.o \
|
||||
ctype_isalpha.o \
|
||||
ctype_isascii.o \
|
||||
ctype_isblank.o \
|
||||
ctype_iscntrl.o \
|
||||
ctype_isdigit.o \
|
||||
ctype_isgraph.o \
|
||||
@ -154,6 +153,10 @@ C_LIB = \
|
||||
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 \
|
||||
@ -166,6 +169,7 @@ C_LIB = \
|
||||
signal_checkabort.o \
|
||||
signal_data.o \
|
||||
signal_kill.o \
|
||||
signal_mask.o \
|
||||
signal_raise.o \
|
||||
signal_sigaddset.o \
|
||||
signal_sigblock.o \
|
||||
@ -201,6 +205,7 @@ C_LIB = \
|
||||
stdio_findvacantiobentry.o \
|
||||
stdio_flockfile.o \
|
||||
stdio_flush.o \
|
||||
stdio_flush_all_files.o \
|
||||
stdio_flushiobwritebuffer.o \
|
||||
stdio_fopen.o \
|
||||
stdio_fprintf.o \
|
||||
@ -210,8 +215,10 @@ C_LIB = \
|
||||
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 \
|
||||
@ -267,9 +274,13 @@ C_LIB = \
|
||||
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_alloca_cleanup.o \
|
||||
stdlib_alloca_trap.o \
|
||||
stdlib_assertion_failure.o \
|
||||
stdlib_atexit.o \
|
||||
stdlib_atoi.o \
|
||||
@ -293,13 +304,19 @@ C_LIB = \
|
||||
stdlib_free.o \
|
||||
stdlib_getdefstacksize.o \
|
||||
stdlib_getenv.o \
|
||||
stdlib_getmemstats.o \
|
||||
stdlib_getsp.o \
|
||||
stdlib_get_errno.o \
|
||||
stdlib_init_exit.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_main_stub.o \
|
||||
stdlib_malloc.o \
|
||||
stdlib_math.o \
|
||||
stdlib_mkdtemp.o \
|
||||
@ -312,12 +329,14 @@ C_LIB = \
|
||||
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_resetmemstats.o \
|
||||
stdlib_semaphore.o \
|
||||
stdlib_setenv.o \
|
||||
stdlib_setjmp.o \
|
||||
@ -325,7 +344,6 @@ C_LIB = \
|
||||
stdlib_set_process_window.o \
|
||||
stdlib_shell_escape.o \
|
||||
stdlib_showerror.o \
|
||||
stdlib_socket.o \
|
||||
stdlib_srand.o \
|
||||
stdlib_stackargbytes.o \
|
||||
stdlib_stackcheck.o \
|
||||
@ -344,11 +362,11 @@ C_LIB = \
|
||||
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 \
|
||||
stdlib_wildcard_expand.o \
|
||||
strings_ffs.o \
|
||||
strings_strcasecmp.o \
|
||||
strings_strncasecmp.o \
|
||||
@ -403,6 +421,8 @@ C_LIB = \
|
||||
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 \
|
||||
@ -423,6 +443,7 @@ C_LIB = \
|
||||
unistd_isatty.o \
|
||||
unistd_lchown.o \
|
||||
unistd_link.o \
|
||||
unistd_lockf.o \
|
||||
unistd_readlink.o \
|
||||
unistd_realpath.o \
|
||||
unistd_sleep.o \
|
||||
@ -446,6 +467,7 @@ UNIX_LIB = \
|
||||
fcntl_fcntl.o \
|
||||
fcntl_open.o \
|
||||
fcntl_get_default_file.o \
|
||||
getopt_getopt_long.o \
|
||||
mount_convertinfo.o \
|
||||
mount_statfs.o \
|
||||
stat_chmod.o \
|
||||
@ -454,6 +476,7 @@ UNIX_LIB = \
|
||||
stat_mkdir.o \
|
||||
stat_rmdir.o \
|
||||
stat_stat.o \
|
||||
stdio_ctermid.o \
|
||||
stdio_fdhookentry.o \
|
||||
stdio_fflush.o \
|
||||
stdio_fopen.o \
|
||||
@ -465,10 +488,34 @@ UNIX_LIB = \
|
||||
stdio_record_locking.o \
|
||||
stdio_remove.o \
|
||||
stdio_rename.o \
|
||||
stdlib_alloca.o \
|
||||
stdlib_alloca_cleanup.o \
|
||||
stdlib_alloca_trap.o \
|
||||
stdlib_arg.o \
|
||||
stdlib_getmemstats.o \
|
||||
stdlib_main.o \
|
||||
stdlib_main_stub.o \
|
||||
stdlib_mkdtemp.o \
|
||||
stdlib_mkstemp.o \
|
||||
stdlib_mktemp.o \
|
||||
stdlib_malloc.o \
|
||||
stdlib_realloc.o \
|
||||
stdlib_resetmemstats.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 \
|
||||
@ -476,53 +523,164 @@ UNIX_LIB = \
|
||||
unistd_getcwd.o \
|
||||
unistd_lchown.o \
|
||||
unistd_link.o \
|
||||
unistd_lockf.o \
|
||||
unistd_readlink.o \
|
||||
unistd_realpath.o \
|
||||
unistd_restorepathname.o \
|
||||
unistd_setcurrentpath.o \
|
||||
unistd_strip_double_slash.o \
|
||||
unistd_symlink.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 \
|
||||
fenv_feclearexcept.o \
|
||||
fenv_fegetenv.o \
|
||||
fenv_fegetexceptflag.o \
|
||||
fenv_fegetround.o \
|
||||
fenv_feholdexcept.o \
|
||||
fenv_feraiseexcept.o \
|
||||
fenv_fesetenv.o \
|
||||
fenv_fesetexceptflag.o \
|
||||
fenv_fetestexcept.o \
|
||||
fenv_fetestround.o \
|
||||
fenv_feupdateenv.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_atanh.o \
|
||||
math_atanhf.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_exp2.o \
|
||||
math_exp2f.o \
|
||||
math_expf.o \
|
||||
math_expm1.o \
|
||||
math_expm1f.o \
|
||||
math_fabs.o \
|
||||
math_fabsf.o \
|
||||
math_floor.o \
|
||||
math_floorf.o \
|
||||
math_fma.o \
|
||||
math_fmaf.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_isinf.o \
|
||||
math_isnan.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_log10.o \
|
||||
math_log10f.o \
|
||||
math_log1p.o \
|
||||
math_log1pf.o \
|
||||
math_log2.o \
|
||||
math_log2f.o \
|
||||
math_logb.o \
|
||||
math_logbf.o \
|
||||
math_logf.o \
|
||||
math_lrint.o \
|
||||
math_lrintf.o \
|
||||
math_lround.o \
|
||||
math_lroundf.o \
|
||||
math_modf.o \
|
||||
math_modff.o \
|
||||
math_nan.o \
|
||||
math_nanf.o \
|
||||
math_nearbyint.o \
|
||||
math_nearbyintf.o \
|
||||
math_nextafter.o \
|
||||
math_nextafterf.o \
|
||||
math_pow.o \
|
||||
math_powf.o \
|
||||
math_remainder.o \
|
||||
math_remainderf.o \
|
||||
math_remquo.o \
|
||||
math_remquof.o \
|
||||
math_rem_pio2f.o \
|
||||
math_rint.o \
|
||||
math_rintf.o \
|
||||
math_round.o \
|
||||
math_roundf.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 \
|
||||
math_tgamma.o \
|
||||
math_tgammaf.o \
|
||||
math_trunc.o \
|
||||
math_truncf.o \
|
||||
stdio_asprintf.o \
|
||||
stdio_flush.o \
|
||||
stdio_flush_all_files.o \
|
||||
stdio_fprintf.o \
|
||||
stdio_fscanf.o \
|
||||
stdio_printf.o \
|
||||
@ -533,16 +691,18 @@ MATH_LIB = \
|
||||
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 \
|
||||
stdlib_machine_test.o \
|
||||
$(MATH_LIB)
|
||||
|
||||
MATH_LIB_IEEE = \
|
||||
@ -579,18 +739,11 @@ MATH_LIB_IEEE = \
|
||||
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_check_daemon.o \
|
||||
socket_connect.o \
|
||||
socket_gethostbyaddr.o \
|
||||
socket_gethostbyname.o \
|
||||
@ -617,10 +770,13 @@ NET_LIB = \
|
||||
socket_ioctl.o \
|
||||
socket_isdaemon.o \
|
||||
socket_listen.o \
|
||||
socket_obtain_daemon.o \
|
||||
socket_recv.o \
|
||||
socket_recvfrom.o \
|
||||
socket_recvmsg.o \
|
||||
socket_select_signal.o \
|
||||
socket_select.o \
|
||||
socket_wait_select.o \
|
||||
socket_send.o \
|
||||
socket_sendmsg.o \
|
||||
socket_sendto.o \
|
||||
@ -629,6 +785,8 @@ NET_LIB = \
|
||||
socket_socket.o \
|
||||
socket_hook_entry.o \
|
||||
socket_hstrerror.o \
|
||||
socket_get_h_errno.o \
|
||||
socket_set_h_errno.o \
|
||||
stat_umask.o \
|
||||
usergroup_crypt.o \
|
||||
usergroup_data.o \
|
||||
@ -741,7 +899,7 @@ MEMDEBUG_LIB = \
|
||||
|
||||
##############################################################################
|
||||
|
||||
LIBS_68K := $(LIBC_OBJS)/libc.a $(LIBSTACK_OBJS)/libstack.a $(LIBUNIX_OBJS)/libunix.a \
|
||||
LIBS_68K := $(LIBC_OBJS)/libc.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)
|
||||
@ -757,7 +915,7 @@ endif
|
||||
|
||||
##############################################################################
|
||||
|
||||
STARTUPS := nrcrt0.o nbcrt0.o nr32crt0.o nb32crt0.o ncrt0.o mainnb.o mainb.o mainb32.o
|
||||
STARTUPS := nrcrt0.o nbcrt0.o nr32crt0.o nb32crt0.o ncrt0.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
@ -767,9 +925,6 @@ all: \
|
||||
lib/ncrt0.o \
|
||||
lib/n32bcrt0.o \
|
||||
lib/n32rcrt0.o \
|
||||
lib/mainnb.o \
|
||||
lib/mainb.o \
|
||||
lib/mainb32.o \
|
||||
lib/libm020/libm.a \
|
||||
lib/libm.a \
|
||||
lib/libb/libm.a \
|
||||
@ -781,7 +936,7 @@ all: \
|
||||
clean:
|
||||
-$(DELETE) $(TYPE) $(LIBS_020) $(STARTUPS) \
|
||||
$(LIBC_OBJS) $(LIBUNIX_OBJS) $(LIBM_OBJS) \
|
||||
$(LIBM881_OBJS) $(LIBSTACK_OBJS) $(LIBNET_OBJS) $(LIBDEBUG_OBJS) \
|
||||
$(LIBM881_OBJS) $(LIBNET_OBJS) $(LIBDEBUG_OBJS) \
|
||||
$(LIBAMIGA_OBJS)
|
||||
|
||||
realclean:
|
||||
@ -797,7 +952,6 @@ version:
|
||||
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
|
||||
@ -805,7 +959,6 @@ version:
|
||||
bumprev 1 m.lib
|
||||
bumprev 1 m881.lib
|
||||
bumprev 1 net.lib
|
||||
bumprev 1 stack.lib
|
||||
bumprev 1 unix.lib
|
||||
|
||||
##############################################################################
|
||||
@ -879,15 +1032,6 @@ lib/n32bcrt0.o : lib nb32crt0.o
|
||||
lib/n32rcrt0.o : lib nr32crt0.o
|
||||
@$(COPY) nr32crt0.o lib
|
||||
|
||||
lib/mainnb.o : lib mainnb.o
|
||||
@$(COPY) mainnb.o lib
|
||||
|
||||
lib/mainb.o : lib mainb.o
|
||||
@$(COPY) mainb.o lib
|
||||
|
||||
lib/mainb32.o : lib mainb32.o
|
||||
@$(COPY) mainb32.o lib
|
||||
|
||||
##############################################################################
|
||||
|
||||
$(LIBAMIGA_OBJS)/amiga_hookentry.o : amiga_hookentry.c
|
||||
@ -898,8 +1042,6 @@ $(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
|
||||
@ -910,8 +1052,6 @@ $(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
|
||||
@ -922,43 +1062,47 @@ $(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_mem_debug.h
|
||||
$(LIBC_OBJS)/stdlib_alloca.o : stdlib_alloca.c stdlib_memory.h
|
||||
|
||||
$(LIBC_OBJS)/stdlib_calloc.o : stdlib_calloc.c stdlib_mem_debug.h
|
||||
$(LIBC_OBJS)/stdlib_calloc.o : stdlib_calloc.c stdlib_memory.h
|
||||
|
||||
$(LIBC_OBJS)/stdlib_free.o : stdlib_free.c stdlib_mem_debug.h
|
||||
$(LIBC_OBJS)/stdlib_free.o : stdlib_free.c stdlib_memory.h
|
||||
|
||||
$(LIBC_OBJS)/stdlib_init_exit.o : stdlib_init_exit.c stdlib_mem_debug.h
|
||||
$(LIBC_OBJS)/stdlib_malloc.o : stdlib_malloc.c stdlib_memory.h
|
||||
|
||||
$(LIBC_OBJS)/stdlib_malloc.o : stdlib_malloc.c stdlib_mem_debug.h
|
||||
$(LIBC_OBJS)/stdlib_realloc.o : stdlib_realloc.c stdlib_memory.h
|
||||
|
||||
$(LIBC_OBJS)/stdlib_realloc.o : stdlib_realloc.c stdlib_mem_debug.h
|
||||
|
||||
$(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_mem_debug.h
|
||||
$(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_memory.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
# The -fbaserel32 option requires the CPU type to be 68010/68020, too.
|
||||
# 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) $<
|
||||
|
||||
$(LIBM881_OBJS)/stdlib_machine_test.o : stdlib_machine_test.c
|
||||
@echo "Compiling $< [$(TYPE):c]"
|
||||
@$(CC) -o $(LIBM881_OBJS)/stdlib_machine_test.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) -DM68881_FLOATING_POINT_SUPPORT $<
|
||||
|
||||
$(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
|
||||
@ -1047,16 +1191,6 @@ $(LIBM881_OBJS)/libm881.a : $(LIBM881_OBJS) $(foreach file,$(MATH_LIB_881),$(LIB
|
||||
|
||||
##############################################################################
|
||||
|
||||
$(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) $@
|
||||
|
||||
@ -1107,30 +1241,23 @@ ncrt0.o : ncrt0.S
|
||||
@echo "Assembling $< [large_data]"
|
||||
@$(CC) -traditional -o $@ -c ncrt0.S
|
||||
|
||||
mainb32.o : stdlib_main.c
|
||||
@echo "Compiling $< [small_data32]"
|
||||
@$(CC) -o mainb32.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -fbaserel32 -DSMALL_DATA32 -m68020-60 -DM68020 stdlib_main.c
|
||||
|
||||
mainb.o : stdlib_main.c
|
||||
@echo "Compiling $< [small_data]"
|
||||
@$(CC) -o mainb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -fbaserel -DSMALL_DATA -m68000 stdlib_main.c
|
||||
|
||||
mainnb.o : stdlib_main.c
|
||||
@echo "Compiling $< [large_data]"
|
||||
@$(CC) -o mainnb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -m68000 stdlib_main.c
|
||||
|
||||
##############################################################################
|
||||
|
||||
CONSTRUCTOR_FILES = \
|
||||
amiga_rexxvars.c \
|
||||
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 \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
5
library/TODO
Executable file
5
library/TODO
Executable file
@ -0,0 +1,5 @@
|
||||
C99 math functions:
|
||||
|
||||
fma() and fmaf() should be implemented as a true "fused" multiply
|
||||
and add function rather than the sequential operation implied in the
|
||||
current implementation.
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga.lib_rev.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga.lib_rev.c,v 1.3 2006-01-08 12:04:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 189
|
||||
#define DATE "5.3.2005"
|
||||
#define VERS "amiga.lib 1.189"
|
||||
#define VSTRING "amiga.lib 1.189 (5.3.2005)\r\n"
|
||||
#define VERSTAG "\0$VER: amiga.lib 1.189 (5.3.2005)"
|
||||
#define REVISION 200
|
||||
#define DATE "17.4.2006"
|
||||
#define VERS "amiga.lib 1.200"
|
||||
#define VSTRING "amiga.lib 1.200 (17.4.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: amiga.lib 1.200 (17.4.2006)"
|
||||
|
||||
@ -1 +1 @@
|
||||
189
|
||||
200
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_acrypt.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_acrypt.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,10 +31,14 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#define ACrypt __ACrypt
|
||||
|
||||
#include <exec/types.h>
|
||||
#include <string.h>
|
||||
#include <clib/alib_protos.h>
|
||||
|
||||
#undef ACrypt
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_addtof.c,v 1.3 2005-02-25 10:14:20 obarthel Exp $
|
||||
* $Id: amiga_addtof.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argarraydone.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_argarraydone.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argarrayinit.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_argarrayinit.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -61,11 +61,11 @@ struct DiskObject * CXLIB_disko;
|
||||
STRPTR *
|
||||
ArgArrayInit(LONG argc, CONST_STRPTR * argv)
|
||||
{
|
||||
unsigned char ** result = NULL;
|
||||
STRPTR * result = NULL;
|
||||
|
||||
if(argc != 0) /* run from CLI */
|
||||
{
|
||||
int i;
|
||||
LONG i;
|
||||
|
||||
if(argc == 1)
|
||||
goto out; /* skip command name */
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argint.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_argint.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argstring.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_argstring.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_beginio.c,v 1.3 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_beginio.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_callhook.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_callhook.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
*
|
||||
* $Id: amiga_callhooka.asm,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_callhooka.asm,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_callhooka.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_callhooka.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_coercemethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_coercemethod.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createextio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_createextio.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createport.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_createport.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createstdio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_createstdio.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createtask.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_createtask.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -46,6 +46,12 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_PROFILE_H
|
||||
#include "stdlib_profile.h"
|
||||
#endif /* _STDLIB_PROFILE_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "macros.h"
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deleteextio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_deleteextio.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deleteport.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_deleteport.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deletestdio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_deletestdio.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deletetask.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_deletetask.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_domethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_domethod.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_dosupermethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_dosupermethod.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_dotimer.c,v 1.3 2005-03-06 09:00:16 obarthel Exp $
|
||||
* $Id: amiga_dotimer.c,v 1.8 2006-04-05 06:43:56 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,11 +44,34 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_PROFILE_H
|
||||
#include "stdlib_profile.h"
|
||||
#endif /* _STDLIB_PROFILE_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "macros.h"
|
||||
#include "debug.h"
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* A quick workaround for the timeval/timerequest->TimeVal/TimeRequest
|
||||
change in the recent OS4 header files. */
|
||||
|
||||
#if defined(__NEW_TIMEVAL_DEFINITION_USED__)
|
||||
|
||||
#define timeval TimeVal
|
||||
#define tv_secs Seconds
|
||||
#define tv_micro Microseconds
|
||||
|
||||
#define timerequest TimeRequest
|
||||
#define tr_node Request
|
||||
#define tr_time Time
|
||||
|
||||
#endif /* __NEW_TIMEVAL_DEFINITION_USED__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
LONG
|
||||
DoTimer(struct timeval *tv,LONG unit,LONG command)
|
||||
{
|
||||
@ -61,9 +84,10 @@ DoTimer(struct timeval *tv,LONG unit,LONG command)
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
mp = AllocSysObjectTags(ASOT_PORT,
|
||||
ASOPORT_Action, PA_SIGNAL,
|
||||
ASOPORT_Signal, SIGB_SINGLE,
|
||||
ASOPORT_Target, FindTask(NULL),
|
||||
ASOPORT_Action, PA_SIGNAL,
|
||||
ASOPORT_AllocSig, FALSE,
|
||||
ASOPORT_Signal, SIGB_SINGLE,
|
||||
ASOPORT_Target, FindTask(NULL),
|
||||
TAG_DONE);
|
||||
|
||||
if(mp == NULL)
|
||||
@ -107,7 +131,7 @@ DoTimer(struct timeval *tv,LONG unit,LONG command)
|
||||
|
||||
PROFILE_OFF();
|
||||
|
||||
SetSignal(0,SIGF_SINGLE);
|
||||
SetSignal(0,(1UL << mp->mp_SigBit));
|
||||
|
||||
error = DoIO((struct IORequest *)tr);
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_fastrand.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_fastrand.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_freeievents.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_freeievents.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
*
|
||||
* $Id: amiga_hookentry.asm,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_hookentry.asm,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_hookentry.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_hookentry.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_hotkey.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_hotkey.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_invertstring.c,v 1.3 2005-02-25 10:14:20 obarthel Exp $
|
||||
* $Id: amiga_invertstring.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_newlist.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_newlist.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_rangerand.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_rangerand.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_remtof.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_remtof.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_rexxvars.c,v 1.3 2005-01-09 10:10:40 obarthel Exp $
|
||||
* $Id: amiga_rexxvars.c,v 1.7 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -34,12 +34,20 @@
|
||||
/* We don't want to pull in <clib/alib_protos.h> */
|
||||
#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 <rexx/rxslib.h>
|
||||
#include <rexx/errors.h>
|
||||
|
||||
@ -60,7 +68,7 @@ static struct RexxSysIFace * IRexxSys;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
CLIB_CONSTRUCTOR(__rexxvars_init)
|
||||
CLIB_CONSTRUCTOR(rexxvars_init)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
@ -80,12 +88,14 @@ CLIB_CONSTRUCTOR(__rexxvars_init)
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
LEAVE();
|
||||
|
||||
CONSTRUCTOR_SUCCEED();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
CLIB_DESTRUCTOR(__rexxvars_exit)
|
||||
CLIB_DESTRUCTOR(rexxvars_exit)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_setsuperattrs.c,v 1.4 2005-02-25 10:14:20 obarthel Exp $
|
||||
* $Id: amiga_setsuperattrs.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_timedelay.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_timedelay.c,v 1.4 2006-04-05 06:43:56 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -39,6 +39,19 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* A quick workaround for the timeval/timerequest->TimeVal/TimeRequest
|
||||
change in the recent OS4 header files. */
|
||||
|
||||
#if defined(__NEW_TIMEVAL_DEFINITION_USED__)
|
||||
|
||||
#define timeval TimeVal
|
||||
#define tv_secs Seconds
|
||||
#define tv_micro Microseconds
|
||||
|
||||
#endif /* __NEW_TIMEVAL_DEFINITION_USED__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
LONG
|
||||
TimeDelay(LONG unit,ULONG seconds,ULONG micros)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_waitbeam.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_waitbeam.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
31
library/build_archive_amiga
Executable file
31
library/build_archive_amiga
Executable file
@ -0,0 +1,31 @@
|
||||
; 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 ram:${dir_name}/include/arpa/CVS ram:${dir_name}/include/netinet/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
|
||||
|
||||
27
library/build_archive_unix.sh
Executable file
27
library/build_archive_unix.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/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 ${dir_name}/include/arpa/CVS ${dir_name}/include/netinet/CVS
|
||||
|
||||
# Finally, create an lha type 5 archive; the Amiga LhA port
|
||||
# can unpack it.
|
||||
lha ao5q ${dir_name}-gcc-os4.lha ${dir_name}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: c.lib_rev.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: c.lib_rev.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 189
|
||||
#define DATE "5.3.2005"
|
||||
#define VERS "c.lib 1.189"
|
||||
#define VSTRING "c.lib 1.189 (5.3.2005)\r\n"
|
||||
#define VERSTAG "\0$VER: c.lib 1.189 (5.3.2005)"
|
||||
#define REVISION 200
|
||||
#define DATE "17.4.2006"
|
||||
#define VERS "c.lib 1.200"
|
||||
#define VSTRING "c.lib 1.200 (17.4.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: c.lib 1.200 (17.4.2006)"
|
||||
|
||||
@ -1 +1 @@
|
||||
189
|
||||
200
|
||||
|
||||
660
library/changes
660
library/changes
@ -1,3 +1,579 @@
|
||||
c.lib 1.200 (17.4.2006)
|
||||
|
||||
- The default break signal mask (SIGBREAKF_CTRL_C) is no longer
|
||||
hard-coded. You can override it at link time with a different
|
||||
variable value for __break_signal_mask. This may have to be
|
||||
augmented by an API for changing the value.
|
||||
|
||||
- Added a waitselect() function which works very much like the
|
||||
bsdsocket.library/WaitSelect() function.
|
||||
|
||||
- Added <sys/time.h> include to <sys/socket.h> due to latest "TimeVal" change
|
||||
in the OS4 SDK. Otherwise "struct timeval" will not be defined at the time
|
||||
the <net/if.h> of the netincludes will be included by <proto/bsdsocket.h>.
|
||||
|
||||
- The strftime() hook function had the locale and character parameters
|
||||
switched, which made 'setlocale(LC_ALL,""); strftime(..);' unusable.
|
||||
Fixed.
|
||||
|
||||
- fchown() and chown() now accept owner and group ID values of -1, which
|
||||
indicate that the respective information should not be changed.
|
||||
|
||||
- The OS4 library build now includes the crtbegin.o and crtend.o object
|
||||
files in the libc.a library, which solves a problem with the thread-safe
|
||||
shared library support code.
|
||||
|
||||
|
||||
c.lib 1.199 (6.3.2006)
|
||||
|
||||
- In <stdio.h> MAXPATHLEN is now equivalent to PATH_MAX (from <limits.h>),
|
||||
as suggested by Henning Nielsen Lund.
|
||||
|
||||
- Added lockf() support, as supplied by Henning Nielsen Lund.
|
||||
Thank you very much!
|
||||
|
||||
- symlink() now also works for absolute and relative links, and is
|
||||
part of "libunix.a". This patch was supplied by Henning Nielsen Lund.
|
||||
Thank you very much!
|
||||
|
||||
- The __main() stub function expected by the 68k GCC build is no
|
||||
longer part of "stdlib_main.c". This helps the C++ support, since the
|
||||
__main symbol definition no longer clashes with the definition in
|
||||
"libgcc.a".
|
||||
|
||||
- The printf() family stripped trailing zeroes from the integer part
|
||||
of %g output. Fixed.
|
||||
|
||||
- Moved an allocation size roundup operation in realloc().
|
||||
|
||||
|
||||
c.lib 1.198 (11.12.2005)
|
||||
|
||||
- Added <fenv.h> for C99, and the (yet unimplemented) functions
|
||||
feclearexcept(), fegetenv(), fegetexceptflag(), fegetround(),
|
||||
feholdexcept(), feraiseexcept(), fesetenv(), fesetexceptflag(),
|
||||
fetestexcept(), fetestround() and feupdateenv().
|
||||
|
||||
- Replaced the old pow() implementation. However, powf() may need to
|
||||
be changed to set a domain error.
|
||||
|
||||
- In libunix.a malloc(), calloc() and realloc() no longer treat a
|
||||
request to allocate 0 bytes as an error, returning NULL. They all
|
||||
return a pointer sized memory chunk (= four bytes) initialized to
|
||||
NULL (= 0) instead.
|
||||
|
||||
- The alloca() implementation which allocates memory from the system
|
||||
rather than the local stack frame is thread-safe now. It also
|
||||
interacts with the realloc(), calloc(), free() and malloc() functions
|
||||
in that the alloca() cleanup routine is called once alloca() has
|
||||
done its job. If all the memory allocated through alloca() has been
|
||||
released no further calls to the cleanup function will be made.
|
||||
|
||||
- In the thread-safe library, realloc() permitted two different overlapping
|
||||
calls to succeed in trying to reallocate the same chunk of memory due to
|
||||
a race condition. Fixed.
|
||||
|
||||
- Added a new function __get_mem_stats() (the prototype is in <dos.h>) which
|
||||
can be used to query the current and maximum memory usage, counting the
|
||||
allocations performed through malloc(), free() and all other functions which
|
||||
use them.
|
||||
|
||||
- Added another function called __reset_max_mem_stats() which will reset the
|
||||
counters for "maximum amount of memory used" and "maximum number of chunks
|
||||
allocated" to the current figures for these values.
|
||||
|
||||
- Fixed the alloca() declaration in <stdlib.h> so that software which keys
|
||||
off the fact whether or not the alloca preprocessor symbol is defined
|
||||
will do the right thing.
|
||||
|
||||
- Added an optional call-back function which can be called if alloca()
|
||||
is about to return NULL, which some software does not consider.
|
||||
Rather than letting such software drop into an illegal memory access
|
||||
or worse, that call-back function will be invoked instead, which can
|
||||
print an error message and eventually call abort().
|
||||
|
||||
|
||||
c.lib 1.197 (4.11.2005)
|
||||
|
||||
- Updated math_hypot.c to a newer (e_hypot.c 1.3 95/01/18) version from
|
||||
fdlibm which uses macros for manipulating the high and low words of a
|
||||
double, like the rest of fdlibm functions in clib2. The previous version
|
||||
would give bogus results when compiled with -O3 in clib2 which lead to
|
||||
"interesting" results (and lots of fun while searching for the problem)
|
||||
in Ghostscript. Wish I managed to track this down yesterday for 1.196
|
||||
release... <aantonijevic>
|
||||
|
||||
- Implemented atanh() and atanhf() which were not listed in the TODO
|
||||
file but were still unimplemented up until now.
|
||||
|
||||
- Replaced ldexp() and modf().
|
||||
|
||||
- Added __set_h_errno() and __get_h_errno() functions.
|
||||
|
||||
- The thread-safe library now tries to enable bsdsocket.library base
|
||||
sharing and attempts to make the TCP/IP stack call the local
|
||||
__set_errno() and __set_h_errno(), so that any Process calling
|
||||
the library functions will get a chance to see proper error
|
||||
codes. Whether any of these features could be enabled can be tested
|
||||
through two global variables __can_share_socket_library_base and
|
||||
__thread_safe_errno_h_errno which are defined in <dos.h>. Note that
|
||||
for both features to work you will need the Roadshow bsdsocket.library
|
||||
version 4.275 or higher.
|
||||
|
||||
- In <stdbool.h> the preprocessor definition should read
|
||||
"__bool_true_false_are_defined" rather than "__bool_true_and_false_are_defined".
|
||||
Thanks go to Peter Bengtsson for finding and fixing it.
|
||||
|
||||
- The network startup code no longer checks for the presence of a possible
|
||||
daemon startup message by default. You now have to enable this feature
|
||||
by declaring a global variable called "__check_daemon_startup" which is
|
||||
described in <dos.h>.
|
||||
|
||||
- Moved the code which rebinds the standard I/O streams to the server
|
||||
socket into a separate function which can be overridden by user code.
|
||||
|
||||
- Updated the new __obtain_daemon_message() function to call a
|
||||
bsdsocket.library API function to determine if what appears to be
|
||||
a valid daemon startup message is sound.
|
||||
|
||||
- Replaced the OS4 specific build makefile with an updated version
|
||||
prepared by Steven Solie. Thank you very much!
|
||||
|
||||
|
||||
c.lib 1.196 (11.10.2005)
|
||||
|
||||
- Removed the various workarounds associated with <unistd.h>, required
|
||||
for building code that references the networking API. It is now possible,
|
||||
provided you build your code with an existing TCP/IP API header file
|
||||
set (such as from the "Roadshow" SDK) without running into data type
|
||||
or function prototype declaration conflicts. I have added local versions
|
||||
of <arpa/inet.h>, <netinet/in.h>, <netdb.h>, <sys/filio.h>, <sys/ioccom.h>,
|
||||
<sys/ioctl.h>, <sys/select.h> and <sys/socket.h> and updated <unistd.h>,
|
||||
<pwd.h> and <grp.h> accordingly. Note that some of the function prototypes
|
||||
will conflict with the bsdsocket.library/usergroup.library API, which is
|
||||
why you can disable the declarations through the __NO_NET_API preprocessor
|
||||
symbol: if defined, none of the function prototypes will be defined.
|
||||
|
||||
- Implemented lrintf(), lrint(), lroundf(), lround(), nearbyintf(),
|
||||
nearbyint(), remquof(), remquo(), roundf(), round(), tgammaf(),
|
||||
tgamma(), truncf(), trunc(). Sort of implemented fmaf() and fma(),
|
||||
which really ought to be done in "SIMD" fashion.
|
||||
|
||||
This completes the "real" floating point math library (ignoring
|
||||
for a moment that the floating point environment code is still
|
||||
not implemented).
|
||||
|
||||
- accept() now calls the bsdsocket.library accept() function first
|
||||
and then hooks up the socket with the clib2 data structures. This
|
||||
makes it possible to have several Processes calling the accept()
|
||||
stub at the same time.
|
||||
|
||||
- When the main() function returns directly or indirectly by way of
|
||||
calling exit(), the IoErr() value set at this time will now be
|
||||
preserved until the program really returns control to the shell.
|
||||
This turned out to be easier to implement than I had originally
|
||||
thought, thanks to the fact that the atexit() functions are all
|
||||
invoked straight after the exit() call.
|
||||
|
||||
- strtoimax(), strtoumax(), strtod(), strtof(), strtol(), strtoll(),
|
||||
strtoul() and strtoull() now count how many digits were converted.
|
||||
If that number is zero, then the conversion is considered to have
|
||||
failed: 0 is returned and the 'ptr' parameter reference is initialized
|
||||
with a pointer to the string to be converted. This has two consequences:
|
||||
|
||||
1) A floating point number that has no digits in the significand
|
||||
is no longer converted to zero. For example ".e10" can no longer
|
||||
result in a successful conversion.
|
||||
|
||||
2) You can detect if a conversion is successful by comparing pointers
|
||||
after the conversion function has returned:
|
||||
|
||||
char * str;
|
||||
char * ptr;
|
||||
long n;
|
||||
|
||||
n = strtol(str,&ptr,10);
|
||||
if(n == 0 && str == ptr)
|
||||
printf("conversion has failed");
|
||||
|
||||
- Following detection of a stack overflow, the startup code eventually
|
||||
called _exit(). It should have called exit() instead.
|
||||
|
||||
- tmpnam() wrote more than L_tmpnam bytes to the name buffer. Also, the
|
||||
TMP_MAX value was off by one.
|
||||
|
||||
|
||||
c.lib 1.195 (3.9.2005)
|
||||
|
||||
- In __time_delay() the CheckIO() test was wrong and should have
|
||||
tested for a request still in progress. Fixed.
|
||||
|
||||
- Modified select() to support plain files, too. The new code now
|
||||
compares the current file position against the current file size,
|
||||
if that file is on a file system, or simply checks if there is
|
||||
any data in the file (which works for the default PIPE: device).
|
||||
|
||||
- The raw file descriptor structure member fd_Position is now
|
||||
always updated, regardless of whether the file supports random
|
||||
access or not.
|
||||
|
||||
- The wildcard escape character used in __wildcard_expand_init() was
|
||||
wrong. It should have been "'" but it was "`". Fixed.
|
||||
|
||||
- The startup code now references the linker symbol generated for
|
||||
the user-supplied main() function.
|
||||
|
||||
- log(+/-0), logb(+/-0), log10(+/-0) now return -infinity.
|
||||
|
||||
- getcwd() now considers a buffer size of 0 an error, and it sets
|
||||
the errno code to ERANGE if the buffer is too small.
|
||||
|
||||
- With Unix path semantics enabled, rename() now fails if either
|
||||
the old or the new name are empty strings. Same thing for
|
||||
opendir(), utime(), unlink(), chown(), link(), readlink(),
|
||||
realpath(), chdir(), access(), stat(), rmdir(), lstat(),
|
||||
chmod(), statfs() and open()/fopen().
|
||||
|
||||
- Fixed several issues with the formatted output of strftime()
|
||||
for the "C" locale: "%p" could return " PM", "%c" is now
|
||||
equivalent to "%a %b %e %T %Y", "%x" is equivalent to "%m/%d/%y"
|
||||
and "%X" is now equivalent to "%T".
|
||||
|
||||
- The 68020/030/040/060 versions of the library now include the
|
||||
64 bit integer conversion code. The plain 68000 version does not.
|
||||
|
||||
- The 64 bit integer conversion code used in by the scanf() family
|
||||
was broken due to a misplaced overflow check, which had the cruel
|
||||
effect of triggering for 32 bit integers as well. Fixed.
|
||||
|
||||
- DoTimer() did not allocate the local MsgPort correctly. Fixed.
|
||||
|
||||
|
||||
c.lib 1.194 (15.7.2005)
|
||||
|
||||
- Added getopt_long to libunix.a <tfrieden>
|
||||
|
||||
- Added new libprofile.a which implements gprof gmon.out output <tfrieden>
|
||||
|
||||
- Added the function profil() to libc.a <tfrieden>
|
||||
|
||||
- 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, ...) <tfrieden>
|
||||
|
||||
- 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 <tfrieden>
|
||||
|
||||
- Added file system names to statfs <tfrieden>
|
||||
|
||||
- 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 <dos.h> header file.
|
||||
|
||||
- Added a complete shared library skeleton example to demonstrate how the
|
||||
clib2 shared library initialization/cleanup functions should be used.
|
||||
This is a dual-build library which will both work with the plain 68k
|
||||
AmigaOS and the PowerPC native AmigaOS4. The example source code can be
|
||||
found in the "skeleton_library" subdirectory.
|
||||
|
||||
- The thread-safe version of isatty() should now work for stdio
|
||||
file descriptors, too.
|
||||
|
||||
- Retrofitted thread-safety into the termios code.
|
||||
|
||||
- The socket/usergroup API function and data type definitions that used to
|
||||
be defined in <unistd.h> have been moved into a separate header file
|
||||
<sys/clib2_net.h> which, for backwards compatibility, can be include
|
||||
from within <unistd.h> if the preprocessor symbol __USE_CLIB2_NETLIB
|
||||
is defined early on. Eventually, <sys/clib2_net.h> should be removed
|
||||
from the general header files and become a local library build header
|
||||
file altogether. Note that in this case you would have to build your
|
||||
own software using common TCP/IP SDK header files.
|
||||
|
||||
- <sys/types.h> now also includes <time.h> and <stddef.h>.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
-<2D>Added NAN, INFINITY, FLT_EVAL_METHOD, float_t and double_t to
|
||||
<math.h> (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 <math.h>.
|
||||
|
||||
- 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 <math.h> 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 <stdint.h> 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 <limits.h>.
|
||||
|
||||
- Added <sys/uio.h>, readv() and writev().
|
||||
|
||||
- Cut back the soft link resolution code in lstat().
|
||||
|
||||
- In <fcntl.h> O_NDELAY is now an alias for O_NONBLOCK.
|
||||
|
||||
- Added <complex.h>, 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 <stdarg.h>.
|
||||
|
||||
- Added _Exit() to <stdlib.h>.
|
||||
|
||||
- Added <stdbool.h>.
|
||||
|
||||
- Added vfscanf() to <stdio.h>.
|
||||
|
||||
- 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.
|
||||
|
||||
@ -62,6 +638,80 @@
|
||||
- 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)
|
||||
|
||||
@ -344,7 +994,7 @@ c.lib 1.185 (2.1.2005)
|
||||
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
|
||||
- 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
|
||||
@ -1430,7 +2080,7 @@ c.lib 1.117 (26.5.2004)
|
||||
- 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)
|
||||
|
||||
@ -1519,7 +2169,7 @@ c.lib 1.110 (10.4.2004)
|
||||
|
||||
c.lib 1.109 (9.4.2004)
|
||||
|
||||
- Fixed a bug in the PPC version of setjmp that would trash floating
|
||||
- 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,
|
||||
@ -2117,7 +2767,7 @@ 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
|
||||
- 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
|
||||
@ -2277,7 +2927,7 @@ 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)
|
||||
|
||||
|
||||
52
library/complex_carg.c
Normal file
52
library/complex_carg.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_carg.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_cargf.c
Normal file
52
library/complex_cargf.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_cargf.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_cargl.c
Normal file
52
library/complex_cargl.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_cargl.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_cimag.c
Normal file
52
library/complex_cimag.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_cimag.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_cimagf.c
Normal file
52
library/complex_cimagf.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_cimagf.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_cimagl.c
Normal file
52
library/complex_cimagl.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_cimagl.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_conj.c
Normal file
52
library/complex_conj.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_conj.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_conjf.c
Normal file
52
library/complex_conjf.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_conjf.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_conjl.c
Normal file
52
library/complex_conjl.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_conjl.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_creal.c
Normal file
52
library/complex_creal.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_creal.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_crealf.c
Normal file
52
library/complex_crealf.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_crealf.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
52
library/complex_creall.c
Normal file
52
library/complex_creall.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: complex_creall.c,v 1.2 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 */
|
||||
68
library/complex_headers.h
Executable file
68
library/complex_headers.h
Executable file
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* $Id: complex_headers.h,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#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 */
|
||||
@ -1,11 +1,12 @@
|
||||
//
|
||||
// $Id: crt0.S,v 1.2 2004-11-28 12:31:27 tfrieden Exp $
|
||||
// $Id: crt0.S,v 1.6 2005-10-11 09:28:29 obarthel Exp $
|
||||
//
|
||||
// :ts=4
|
||||
//
|
||||
|
||||
.text
|
||||
|
||||
.globl main /* This enforces linkage against the main() function */
|
||||
.globl _main
|
||||
.globl _start
|
||||
|
||||
@ -25,16 +26,3 @@ _start:
|
||||
#endif
|
||||
|
||||
b _main
|
||||
|
||||
#if defined(BASEREL_DATA)
|
||||
.section .rodata
|
||||
|
||||
.globl __data_segment_descriptor
|
||||
__data_segment_descriptor:
|
||||
.long __data_start
|
||||
.long __data_end
|
||||
.long _DATA_BASE_
|
||||
|
||||
.section .dend, "wa", @nobits
|
||||
.space 4
|
||||
#endif
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: crtbegin.c,v 1.8 2005-03-10 13:30:11 obarthel Exp $
|
||||
* $Id: crtbegin.c,v 1.10 2005-03-18 12:38:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@ -10,12 +10,9 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef EXEC_TYPES_H
|
||||
#include <exec/types.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <setjmp.h>
|
||||
#endif /* EXEC_TYPES_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@ -48,16 +45,9 @@ _init(void)
|
||||
void
|
||||
_fini(void)
|
||||
{
|
||||
extern jmp_buf __exit_jmp_buf;
|
||||
|
||||
int num_dtors,i;
|
||||
static int j;
|
||||
|
||||
/* If one of the destructors drops into
|
||||
exit(), processing will continue with
|
||||
the next following destructor. */
|
||||
(void)setjmp(__exit_jmp_buf);
|
||||
|
||||
for(i = 1, num_dtors = 0 ; __DTOR_LIST__[i] != NULL ; i++)
|
||||
num_dtors++;
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_headers.h,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: ctype_headers.h,v 1.6 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -42,18 +42,25 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_LOCALE_UTILITY_H
|
||||
#include "stdlib_locale_utility.h"
|
||||
#endif /* _STDLIB_LOCALE_UTILITY_H */
|
||||
#ifndef _STDLIB_LOCALEBASE_H
|
||||
#include "stdlib_localebase.h"
|
||||
#endif /* _STDLIB_LOCALEBASE_H */
|
||||
|
||||
#ifndef _STDLIB_UTILITYBASE_H
|
||||
#include "stdlib_utilitybase.h"
|
||||
#endif /* _STDLIB_UTILITYBASE_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _MACROS_H
|
||||
#include "macros.h"
|
||||
#endif /* _MACROS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <locale.h>
|
||||
#include <assert.h>
|
||||
#include <limits.h>
|
||||
#include <ctype.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isalnum.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isalnum.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -55,7 +55,13 @@ isalnum(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsAlNum(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsAlNum(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isalpha.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isalpha.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ isalpha(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsAlpha(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsAlpha(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isascii.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: ctype_isascii.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
52
library/ctype_isblank.c
Normal file
52
library/ctype_isblank.c
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: ctype_isblank.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* 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 _CTYPE_HEADERS_H
|
||||
#include "ctype_headers.h"
|
||||
#endif /* _CTYPE_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#undef isblank
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int
|
||||
isblank(int c)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = (c == '\t' || c == ' ');
|
||||
|
||||
return(result);
|
||||
}
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_iscntrl.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_iscntrl.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ iscntrl(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsCntrl(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsCntrl(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isdigit.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isdigit.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ isdigit(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsDigit(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsDigit(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isgraph.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isgraph.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ isgraph(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsGraph(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsGraph(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_islower.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_islower.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ islower(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsLower(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsLower(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isprint.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isprint.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ isprint(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsPrint(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsPrint(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_ispunct.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_ispunct.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ ispunct(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsPunct(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsPunct(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isspace.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isspace.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ isspace(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsSpace(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsSpace(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isupper.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isupper.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ isupper(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsUpper(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsUpper(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isxdigit.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isxdigit.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -53,7 +53,13 @@ isxdigit(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = IsXDigit(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = IsXDigit(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_table.c,v 1.3 2005-01-09 15:20:31 obarthel Exp $
|
||||
* $Id: ctype_table.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_tolower.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_tolower.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -49,7 +49,13 @@ tolower(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = ConvToLower(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = ConvToLower(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = c;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_toupper.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_toupper.c,v 1.5 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -49,7 +49,13 @@ toupper(int c)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
|
||||
result = ConvToUpper(__locale_table[LC_CTYPE],(ULONG)c);
|
||||
/* The parameter must be either EOF or in the range of an
|
||||
'unsigned char'. If it's not, then the behaviour is
|
||||
undefined. */
|
||||
if(c != EOF && ((0 <= c && c <= UCHAR_MAX) || ((c + 256) <= UCHAR_MAX)))
|
||||
result = ConvToUpper(__locale_table[LC_CTYPE],(ULONG)(c & 255));
|
||||
else
|
||||
result = c;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug.c,v 1.3 2005-02-25 10:14:21 obarthel Exp $
|
||||
* $Id: debug.c,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug.h,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug.h,v 1.4 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug.lib_rev.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug.lib_rev.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 189
|
||||
#define DATE "5.3.2005"
|
||||
#define VERS "debug.lib 1.189"
|
||||
#define VSTRING "debug.lib 1.189 (5.3.2005)\r\n"
|
||||
#define VERSTAG "\0$VER: debug.lib 1.189 (5.3.2005)"
|
||||
#define REVISION 200
|
||||
#define DATE "17.4.2006"
|
||||
#define VERS "debug.lib 1.200"
|
||||
#define VSTRING "debug.lib 1.200 (17.4.2006)\r\n"
|
||||
#define VERSTAG "\0$VER: debug.lib 1.200 (17.4.2006)"
|
||||
|
||||
@ -1 +1 @@
|
||||
189
|
||||
200
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_cmpstrexec.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_cmpstrexec.c,v 1.3 2006-01-08 12:04:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2006 by Olaf Barthel <olsen (at) sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user