1
0
mirror of https://github.com/adtools/clib2.git synced 2025-12-08 14:59:05 +00:00

52 Commits

Author SHA1 Message Date
Olaf Barthel
48f67425c0 This commit was manufactured by cvs2svn to create tag 'V1_178'.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/tags/V1_178@14751 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-10-07 14:58:04 +00:00
Olaf Barthel
aa3ccda8de c.lib 1.178 (7.10.2004)
- The OS4 version had floating point math support code enabled in all
  libraries and not just "libm.a". Fixed.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14750 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-10-07 14:58:03 +00:00
Thomas Frieden
8062f49f1c Fixes for compiler errors with soft-float
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14749 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-10-07 11:03:46 +00:00
Olaf Barthel
1310865c33 - Floating point support code generation was enabled for the entire PowerPC
library, and not just for "libm.a". Fixed.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14748 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-10-07 09:20:44 +00:00
Olaf Barthel
2ed76311fd - Updated the release notes file.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14747 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-10-02 15:59:40 +00:00
Olaf Barthel
3f19d52557 - Fixed the stack swapping function which, for reasons unknown, ceased to work.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14746 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-10-02 15:56:13 +00:00
Olaf Barthel
7038751f6b - Updated the .cvsignore file to ignore the _rev.i and _rev.s files.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14745 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-10-01 15:56:54 +00:00
Olaf Barthel
5d9e4c07a6 - The start time used by clock() is now initialized by a constructor
function.

- NOTE THAT ALL THE CHANGES WITH REGARD TO USE OF DESTRUCTOR AND
  CONSTRUCTOR FUNCTIONS REQUIRE A COMPLETE REBUILD OF THE LIBRARY! IF
  YOU DO NOT DO THIS, THE CONSTRUCTOR/DESTRUCTOR FUNCTIONS MAY NOT
  GET CALLED.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14744 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 19:57:58 +00:00
Olaf Barthel
f49a45f6a8 - The socket exit code now calls the common stdio function which
flushes and shuts down all buffered and unbuffered files.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14743 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 17:03:57 +00:00
Olaf Barthel
fef99a0181 - Reversed the 'unsigned long' -> 'ULONG' change in the constructor
handling code. It is not necessary.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14742 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 16:54:54 +00:00
Olaf Barthel
17a0e794c5 - Added an OS4 specific build makefile.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14741 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 14:37:10 +00:00
Olaf Barthel
64f39b51ae - Modified the socket functions which now take parameters to constant
pointers.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14740 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 14:31:57 +00:00
Olaf Barthel
a7e0bc8e16 - Fixed fabs() for PowerPC soft-float support; previously, the function
definitions would clash.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14739 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 14:30:03 +00:00
Olaf Barthel
14595cc0a8 - unistd_timer.c was missing...
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14738 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 14:21:34 +00:00
Olaf Barthel
8555296691 c.lib 1.177 (29.9.2004)
- Moved the locale initialization/cleanup code into constructors
  and destructors.

- The socket cleanup function is now a destructor.

- The math cleanup function is now a destructor.

- The wildcard cleanup function is now a destructor.

- The stdio cleanup function is now a destructor.

- The stack extension cleanup function is now a destructor.

- The code that cleans up after the program's current directory
  was changed is now a destructor function.

- Moved the initialization/cleanup code for unlink() into constructors
  and destructors.

- Moved the initialization/cleanup code for usergroup.library into
  constructors and destructors.

- Added usleep(), and created wrapper code that both sleep() and
  usleep() can use.

- Added strtoll() and strtoull(), with further changes to <limits.h>
  and <stdlib.h>.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14737 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 14:17:46 +00:00
Olaf Barthel
53bb602493 - Added usleep(), and created wrapper code that both sleep() and
usleep() can use.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14736 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 12:10:35 +00:00
Olaf Barthel
a048eadf09 - The timeval definition should work with OS 3.1 compatible header files again.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14735 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-29 10:15:57 +00:00
Thomas Frieden
51e20cee1d Bumped revision
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14733 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-27 15:11:20 +00:00
Thomas Frieden
618af18519 Compiling with soft-float now ommits storing the FPU registers
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14732 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-27 15:07:20 +00:00
Thomas Frieden
0cbc101798 Some adjustments so that the function is available even in non-FPU code
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14731 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-27 15:06:19 +00:00
Thomas Frieden
5d508c6e6d Added soft-float and small data targets
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14730 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-27 15:04:51 +00:00
Olaf Barthel
a4b138e406 - Added strtoll() and strtoull(), with further changes to <limits.h>
and <stdlib.h>.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14729 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-20 17:16:07 +00:00
Olaf Barthel
7d21a272cc - Changed the stack layout used for the StackSwap() call.
- Cleaned up the commented-out sections that deal with the SAS/C
  profiling code.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14728 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-18 09:03:30 +00:00
Olaf Barthel
7ae8399e43 - Fixed the broken umask() function definition for GCC 68k and SAS/C: it
does have a return value...


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14727 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-16 08:45:03 +00:00
Jens Maus
0d101fd928 - added .cvsignore file to make sure autogenerated files/dirs are not
added to the repository


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14726 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-10 09:06:37 +00:00
Olaf Barthel
6a2db55fc2 - Added the test program for the sprintf() buffer flush bug, courtesy of
Jens Langner.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14725 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-10 07:41:13 +00:00
Olaf Barthel
6214bc2067 c.lib 1.175 (10.9.2004)
- <stdarg.h> now tries to use the compiler supplied, machine specific
  <stdarg.h> file and also includes the OS4-specifc <sys/amigaos-va.h>
  file, if necessary.

- Added another test to <sys/time.h> to check if the "timeval" definition is
  already in place. If it is, <exec/types.h> will not be included.

- <sys/time.h> can be made to define the timeval data structure locally if
  the __USE_CLIB2_TIMEVAL preprocessor symbol is defined. In this case no
  <exec/types.h> or <devices/timer.h> file will be read.

- The sprintf() family did not properly handle empty strings as format
  specifications. This would result in a necessary buffer flush action
  getting skipped, which consequently did not put the string termination
  character into the output buffer.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14723 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-10 07:39:20 +00:00
Olaf Barthel
4a4c8b2ef9 - Moved the POSIX<->Amiga timeval member variable definitions again.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14722 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-09 10:56:24 +00:00
Olaf Barthel
f3c4ee68cd - Broke down the tests for the __TIMEVAL_ALREADY_DEFINED and DEVICES_TIMER_H
symbols into two lines.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14721 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-09 08:30:31 +00:00
Olaf Barthel
0848048029 - <stdarg.h> now tries to use the compiler supplied, machine specific
<stdarg.h> file and also includes the OS4-specifc <sys/amigaos-va.h>
  file, if necessary.

- Added another test to <sys/time.h> to check if the "timeval" definition is
  already in place. If it is, <exec/types.h> will not be included.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14720 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-09 08:25:31 +00:00
Olaf Barthel
dfd3dc3170 - Replaced the rint() and rintf() functions with the fdlibm code.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14719 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-27 13:49:17 +00:00
Olaf Barthel
5d705f3c30 c.lib 1.174 (27.8.2004)
- The parameters of atan2() were swapped. Fixed.

- Merged fdlibm 5.3 changes with __kernel_tan(), __exp() and __pow()
  functions.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14718 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-27 11:40:49 +00:00
Olaf Barthel
51f1dacdfa c.lib 1.173 (25.8.2004)
- The <assert.h> header file was missing the C++ 'extern "C" { .. }'
  declarations.

- Added a new function __get_default_file() which allows direct access
  to the low level file handle/socket descriptor associated with a
  file descriptor.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14716 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-25 15:27:28 +00:00
Olaf Barthel
56e788a268 - Removed the USE_64_BIT_INTS definition from the GCC-68k makefile.
Apparently, the 64 bit integer math still doesn't work right in the
  plain 68k libgcc.a.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14715 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-23 13:47:32 +00:00
Olaf Barthel
916dfa3c6a c.lib 1.172 (21.8.2004)
- acos() now returns 0 for a domain error.

- asin() now returns 0 for a domain error.

- atan2() now returns 0 for a domain error.

- fmod() now returns x if y == 0 and sets a
  domain error.

- sqrt() now returns 0 for a domain error.

- Added NaN and +Inf constants to the math library
  initialization code which could come in handy later.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14713 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-21 18:57:41 +00:00
Olaf Barthel
de24377581 c.lib 1.171 (16.8.2004)
- Added "math_hypot.c"

- The 68k build makefile now builds the vfprintf/vfscanf functions
  with %lld/%llu support.

- Split the release notes file into changes and actual release notes,
  which may overlap but differ in technical content.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14711 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-16 09:33:13 +00:00
Olaf Barthel
51c2ad8cfd - Added a build makefile for GCC/68k.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14710 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-14 15:01:22 +00:00
Olaf Barthel
a9b217d3f8 - Moved the address alignment test macros for memchr(), memcmp(), memcpy(),
memmove() and memset() into "string_headers.h".


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14709 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-14 11:11:01 +00:00
Olaf Barthel
a0c638e3d6 - memcmp(), memcpy() and memset() now build with the GCC 2.x compatibility
header files in place.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14708 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-14 10:00:33 +00:00
Olaf Barthel
16407d5389 c.lib 1.170 (14.8.2004)
- Added "math_logb.c", and it appears to work, too.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14706 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-14 08:54:25 +00:00
Olaf Barthel
c18e21ee36 - Added "math_logb.c"; I still have to verify that it works as expected.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14705 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-12 12:31:29 +00:00
Olaf Barthel
3f284b7fb8 c.lib 1.169 (8.8.2004)
- Since the 'long double' data type is not really supported by the GCC
  versions we use (and not supported by SAS/C either) building the
  library with support code for it is now a configurable option. Unless
  enabled, 'long double' is now treated like 'double'.

- Reworked the HUGE_VAL definition which previously would default to
  Infinity. The new code properly defines this to the largest
  representable floating point number. The 'great' thing about the
  HUGE_VAL definition in this library is that it's a reference to
  a binary constant initialized by the library startup code. So any
  application checking for HUGE_VAL merely needs to be relinked
  rather than recompiled.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14703 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-08 10:55:57 +00:00
Olaf Barthel
0a3962a105 - Moved the isascii() definition behind the "The following is not part of the
ISO 'C' (1994) standard." warning.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14702 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-07 10:42:04 +00:00
Olaf Barthel
1ebd864f60 c.lib 1.168 (7.8.2004)
- Ditched __is_infinity() and __is_not_a_number(), brought them back
  as isinf() and isnan().

- Updated code and header files to state exactly which ISO 'C' version
  is meant by the "The following is not part of the ISO 'C' standard."
  warning.

- Integrated rint() and rintf().


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14700 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-07 10:24:04 +00:00
Olaf Barthel
115497faec - Ditched __is_infinity() and __is_not_a_number(), brought them back
as isinf() and isnan().

- Updated code and header files to state exactly which ISO 'C' version
  is meant by the "The following is not part of the ISO 'C' standard."
  warning.

- Integrated rint() and rintf().


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14699 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-07 09:15:33 +00:00
Thomas Frieden
f6c5e12f63 Implements the functions rint and rintf (float version).
The rint function rounds the argument to the integral value. Used for
example in the Ogg Vorbis libraries.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14698 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-06 12:56:43 +00:00
Olaf Barthel
04d2b93463 - Fixed the smakefile so that the library builds properly.
- Moved the test program smakefile portions into a separate file.

- Added comments explaining how to set up the header files.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14697 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-06 11:53:49 +00:00
Olaf Barthel
bdaf52ea0e - Added notes on building the library
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14696 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-06 11:52:21 +00:00
Olaf Barthel
f3435ba057 - Added a build smakefile, which is based upon the original smakefile used for building
the library and the test code.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14695 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-06 11:51:50 +00:00
Olaf Barthel
5d1a8ec197 - Modified <string.h> so that it no longer causes warnings with GCC 2.95.x
if -fno-builtin is not used.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14694 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-07-30 09:25:16 +00:00
Olaf Barthel
1b4d0215d7 c.lib 1.167 (29.7.2004)
- Modified __is_infinity() and __is_not_a_number() to use more portable
  methods for accessing the low level representation of the IEEE 754
  numbers they work on.

- Fixed a compiler warning in h_strerror()


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14693 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-07-29 08:35:15 +00:00
Olaf Barthel
93619a81a3 - Modified __is_infinity() and __is_not_a_number() to use more portable
methods for accessing the low level representation of the IEEE 754
  numbers they work on.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14692 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-07-29 08:14:49 +00:00
190 changed files with 5751 additions and 4139 deletions

View File

@@ -1,5 +1,5 @@
#
# $Id: GNUmakefile.68k,v 1.2 2004-07-28 15:50:44 obarthel Exp $
# $Id: GNUmakefile.68k,v 1.11 2004-10-07 09:20:44 obarthel Exp $
#
# :ts=8
#
@@ -40,7 +40,7 @@ endif
.c.o:
@echo "Compiling $<"
@$(CC) -c $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT $<
@$(CC) -c $(CFLAGS) $<
$(LIBC_OBJS)/%.o : %.c
@echo "Compiling $< [$(TYPE):c]"
@@ -144,9 +144,9 @@ C_LIB = \
fcntl_open.o \
fcntl_read.o \
fcntl_write.o \
fcntl_get_default_file.o \
libgen_basename.o \
libgen_dirname.o \
locale_data.o \
locale_init_exit.o \
locale_localeconv.o \
locale_setlocale.o \
@@ -306,6 +306,8 @@ C_LIB = \
stdlib_startup.o \
stdlib_strtol.o \
stdlib_strtoul.o \
stdlib_strtoll.o \
stdlib_strtoull.o \
stdlib_swapstack.o \
stdlib_sysbase.o \
stdlib_system.o \
@@ -315,7 +317,6 @@ C_LIB = \
stdlib_udivsi4.o \
stdlib_umodsi3.o \
stdlib_unsetenv.o \
stdlib_usergroup.o \
stdlib_wildcard_expand.o \
strings_strcasecmp.o \
strings_strncasecmp.o \
@@ -361,9 +362,9 @@ C_LIB = \
time_time.o \
unistd_access.o \
unistd_chdir.o \
unistd_chdir_exit.o \
unistd_chown.o \
unistd_currentpathname.o \
unistd_data.o \
unistd_dup.o \
unistd_dup2.o \
unistd_fchown.o \
@@ -381,8 +382,11 @@ C_LIB = \
unistd_realpath.o \
unistd_sleep.o \
unistd_symlink.o \
unistd_timer.o \
unistd_time_delay.o \
unistd_truncate.o \
unistd_unlink.o \
unistd_usleep.o \
utime_utime.o
UNIX_LIB = \
@@ -395,6 +399,7 @@ UNIX_LIB = \
fcntl_creat.o \
fcntl_fcntl.o \
fcntl_open.o \
fcntl_get_default_file.o \
mount_convertinfo.o \
mount_statfs.o \
stat_chmod.o \
@@ -420,6 +425,7 @@ UNIX_LIB = \
stdlib_system.o \
unistd_access.o \
unistd_chdir.o \
unistd_chdir_exit.o \
unistd_chown.o \
unistd_getcwd.o \
unistd_lchown.o \
@@ -452,12 +458,18 @@ MATH_LIB = \
math_floor.o \
math_fmod.o \
math_frexp.o \
math_hypot.o \
math_init_exit.o \
math_isinf.o \
math_isnan.o \
math_ldexp.o \
math_log.o \
math_log10.o \
math_logb.o \
math_modf.o \
math_pow.o \
math_rint.o \
math_rintf.o \
math_sin.o \
math_sinh.o \
math_sqrt.o \
@@ -467,8 +479,6 @@ MATH_LIB = \
stdio_flush.o \
stdio_fprintf.o \
stdio_fscanf.o \
stdio_isinfinity.o \
stdio_isnotanumber.o \
stdio_printf.o \
stdio_scanf.o \
stdio_snprintf.o \
@@ -696,11 +706,6 @@ STARTUPS := nrcrt0.o nbcrt0.o nr32crt0.o nb32crt0.o ncrt0.o mainnb.o mainb.o mai
##############################################################################
all: \
lib/libm020/libm.a \
lib/libm.a \
lib/libb/libm020/libm.a \
lib/libb/libm.a \
lib/libb32/libm020/libm.a \
lib/nrcrt0.o \
lib/nbcrt0.o \
lib/ncrt0.o \
@@ -708,7 +713,12 @@ all: \
lib/n32rcrt0.o \
lib/mainnb.o \
lib/mainb.o \
lib/mainb32.o
lib/mainb32.o \
lib/libm.a \
lib/libm020/libm.a \
lib/libb/libm.a \
lib/libb/libm020/libm.a \
lib/libb32/libm020/libm.a
##############################################################################

View File

@@ -1,5 +1,5 @@
#
# $Id: GNUmakefile.os4,v 1.2 2004-07-28 15:50:44 obarthel Exp $
# $Id: GNUmakefile.os4,v 1.12 2004-10-07 11:03:46 tfrieden Exp $
#
# :ts=8
#
@@ -53,7 +53,7 @@ endif
%.o : %.c
@echo "Compiling $<"
@$(CC) -c $(CFLAGS) -DPPC_FLOATING_POINT_SUPPORT $<
@$(CC) -c $(CFLAGS) $<
$(LIBC_OBJS)/%.o : %.c
@echo "Compiling $< [$(TYPE):c]"
@@ -65,7 +65,7 @@ $(LIBUNIX_OBJS)/%.o : %.c
$(LIBM_OBJS)/%.o : %.c
@echo "Compiling $< [$(TYPE):m]"
@$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) -DPPC_FLOATING_POINT_SUPPORT $<
@$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) $(FLOAT_TYPE) $<
$(LIBSTACK_OBJS)/%.o : %.c
@echo "Compiling $< [$(TYPE):stack]"
@@ -87,10 +87,17 @@ $(LIBAMIGA_OBJS)/%.o : %.c
ifeq (small_data,$(TYPE))
CODE_TYPE := -msdata=sysv -DSMALL_DATA
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
endif
ifeq (large_data,$(TYPE))
CODE_TYPE := -msdata=data
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
endif
ifeq (large_data_softfloat, $(TYPE))
CODE_TYPE := -msdata=data -msoft-float
FLOAT_TYPE :=
endif
##############################################################################
@@ -101,7 +108,7 @@ WARNINGS = \
INCLUDES = -Iinclude -I. -I$(SDK_INCLUDE)
OPTIONS = -DNDEBUG -DUSE_64_BIT_INTS -fno-builtin -D__USE_INLINE__ -Wa,-mregnames
OPTIMIZE = -O3 -fomit-frame-pointer -funroll-loops
OPTIMIZE = -O -fomit-frame-pointer -funroll-loops
#DEBUG = -g
CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_TYPE) $(INCLUDES)
@@ -138,9 +145,9 @@ C_LIB = \
fcntl_open.o \
fcntl_read.o \
fcntl_write.o \
fcntl_get_default_file.o \
libgen_basename.o \
libgen_dirname.o \
locale_data.o \
locale_init_exit.o \
locale_localeconv.o \
locale_setlocale.o \
@@ -301,12 +308,13 @@ C_LIB = \
stdlib_startup.o \
stdlib_strtol.o \
stdlib_strtoul.o \
stdlib_strtoll.o \
stdlib_strtoull.o \
stdlib_swapstack.o \
stdlib_system.o \
stdlib_termination_message.o \
stdlib_threshold.o \
stdlib_unsetenv.o \
stdlib_usergroup.o \
stdlib_wildcard_expand.o \
strings_strcasecmp.o \
strings_strncasecmp.o \
@@ -352,9 +360,9 @@ C_LIB = \
time_time.o \
unistd_access.o \
unistd_chdir.o \
unistd_chdir_exit.o \
unistd_chown.o \
unistd_currentpathname.o \
unistd_data.o \
unistd_dup.o \
unistd_dup2.o \
unistd_fchown.o \
@@ -372,8 +380,11 @@ C_LIB = \
unistd_realpath.o \
unistd_sleep.o \
unistd_symlink.o \
unistd_time_delay.o \
unistd_timer.o \
unistd_truncate.o \
unistd_unlink.o \
unistd_usleep.o \
utime_utime.o
@@ -387,6 +398,7 @@ UNIX_LIB = \
fcntl_creat.o \
fcntl_fcntl.o \
fcntl_open.o \
fcntl_get_default_file.o \
mount_convertinfo.o \
mount_statfs.o \
stat_chmod.o \
@@ -412,6 +424,7 @@ UNIX_LIB = \
stdlib_system.o \
unistd_access.o \
unistd_chdir.o \
unistd_chdir_exit.o \
unistd_chown.o \
unistd_getcwd.o \
unistd_lchown.o \
@@ -444,12 +457,18 @@ MATH_LIB = \
math_floor.o \
math_fmod.o \
math_frexp.o \
math_hypot.o \
math_init_exit.o \
math_isnan.o \
math_isinf.o \
math_ldexp.o \
math_log.o \
math_log10.o \
math_logb.o \
math_modf.o \
math_pow.o \
math_rint.o \
math_rintf.o \
math_sin.o \
math_sinh.o \
math_sqrt.o \
@@ -465,8 +484,6 @@ MATH_LIB = \
stdio_flush.o \
stdio_fprintf.o \
stdio_fscanf.o \
stdio_isinfinity.o \
stdio_isnotanumber.o \
stdio_printf.o \
stdio_scanf.o \
stdio_snprintf.o \
@@ -676,7 +693,12 @@ all: \
lib/crtbegin.o \
lib/crtend.o \
lib/mainnb.o \
lib/libm.a
lib/libm.a \
lib/small-data/libm.a \
lib/bcrt0.o \
lib/bcrtbegin.o \
lib/bcrtend.o \
lib/soft-float/libc.a
copy:
$(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
@@ -689,7 +711,7 @@ clean:
realclean:
$(MAKE) clean
-$(DELETE) lib small_data large_data
-$(DELETE) lib small_data large_data large_data_softfloat
##############################################################################
@@ -731,6 +753,12 @@ endif
lib:
-$(MAKEDIR) $@
lib/small-data:
-$(MAKEDIR) $@
lib/soft-float:
-$(MAKEDIR) $@
lib/libm.a: lib
$(MAKE) TYPE=large_data kitchen_sink
$(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
@@ -739,6 +767,10 @@ lib/small-data/libm.a: lib lib/small-data
$(MAKE) TYPE=small_data kitchen_sink
$(COPY) $(foreach file,$(LIBS),small_data/$(file)) lib/small-data
lib/soft-float/libc.a: lib lib/soft-float
$(MAKE) TYPE=large_data_softfloat kitchen_sink
$(COPY) $(foreach file,$(LIBS),large_data_softfloat/$(file)) lib/soft-float
lib/crt0.o : lib crt0.o
$(COPY) crt0.o lib
@@ -754,6 +786,15 @@ lib/mainnb.o : lib mainnb.o
lib/mainb.o : lib mainb.o
$(COPY) mainb.o lib
lib/bcrt0.o : lib bcrt0.o
$(COPY) bcrt0.o lib
lib/bcrtbegin.o : lib bcrtbegin.o
$(COPY) bcrtbegin.o lib
lib/bcrtend.o : lib bcrtend.o
$(COPY) bcrtend.o lib
##############################################################################
$(LIBAMIGA_OBJS)/amiga_hookentry.o : amiga_hookentry.c
@@ -874,6 +915,13 @@ mainb.o : stdlib_main.c
@echo "Compiling $<"
@$(CC) -o mainb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA stdlib_main.c
bcrtbegin.o : crtbegin.c
$(CC) -o bcrtbegin.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtbegin.c
bcrtend.o : crtend.c
$(CC) -o bcrtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtend.c
##############################################################################
mkid:

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 166
#define DATE "28.7.2004"
#define VERS "amiga.lib 1.166"
#define VSTRING "amiga.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: amiga.lib 1.166 (28.7.2004)"
#define REVISION 178
#define DATE "7.10.2004"
#define VERS "amiga.lib 1.178"
#define VSTRING "amiga.lib 1.178 (7.10.2004)\r\n"
#define VERSTAG "\0$VER: amiga.lib 1.178 (7.10.2004)"

View File

@@ -1 +1 @@
166
178

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 166
#define DATE "28.7.2004"
#define VERS "c.lib 1.166"
#define VSTRING "c.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: c.lib 1.166 (28.7.2004)"
#define REVISION 178
#define DATE "7.10.2004"
#define VERS "c.lib 1.178"
#define VSTRING "c.lib 1.178 (7.10.2004)\r\n"
#define VERSTAG "\0$VER: c.lib 1.178 (7.10.2004)"

View File

@@ -1 +1 @@
166
178

3207
library/changes Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
/*
* $Id: crtbegin.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
* $Id: crtbegin.c,v 1.3 2004-09-29 16:54:54 obarthel Exp $
*
* :ts=4
*

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 166
#define DATE "28.7.2004"
#define VERS "debug.lib 1.166"
#define VSTRING "debug.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: debug.lib 1.166 (28.7.2004)"
#define REVISION 178
#define DATE "7.10.2004"
#define VERS "debug.lib 1.178"
#define VSTRING "debug.lib 1.178 (7.10.2004)\r\n"
#define VERSTAG "\0$VER: debug.lib 1.178 (7.10.2004)"

View File

@@ -1 +1 @@
166
178

View File

@@ -1,5 +1,5 @@
/*
* $Id: dirent_closedir.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
* $Id: dirent_closedir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: dirent_data.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
* $Id: dirent_data.c,v 1.3 2004-08-07 10:24:04 obarthel Exp $
*
* :ts=4
*
@@ -37,10 +37,6 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/****************************************************************************/
/* Directories being scanned whose locks need to be freed when shutting down. */
struct MinList __directory_list;

View File

@@ -1,5 +1,5 @@
/*
* $Id: dirent_opendir.c,v 1.1.1.1 2004-07-26 16:30:31 obarthel Exp $
* $Id: dirent_opendir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -49,7 +49,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: dirent_readdir.c,v 1.1.1.1 2004-07-26 16:30:31 obarthel Exp $
* $Id: dirent_readdir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: dirent_rewinddir.c,v 1.1.1.1 2004-07-26 16:30:31 obarthel Exp $
* $Id: dirent_rewinddir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: fcntl_close.c,v 1.1.1.1 2004-07-26 16:30:32 obarthel Exp $
* $Id: fcntl_close.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: fcntl_creat.c,v 1.1.1.1 2004-07-26 16:30:32 obarthel Exp $
* $Id: fcntl_creat.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: fcntl_fcntl.c,v 1.1.1.1 2004-07-26 16:30:33 obarthel Exp $
* $Id: fcntl_fcntl.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: locale_data.c,v 1.1.1.1 2004-07-26 16:30:35 obarthel Exp $
* $Id: fcntl_get_default_file.c,v 1.1 2004-08-25 15:27:27 obarthel Exp $
*
* :ts=4
*
@@ -31,15 +31,39 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _LOCALE_HEADERS_H
#include "locale_headers.h"
#endif /* _LOCALE_HEADERS_H */
#ifndef _FCNTL_HEADERS_H
#include "fcntl_headers.h"
#endif /* _FCNTL_HEADERS_H */
/****************************************************************************/
struct Locale * __default_locale;
struct Locale * __locale_table[NUM_LOCALES];
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
char __locale_name_table[NUM_LOCALES][MAX_LOCALE_NAME_LEN];
int
__get_default_file(int file_descriptor,long * file_ptr)
{
struct fd * fd;
int result = -1;
assert( file_descriptor >= 0 && file_descriptor < __num_fd );
assert( __fd[file_descriptor] != NULL );
assert( FLAG_IS_SET(__fd[file_descriptor]->fd_Flags,FDF_IN_USE) );
assert( file_ptr != NULL );
fd = __get_file_descriptor(file_descriptor);
if(fd == NULL)
{
errno = EBADF;
goto out;
}
(*file_ptr) = (long)fd->fd_DefaultFile;
result = 0;
out:
return(result);
}

View File

@@ -1,5 +1,5 @@
/*
* $Id: fcntl_lseek.c,v 1.1.1.1 2004-07-26 16:30:33 obarthel Exp $
* $Id: fcntl_lseek.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: fcntl_open.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* $Id: fcntl_open.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -49,7 +49,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: fcntl_read.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* $Id: fcntl_read.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: fcntl_write.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* $Id: fcntl_write.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: assert.h,v 1.1.1.1 2004-07-26 16:32:49 obarthel Exp $
* $Id: assert.h,v 1.2 2004-08-25 15:27:28 obarthel Exp $
*
* :ts=4
*
@@ -36,6 +36,12 @@
/****************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/****************************************************************************/
#ifndef assert
/****************************************************************************/
@@ -67,4 +73,10 @@ extern void __assertion_failure(const char *file_name,int line_number,const char
/****************************************************************************/
#ifdef __cplusplus
}
#endif /* __cplusplus */
/****************************************************************************/
#endif /* _ASSERT_H */

View File

@@ -1,5 +1,5 @@
/*
* $Id: ctype.h,v 1.1.1.1 2004-07-26 16:32:50 obarthel Exp $
* $Id: ctype.h,v 1.3 2004-08-07 10:42:04 obarthel Exp $
*
* :ts=4
*
@@ -63,12 +63,6 @@ extern int toupper(int c);
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
#define isascii(c) ((unsigned)(c) <= 127)
/****************************************************************************/
/*
* If requested, reimplement the character classification functions as macros;
* note that the macro variants ignore the current locale and default to the
@@ -113,6 +107,12 @@ extern const unsigned char * const __ctype_table;
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
#define isascii(c) ((unsigned)(c) <= 127)
/****************************************************************************/
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@@ -1,5 +1,5 @@
/*
* $Id: dirent.h,v 1.1.1.1 2004-07-26 16:32:50 obarthel Exp $
* $Id: dirent.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: dos.h,v 1.1.1.1 2004-07-26 16:32:50 obarthel Exp $
* $Id: dos.h,v 1.3 2004-08-25 15:27:28 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
@@ -112,6 +112,18 @@ extern void __set_a4(unsigned long value);
/****************************************************************************/
/*
* Obtain the low level 'file' handle or socket ID bound to a file
* descriptor. This function returns 0 for success and non-zero
* otherwise (if, for example, the file descriptor value you
* provided is not valid; errno will be set to the appropriate
* error code, too). Put a pointer to the file handle variable you
* want to be filled in into the second parameter to this function.
*/
extern int __get_default_file(int file_descriptor,long * file_ptr);
/****************************************************************************/
/*
* This will be set to TRUE if the current program was launched from
* the internet superserver ('inetd') or an equivalent facility.

View File

@@ -1,5 +1,5 @@
/*
* $Id: fcntl.h,v 1.1.1.1 2004-07-26 16:32:51 obarthel Exp $
* $Id: fcntl.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: grp.h,v 1.1.1.1 2004-07-26 16:32:52 obarthel Exp $
* $Id: grp.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: libgen.h,v 1.1.1.1 2004-07-26 16:32:52 obarthel Exp $
* $Id: libgen.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: limits.h,v 1.1.1.1 2004-07-26 16:32:52 obarthel Exp $
* $Id: limits.h,v 1.3 2004-09-20 17:16:07 obarthel Exp $
*
* :ts=4
*
@@ -54,7 +54,13 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
#define LLONG_MIN (-0x7fffffffffffffffLL-1)
#define LLONG_MAX 0x7fffffffffffffffLL
#define ULLONG_MAX 0xffffffffffffffffULL
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: math.h,v 1.1.1.1 2004-07-26 16:32:53 obarthel Exp $
* $Id: math.h,v 1.4 2004-08-16 09:33:13 obarthel Exp $
*
* :ts=4
*
@@ -81,6 +81,19 @@ extern double tanh(double x);
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
extern double rint(double x);
extern float rintf(float x);
extern int isinf(double x);
extern int isnan(double x);
extern double logb(double x);
extern double hypot(double x,double y);
/****************************************************************************/
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@@ -1,5 +1,5 @@
/*
* $Id: pwd.h,v 1.1.1.1 2004-07-26 16:32:53 obarthel Exp $
* $Id: pwd.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: signal.h,v 1.2 2004-07-28 14:14:38 obarthel Exp $
* $Id: signal.h,v 1.3 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -62,7 +62,7 @@ extern int raise(int sig);
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: stdarg.h,v 1.1.1.1 2004-07-26 16:32:53 obarthel Exp $
* $Id: stdarg.h,v 1.2 2004-09-09 08:25:30 obarthel Exp $
*
* :ts=4
*
@@ -57,12 +57,25 @@ typedef char * va_list;
/****************************************************************************/
#else
#if defined(__GNUC__)
#undef _STDARG_H
#include_next "stdarg.h"
#else
#error "Unknown compiler"
#endif /* __GNUC__ */
/****************************************************************************/
#if defined(__GNUC__)
/* Use the compiler supplied, machine specific <stdarg.h> file. */
#undef _STDARG_H
#include_next "stdarg.h"
#include <sys/amigaos-va.h>
#else
#error "Unknown compiler"
#endif /* __GNUC__ */
/****************************************************************************/
#endif /* __amigaos4__ */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: stdio.h,v 1.1.1.1 2004-07-26 16:32:54 obarthel Exp $
* $Id: stdio.h,v 1.3 2004-08-25 15:27:28 obarthel Exp $
*
* :ts=4
*
@@ -62,7 +62,7 @@ extern "C" {
* correspond to a real limitation for this 'C' runtime library and is
* included solely for ISO 'C' (1994) compliance.
*/
#define FOPEN_MAX 8
#define FOPEN_MAX 64
/****************************************************************************/
@@ -308,7 +308,7 @@ extern int __flush(FILE *stream);
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: stdlib.h,v 1.1.1.1 2004-07-26 16:32:55 obarthel Exp $
* $Id: stdlib.h,v 1.3 2004-09-20 17:16:07 obarthel Exp $
*
* :ts=4
*
@@ -147,7 +147,12 @@ extern long atol(const char *str);
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
extern long long strtoll(const char *str, char **ptr, int base);
extern unsigned long long strtoull(const char *str, char **ptr, int base);
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: string.h,v 1.1.1.1 2004-07-26 16:32:55 obarthel Exp $
* $Id: string.h,v 1.3 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -71,15 +71,25 @@ extern size_t strxfrm(char *dest, const char *src, size_t len);
/****************************************************************************/
extern void *memmove(void *dest, const void * src, size_t len);
extern void *memchr(const void * ptr, int val, size_t len);
/* This is ugly: GCC 2.95.x assumes that 'unsigned long' is used in the built-in
memcmp/memcpy/memset functions instead of 'size_t'. This can produce warnings
where none are necessary. */
#if defined(__GNUC__) && (__GNUC__ < 3)
extern int memcmp(const void *ptr1, const void *ptr2, unsigned long len);
extern void *memcpy(void *dest, const void *src, unsigned long len);
extern void *memset(void *ptr, int val, unsigned long len);
#else
extern int memcmp(const void *ptr1, const void *ptr2, size_t len);
extern void *memcpy(void *dest, const void *src, size_t len);
extern void *memmove(void *dest, const void * src, size_t len);
extern void *memset(void *ptr, int val, size_t len);
#endif /* __GNUC__ && __GNUC__ < 3 */
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: strings.h,v 1.1.1.1 2004-07-26 16:32:55 obarthel Exp $
* $Id: strings.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: amigaos-va.h,v 1.1.1.1 2004-07-26 16:32:57 obarthel Exp $
* $Id: amigaos-va.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: mount.h,v 1.1.1.1 2004-07-26 16:32:58 obarthel Exp $
* $Id: mount.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: stat.h,v 1.1.1.1 2004-07-26 16:32:58 obarthel Exp $
* $Id: stat.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: time.h,v 1.1.1.1 2004-07-26 16:32:58 obarthel Exp $
* $Id: time.h,v 1.7 2004-09-29 10:15:57 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
@@ -52,7 +52,7 @@ extern "C" {
structure and try to get by with this definition. Sometimes it works,
sometimes it doesn't. Not sure if there really is a good solution for
this problem... */
#ifndef DEVICES_TIMER_H
#if !defined(__TIMEVAL_ALREADY_DEFINED) && !defined(__USE_CLIB2_TIMEVAL)
/****************************************************************************/
@@ -73,11 +73,26 @@ extern "C" {
/****************************************************************************/
/* This will define the 'struct timeval' */
#ifndef DEVICES_TIMER_H
#include <devices/timer.h>
#endif /* DEVICES_TIMER_H */
/* Assume that the 'struct timeval' definition is now in place. */
#define __TIMEVAL_ALREADY_DEFINED
/****************************************************************************/
#else
#endif /* INCLUDE_VERSION */
/****************************************************************************/
#endif /* !__TIMEVAL_ALREADY_DEFINED && !__USE_CLIB2_TIMEVAL */
/****************************************************************************/
/* If the timeval is still undefined or should be defined locally,
define our own now... */
#if !defined(__TIMEVAL_ALREADY_DEFINED)
/****************************************************************************/
@@ -94,11 +109,7 @@ struct timeval
/****************************************************************************/
#endif /* INCLUDE_VERSION */
/****************************************************************************/
#endif /* DEVICES_TIMER_H */
#endif /* !__TIMEVAL_ALREADY_DEFINED */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: types.h,v 1.1.1.1 2004-07-26 16:32:59 obarthel Exp $
* $Id: types.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: unistd.h,v 1.3 2004-07-28 15:50:45 obarthel Exp $
* $Id: unistd.h,v 1.6 2004-09-29 14:17:46 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
@@ -52,6 +52,13 @@ extern "C" {
/****************************************************************************/
/* Endianness: we assume a big endian memory layout (for 68k and PowerPC). */
#define LITTLE_ENDIAN 1234
#define BIG_ENDIAN 4321
#define BYTE_ORDER BIG_ENDIAN
/****************************************************************************/
#define STDIN_FILENO 0
#define STDOUT_FILENO 1
#define STDERR_FILENO 2
@@ -87,6 +94,7 @@ extern int symlink(const char * actual_path, const char * symbolic_path);
extern int readlink(const char * path_name, char * buffer, int buffer_size);
extern int chdir(const char * path_name);
extern unsigned int sleep(unsigned int seconds);
extern void usleep(unsigned long microseconds);
extern int getopt(int argc, char * argv[], char *opts);
extern pid_t getpid(void);
extern char *realpath(const char *file_name, char *resolved_name);
@@ -200,28 +208,32 @@ extern int h_errno;
/****************************************************************************/
extern int accept(int sockfd,struct sockaddr *cliaddr,int *addrlen);
typedef int socklen_t;
/****************************************************************************/
extern int accept(int sockfd,struct sockaddr *cliaddr,socklen_t *addrlen);
extern int bind(int sockfd,struct sockaddr *name,int namelen);
extern int connect(int sockfd,struct sockaddr *name,int namelen);
extern struct hostent * gethostbyaddr(const char *addr, int len, int type);
extern int connect(int sockfd,struct sockaddr *name,socklen_t namelen);
extern struct hostent * gethostbyaddr(const char *addr, socklen_t len, int type);
extern struct hostent * gethostbyname(const char *name);
extern int gethostname(const char *name, int namelen);
extern struct netent * getnetbyname(const char *name);
extern int getpeername(int sockfd,struct sockaddr *name,int *namelen);
extern int getsockname(int sockfd,struct sockaddr *name,int *namelen);
extern int getsockopt(int sockfd,int level,int optname,void *optval,int *optlen);
extern int getpeername(int sockfd,struct sockaddr *name,socklen_t *namelen);
extern int getsockname(int sockfd,struct sockaddr *name,socklen_t *namelen);
extern int getsockopt(int sockfd,int level,int optname,void *optval,socklen_t *optlen);
extern unsigned long inet_addr(const char *addr);
extern char * inet_ntoa(struct in_addr in);
extern int ioctl(int fd,unsigned long request, ... /* char *arg */);
extern int listen(int sockfd,int backlog);
extern int recv(int fd,void *buff,size_t nbytes,int flags);
extern int recvfrom(int sockfd,void *buff,int len,int flags,struct sockaddr *from,int *fromlen);
extern int recvfrom(int sockfd,void *buff,int len,int flags,struct sockaddr *from,socklen_t *fromlen);
extern int recvmsg(int socket,struct msghdr *msg,int flags);
extern int select(int num_fds,fd_set *read_fds,fd_set *write_fds,fd_set *except_fds,struct timeval *timeout);
extern int send(int fd,void *buff,size_t nbytes,int flags);
extern int send(int fd,const void *buff,size_t nbytes,int flags);
extern int sendmsg(int socket,struct msghdr *msg,int flags);
extern int sendto(int sockfd,void *buff,int len,int flags,struct sockaddr *to,int tolen);
extern int setsockopt(int sockfd,int level,int optname,void *optval,int optlen);
extern int sendto(int sockfd,const void *buff,int len,int flags,struct sockaddr *to,socklen_t tolen);
extern int setsockopt(int sockfd,int level,int optname,const void *optval,socklen_t optlen);
extern int shutdown(int socket, int how);
extern int socket(int domain,int type,int protocol);
extern long gethostid(void);

View File

@@ -1,5 +1,5 @@
/*
* $Id: utime.h,v 1.1.1.1 2004-07-26 16:32:56 obarthel Exp $
* $Id: utime.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: libgen_basename.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* $Id: libgen_basename.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -36,7 +36,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: libgen_dirname.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* $Id: libgen_dirname.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -40,7 +40,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: locale_headers.h,v 1.1.1.1 2004-07-26 16:30:35 obarthel Exp $
* $Id: locale_headers.h,v 1.2 2004-09-29 19:57:57 obarthel Exp $
*
* :ts=4
*
@@ -69,12 +69,12 @@
/****************************************************************************/
extern struct Locale * __default_locale;
extern struct Locale * __locale_table[NUM_LOCALES];
extern struct Locale * NOCOMMON __default_locale;
extern struct Locale * NOCOMMON __locale_table[NUM_LOCALES];
/****************************************************************************/
extern char __locale_name_table[NUM_LOCALES][MAX_LOCALE_NAME_LEN];
extern char NOCOMMON __locale_name_table[NUM_LOCALES][MAX_LOCALE_NAME_LEN];
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: locale_init_exit.c,v 1.1.1.1 2004-07-26 16:30:35 obarthel Exp $
* $Id: locale_init_exit.c,v 1.3 2004-09-29 19:57:57 obarthel Exp $
*
* :ts=4
*
@@ -41,6 +41,25 @@
/****************************************************************************/
struct Library * NOCOMMON __LocaleBase;
/****************************************************************************/
#if defined(__amigaos4__)
struct LocaleIFace * NOCOMMON __ILocale;
#endif /* __amigaos4__ */
/****************************************************************************/
struct Locale * NOCOMMON __default_locale;
struct Locale * NOCOMMON __locale_table[NUM_LOCALES];
/****************************************************************************/
char NOCOMMON __locale_name_table[NUM_LOCALES][MAX_LOCALE_NAME_LEN];
/****************************************************************************/
void
__close_all_locales(void)
{
@@ -71,8 +90,7 @@ __close_all_locales(void)
/****************************************************************************/
void
__locale_exit(void)
CLIB_DESTRUCTOR(__locale_exit)
{
ENTER();
@@ -107,8 +125,7 @@ __locale_exit(void)
/****************************************************************************/
int
__locale_init(void)
CLIB_CONSTRUCTOR(__locale_init)
{
int i;
@@ -145,5 +162,6 @@ __locale_init(void)
PROFILE_ON();
RETURN(OK);
return(OK);
CONSTRUCTOR_SUCCEED();
}

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 166
#define DATE "28.7.2004"
#define VERS "m.lib 1.166"
#define VSTRING "m.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: m.lib 1.166 (28.7.2004)"
#define REVISION 178
#define DATE "7.10.2004"
#define VERS "m.lib 1.178"
#define VSTRING "m.lib 1.178 (7.10.2004)\r\n"
#define VERSTAG "\0$VER: m.lib 1.178 (7.10.2004)"

View File

@@ -1 +1 @@
166
178

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 166
#define DATE "28.7.2004"
#define VERS "m881.lib 1.166"
#define VSTRING "m881.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: m881.lib 1.166 (28.7.2004)"
#define REVISION 178
#define DATE "7.10.2004"
#define VERS "m881.lib 1.178"
#define VSTRING "m881.lib 1.178 (7.10.2004)\r\n"
#define VERSTAG "\0$VER: m881.lib 1.178 (7.10.2004)"

View File

@@ -1 +1 @@
166
178

View File

@@ -1,5 +1,5 @@
/*
* $Id: macros.h,v 1.1.1.1 2004-07-26 16:30:36 obarthel Exp $
* $Id: macros.h,v 1.2 2004-09-29 19:57:57 obarthel Exp $
*
* :ts=4
*
@@ -148,8 +148,10 @@
#ifndef UNUSED
#ifdef __GNUC__
#define UNUSED __attribute__((unused))
#define NOCOMMON __attribute__((nocommon))
#else
#define UNUSED /* UNUSED */
#define NOCOMMON /* NOCOMMON */
#endif
#endif /* UNUSED */

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_acos.c,v 1.1.1.1 2004-07-26 16:30:37 obarthel Exp $
* $Id: math_acos.c,v 1.2 2004-08-21 18:57:40 obarthel Exp $
*
* :ts=4
*
@@ -226,7 +226,7 @@ acos(double x)
}
else
{
result = HUGE_VAL;
result = 0;
errno = EDOM;
}

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_asin.c,v 1.1.1.1 2004-07-26 16:30:38 obarthel Exp $
* $Id: math_asin.c,v 1.2 2004-08-21 18:57:40 obarthel Exp $
*
* :ts=4
*
@@ -237,7 +237,7 @@ asin(double x)
}
else
{
result = HUGE_VAL;
result = 0;
errno = EDOM;
}

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_atan2.c,v 1.1.1.1 2004-07-26 16:30:39 obarthel Exp $
* $Id: math_atan2.c,v 1.3 2004-08-27 11:40:49 obarthel Exp $
*
* :ts=4
*
@@ -63,7 +63,7 @@ extern double __atan(double x);
/****************************************************************************/
INLINE static const double
__atan2(double x,double y)
__atan2(double y,double x)
{
const double pi = 3.14159265358979323846;
const double pi_over_2 = pi / 2.0;
@@ -107,7 +107,7 @@ __atan2(double x,double y)
}
else
{
result = HUGE_VAL;
result = 0;
errno = EDOM;
}
}
@@ -135,7 +135,7 @@ __atan(double x)
}
INLINE static const double
__atan2(double x,double y)
__atan2(double y,double x)
{
double pi,pi_over_2;
double result;
@@ -186,7 +186,7 @@ __atan2(double x,double y)
}
else
{
result = HUGE_VAL;
result = 0;
errno = EDOM;
}
}
@@ -201,9 +201,6 @@ __atan2(double x,double y)
#if defined(PPC_FLOATING_POINT_SUPPORT)
static const double
tiny = 1.0e-300,
zero = 0.0,
@@ -213,7 +210,7 @@ pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */
pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
INLINE static const double
__atan2(double x,double y)
__atan2(double y,double x)
{
double z;
int k,m,hx,hy,ix,iy;
@@ -322,19 +319,11 @@ __atan2(double x,double y)
/****************************************************************************/
double
atan2(double x,double y)
atan2(double y,double x)
{
double result;
if(x != 0.0 && y != 0.0)
{
result = __atan2(x,y);
}
else
{
result = HUGE_VAL;
errno = EDOM;
}
result = __atan2(y,x);
return(result);
}

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_data.c,v 1.1.1.1 2004-07-26 16:30:40 obarthel Exp $
* $Id: math_data.c,v 1.2 2004-08-21 18:57:40 obarthel Exp $
*
* :ts=4
*
@@ -48,3 +48,5 @@ struct Library * MathIeeeDoubTransBase;
/****************************************************************************/
double __huge_val;
double __not_a_number;
double __infinity;

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_exp.c,v 1.1.1.1 2004-07-26 16:30:41 obarthel Exp $
* $Id: math_exp.c,v 1.2 2004-08-27 11:40:49 obarthel Exp $
*
* :ts=4
*
@@ -194,7 +194,7 @@ __exp(double x)
}
else
{
k = invln2*x+halF[xsb];
k = (int)(invln2*x+halF[xsb]);
t = k;
hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */
lo = t*ln2LO[0];

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_fabs.c,v 1.1.1.1 2004-07-26 16:30:42 obarthel Exp $
* $Id: math_fabs.c,v 1.4 2004-09-29 14:30:03 obarthel Exp $
*
* :ts=4
*
@@ -126,8 +126,14 @@ __fabs(double x)
/****************************************************************************/
#if defined(__PPC__)
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
/****************************************************************************/
INLINE static const double
__fabs(double x)
{
@@ -141,10 +147,35 @@ __fabs(double x)
}
/****************************************************************************/
#else
/****************************************************************************/
INLINE static const double
__fabs(double x)
{
double res;
if(x < 0)
res = (-x);
else
res = x;
return res;
}
/****************************************************************************/
#endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#endif /* __PPC__ */
/****************************************************************************/
double
fabs(double x)
{

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_fmod.c,v 1.1.1.1 2004-07-26 16:30:44 obarthel Exp $
* $Id: math_fmod.c,v 1.2 2004-08-21 18:57:40 obarthel Exp $
*
* :ts=4
*
@@ -284,7 +284,7 @@ fmod(double x,double y)
}
else
{
result = HUGE_VAL;
result = x;
errno = EDOM;
}

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_fp_support.h,v 1.1.1.1 2004-07-26 16:30:44 obarthel Exp $
* $Id: math_fp_support.h,v 1.2 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -36,9 +36,47 @@
/****************************************************************************/
/* If any of the three supported floating point support flavours is
enabled, make sure that the generic 'FLOATING_POINT_SUPPORT' symbol
is defined, too.*/
#if (defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT) || defined(PPC_FLOATING_POINT_SUPPORT))
#define FLOATING_POINT_SUPPORT
#endif
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT || PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
/* This selects whether or not the 'long double' type should be used. So far,
only 'double' can be supported, and 'long double' defaults to 'double'. */
/*#define USE_LONG_DOUBLE*/
/****************************************************************************/
#if defined(USE_LONG_DOUBLE)
typedef long double __long_double_t;
#else
typedef double __long_double_t;
#endif /* USE_LONG_DOUBLE */
/****************************************************************************/
/* 'Portable' raw representations of three IEEE floating point formats. */
union ieee_long_double
{
long double value;
unsigned long raw[3];
};
union ieee_double
{
double value;
unsigned long raw[2];
};
union ieee_single
{
float value;
unsigned long raw[1];
};
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_headers.h,v 1.1.1.1 2004-07-26 16:30:45 obarthel Exp $
* $Id: math_headers.h,v 1.4 2004-08-27 13:49:17 obarthel Exp $
*
* :ts=4
*
@@ -38,6 +38,7 @@
#include <limits.h>
#include <errno.h>
#include <float.h>
#include <math.h>
/****************************************************************************/
@@ -147,6 +148,33 @@ do { \
(d) = sl_u.value; \
} while (0)
/* A union which permits us to convert between a float and a 32 bit
int. */
typedef union
{
float value;
unsigned int word;
} ieee_float_shape_type;
/* Get a 32 bit int from a float. */
#define GET_FLOAT_WORD(i,d) \
do { \
ieee_float_shape_type gf_u; \
gf_u.value = (d); \
(i) = gf_u.word; \
} while (0)
/* Set a float from a 32 bit int. */
#define SET_FLOAT_WORD(d,i) \
do { \
ieee_float_shape_type sf_u; \
sf_u.word = (i); \
(d) = sf_u.value; \
} while (0)
extern double __kernel_cos(double x, double y);
extern double __kernel_sin(double x, double y, int iy);
extern int __rem_pio2(double x, double *y);
@@ -164,4 +192,9 @@ extern double __scalbn(double x, int n);
/****************************************************************************/
extern double __not_a_number;
extern double __infinity;
/****************************************************************************/
#endif /* _MATH_HEADERS_H */

171
library/math_hypot.c Normal file
View File

@@ -0,0 +1,171 @@
/*
* $Id: math_hypot.c,v 1.1 2004-08-16 09:33:11 obarthel Exp $
*
* :ts=4
*
* Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@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.
*
*
* PowerPC math library based in part on work by Sun Microsystems
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
*/
#ifndef _MATH_HEADERS_H
#include "math_headers.h"
#endif /* _MATH_HEADERS_H */
/****************************************************************************/
#if defined(FLOATING_POINT_SUPPORT)
/****************************************************************************/
#if defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT)
INLINE static const double
__hypot(double x,double y)
{
double yx;
x = fabs(x);
y = fabs(y);
if ( x < y )
{
double temp = x;
x = y;
y = temp;
}
if (x == 0.)
{
return 0.;
}
else
{
yx = y/x;
return x*sqrt(1. + yx*yx);
}
}
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
static const double one = 1.0;
INLINE static const double
__hypot(double x,double y)
{
int n0;
double a=x,b=y,t1,t2,y1,y2,w;
int j,k,ha,hb;
n0 = ((*(int*)&one)>>29)^1; /* high word index */
ha = *(n0+(int*)&x)&0x7fffffff; /* high word of x */
hb = *(n0+(int*)&y)&0x7fffffff; /* high word of y */
if(hb > ha) {a=y;b=x;j=ha; ha=hb;hb=j;} else {a=x;b=y;}
*(n0+(int*)&a) = ha; /* a <- |a| */
*(n0+(int*)&b) = hb; /* b <- |b| */
if((ha-hb)>0x3c00000) {return a+b;} /* x/y > 2**60 */
k=0;
if(ha > 0x5f300000) { /* a>2**500 */
if(ha >= 0x7ff00000) { /* Inf or NaN */
w = a+b; /* for sNaN */
if(((ha&0xfffff)|*(1-n0+(int*)&a))==0) w = a;
if(((hb^0x7ff00000)|*(1-n0+(int*)&b))==0) w = b;
return w;
}
/* scale a and b by 2**-600 */
ha -= 0x25800000; hb -= 0x25800000; k += 600;
*(n0+(int*)&a) = ha;
*(n0+(int*)&b) = hb;
}
if(hb < 0x20b00000) { /* b < 2**-500 */
if(hb <= 0x000fffff) { /* subnormal b or 0 */
if((hb|(*(1-n0+(int*)&b)))==0) return a;
t1=0;
*(n0+(int*)&t1) = 0x7fd00000; /* t1=2^1022 */
b *= t1;
a *= t1;
k -= 1022;
} else { /* scale a and b by 2^600 */
ha += 0x25800000; /* a *= 2^600 */
hb += 0x25800000; /* b *= 2^600 */
k -= 600;
*(n0+(int*)&a) = ha;
*(n0+(int*)&b) = hb;
}
}
/* medium size a and b */
w = a-b;
if (w>b) {
t1 = 0;
*(n0+(int*)&t1) = ha;
t2 = a-t1;
w = sqrt(t1*t1-(b*(-b)-t2*(a+t1)));
} else {
a = a+a;
y1 = 0;
*(n0+(int*)&y1) = hb;
y2 = b - y1;
t1 = 0;
*(n0+(int*)&t1) = ha+0x00100000;
t2 = a - t1;
w = sqrt(t1*y1-(w*(-w)-(t1*y2+t2*b)));
}
if(k!=0) {
t1 = 1.0;
*(n0+(int*)&t1) += (k<<20);
return t1*w;
} else return w;
}
#endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
double
hypot(double x,double y)
{
double result;
result = __hypot(x,y);
return(result);
}
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_init_exit.c,v 1.1.1.1 2004-07-26 16:30:46 obarthel Exp $
* $Id: math_init_exit.c,v 1.5 2004-09-29 19:57:57 obarthel Exp $
*
* :ts=4
*
@@ -53,9 +53,10 @@
/****************************************************************************/
void
__math_exit(void)
CLIB_DESTRUCTOR(__math_exit)
{
ENTER();
#if defined(IEEE_FLOATING_POINT_SUPPORT)
{
if(MathIeeeSingBasBase != NULL)
@@ -77,6 +78,8 @@ __math_exit(void)
}
}
#endif /* IEEE_FLOATING_POINT_SUPPORT */
LEAVE();
}
/****************************************************************************/
@@ -121,41 +124,87 @@ __math_init(void)
#endif /* IEEE_FLOATING_POINT_SUPPORT */
/* Now fill in the HUGE_VAL constant, which is set to
* +Infinity.
*/
the largest representable floating point value. */
if(sizeof(__huge_val) == 4) /* single precision */
{
static const unsigned long infinity[] =
static const unsigned long largest_fp_value[1] =
{
0x7F800000
/* Exponent = +126, Mantissa = 8,388,607 */
0x7f7fffff
};
assert( sizeof(infinity) == sizeof(__huge_val) );
static const unsigned long not_a_number[1] =
{
/* Exponent = 255 and fraction != 0.0 */
0x7fffffff
};
memmove((void *)&__huge_val,infinity,sizeof(infinity));
static const unsigned long infinity[1] =
{
/* Exponent = 255 and fraction = 0.0 */
0x7f800000
};
assert( sizeof(largest_fp_value) == sizeof(__huge_val) );
memmove((void *)&__huge_val,largest_fp_value,sizeof(largest_fp_value));
memmove((void *)&__not_a_number,not_a_number,sizeof(not_a_number));
memmove((void *)&__infinity,infinity,sizeof(infinity));
}
else if (sizeof(__huge_val) == 8) /* double precision */
{
static const unsigned long infinity[] =
static const unsigned long largest_fp_value[2] =
{
0x7FF00000,0x00000000
/* Exponent = +1022, Mantissa = 4,503,599,627,370,495 */
0x7fefffff,0xffffffff
};
assert( sizeof(infinity) == sizeof(__huge_val) );
static const unsigned long not_a_number[2] =
{
/* Exponent = 2047 and fraction != 0.0 */
0x7fffffff,0xffffffff
};
memmove((void *)&__huge_val,infinity,sizeof(infinity));
static const unsigned long infinity[2] =
{
/* Exponent = 2047 and fraction = 0.0 */
0x7ff00000,0x00000000
};
assert( sizeof(largest_fp_value) == sizeof(__huge_val) );
memmove((void *)&__huge_val,largest_fp_value,sizeof(largest_fp_value));
memmove((void *)&__not_a_number,not_a_number,sizeof(not_a_number));
memmove((void *)&__infinity,infinity,sizeof(infinity));
}
#if defined(USE_LONG_DOUBLE)
else if (sizeof(__huge_val) == 12) /* extended precision */
{
static const unsigned long infinity[] =
static const unsigned long largest_fp_value[3] =
{
0x7FFF0000,0x00000000,0x00000000
/* Exponent = +32766, Mantissa = 18,446,744,073,709,551,615 */
0x7ffe0000,0xffffffff,0xffffffff
};
assert( sizeof(infinity) == sizeof(__huge_val) );
static const unsigned long not_a_number[3] =
{
/* Exponent = 32767 and fraction != 0.0 */
0x7fff0000,0xffffffff,0xffffffff
};
memmove((void *)&__huge_val,infinity,sizeof(infinity));
static const unsigned long infinity[3] =
{
/* Exponent = 32767 and fraction = 0.0 */
0x7fff0000,0x00000000,0x00000000
};
assert( sizeof(largest_fp_value) == sizeof(__huge_val) );
memmove((void *)&__huge_val,largest_fp_value,sizeof(largest_fp_value));
memmove((void *)&__not_a_number,not_a_number,sizeof(not_a_number));
memmove((void *)&__infinity,infinity,sizeof(infinity));
}
#endif /* USE_LONG_DOUBLE */
result = OK;

64
library/stdio_isinfinity.c → library/math_isinf.c Normal file → Executable file
View File

@@ -1,5 +1,5 @@
/*
* $Id: stdio_isinfinity.c,v 1.1.1.1 2004-07-26 16:31:37 obarthel Exp $
* $Id: math_isinf.c,v 1.2 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -39,43 +39,73 @@
#if defined (FLOATING_POINT_SUPPORT)
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
int
__is_infinity(long double number)
isinf(double number)
{
const unsigned long * const raw = (const unsigned long * const)&number;
int result = 0;
int is_infinity;
int result;
ENTER();
/* This assumes that a) 'number' is stored in big endian format
* and b) it is stored in IEEE 754 format.
*/
if(sizeof(number) == 4) /* single precision */
and b) it is stored in IEEE 754 format. */
if (sizeof(number) == 4) /* single precision */
{
union ieee_single x;
x.value = number;
/* Exponent = 255 and fraction = 0.0 */
if((raw[0] & 0x7FFFFFFF) == 0x7F800000)
result = 1;
is_infinity = ((x.raw[0] & 0x7FFFFFFF) == 0x7F800000);
}
else if (sizeof(number) == 8) /* double precision */
{
union ieee_double x;
x.value = number;
/* Exponent = 2047 and fraction = 0.0 */
if(((raw[0] & 0x7FFFFFFF) == 0x7FF00000) && (raw[1] == 0))
{
result = 1;
}
is_infinity = (((x.raw[0] & 0x7FFFFFFF) == 0x7FF00000) && (x.raw[1] == 0));
}
#if defined(USE_LONG_DOUBLE)
else if (sizeof(number) == 12) /* extended precision */
{
union ieee_long_double x;
x.value = number;
/* Exponent = 32767 and fraction = 0.0 */
if(((raw[0] & 0x7FFF0000) == 0x7FFF0000) &&
(raw[1] & 0x7FFFFFFF) == 0 && (raw[2] == 0))
{
is_infinity = (((x.raw[0] & 0x7FFF0000) == 0x7FFF0000) && (x.raw[1] & 0x7FFFFFFF) == 0 && (x.raw[2] == 0));
}
#endif /* USE_LONG_DOUBLE */
else
{
/* Can't happen */
is_infinity = 0;
}
if(is_infinity)
{
if(number < 0)
result = -1;
else
result = 1;
}
}
else
{
result = 0;
}
RETURN(result);
return(result);
}
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

59
library/stdio_isnotanumber.c → library/math_isnan.c Normal file → Executable file
View File

@@ -1,5 +1,5 @@
/*
* $Id: stdio_isnotanumber.c,v 1.1.1.1 2004-07-26 16:31:37 obarthel Exp $
* $Id: math_isnan.c,v 1.2 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -39,47 +39,60 @@
#if defined (FLOATING_POINT_SUPPORT)
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
int
__is_not_a_number(long double number)
isnan(double number)
{
const unsigned long * const raw = (const unsigned long * const)&number;
int result = 0;
int result;
ENTER();
/* This assumes that a) 'number' is stored in big endian format
* and b) it is stored in IEEE 754 format.
*/
if(sizeof(number) == 4) /* single precision */
and b) it is stored in IEEE 754 format. */
if (sizeof(number) == 4) /* single precision */
{
union ieee_single x;
x.value = number;
/* Exponent = 255 and fraction != 0.0 */
if((raw[0] & 0x7F800000) == 0x7F800000 &&
(raw[0] & 0x007FFFFF) != 0)
{
result = 1;
}
result = ((x.raw[0] & 0x7F800000) == 0x7F800000 && (x.raw[0] & 0x007FFFFF) != 0);
}
else if (sizeof(number) == 8) /* double precision */
{
union ieee_double x;
x.value = number;
/* Exponent = 2047 and fraction != 0.0 */
if(((raw[0] & 0x7FF00000) == 0x7FF00000) &&
((raw[0] & 0x000FFFFF) != 0 || (raw[1] != 0)))
{
result = 1;
}
result = (((x.raw[0] & 0x7FF00000) == 0x7FF00000) && ((x.raw[0] & 0x000FFFFF) != 0 || (x.raw[1] != 0)));
}
#if defined(USE_LONG_DOUBLE)
else if (sizeof(number) == 12) /* extended precision */
{
/* Exponent = 32767 and fraction != 0.0 */
if(((raw[0] & 0x7FFF0000) == 0x7FFF0000) &&
((raw[1] & 0x7FFFFFFF) != 0 || raw[2] != 0))
{
result = 1;
}
union ieee_long_double x;
x.value = number;
/* Exponent = 32766 and fraction != 0.0 */
result = (((x.raw[0] & 0x7FFF0000) == 0x7FFF0000) && ((x.raw[1] & 0x7FFFFFFF) != 0 || x.raw[2] != 0));
}
#endif /* USE_LONG_DOUBLE */
else
{
/* Can't happen */
result = 0;
}
RETURN(result);
return(result);
}
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_kernel_tan.c,v 1.1.1.1 2004-07-26 16:30:48 obarthel Exp $
* $Id: math_kernel_tan.c,v 1.2 2004-08-27 11:40:49 obarthel Exp $
*
* :ts=4
*
@@ -82,7 +82,21 @@ double __kernel_tan(double x, double y, int iy)
unsigned int low;
GET_LOW_WORD(low,x);
if(((ix|low)|(iy+1))==0) return one/fabs(x);
else return (iy==1)? x: -one/x;
else {
if (iy == 1)
return x;
else { /* compute -1 / (x+y) carefully */
double a, t;
z = w = x + y;
SET_LOW_WORD(z,0);
v = y - (z - x);
t = a = -one / w;
SET_LOW_WORD(t,0);
s = one + t * z;
return t + a * (s + t * v);
}
}
}
}
if(ix>=0x3FE59428) { /* |x|>=0.6744 */

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_log.c,v 1.1.1.1 2004-07-26 16:30:49 obarthel Exp $
* $Id: math_log.c,v 1.2 2004-09-27 15:06:19 tfrieden Exp $
*
* :ts=4
*
@@ -135,7 +135,7 @@ __log(double x)
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
#if defined(__PPC__)
static const double
ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */

136
library/math_logb.c Normal file
View File

@@ -0,0 +1,136 @@
/*
* $Id: math_logb.c,v 1.2 2004-08-14 11:11:01 obarthel Exp $
*
* :ts=4
*
* Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@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.
*
*
* PowerPC math library based in part on work by Sun Microsystems
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
*/
#ifndef _MATH_HEADERS_H
#include "math_headers.h"
#endif /* _MATH_HEADERS_H */
/****************************************************************************/
#if defined(FLOATING_POINT_SUPPORT)
/****************************************************************************/
#if defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT)
/****************************************************************************/
INLINE static const double
__logb(double x)
{
double result;
result = log(x) / log((double)FLT_RADIX);
return(result);
}
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
INLINE static const double
__logb(double x)
{
unsigned int lx,ix;
EXTRACT_WORDS(ix,lx,x);
ix &= 0x7fffffff; /* high |x| */
if((ix|lx)==0)
return -1.0/fabs(x);
if(ix>=0x7ff00000)
return x*x;
if((ix>>=20)==0) /* IEEE 754 logb */
return -1022.0;
else
return (double) (ix-1023);
}
#endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
double
logb(double x)
{
double result;
int sign;
if(x == 0.0)
{
result = -HUGE_VAL;
goto out;
}
if(isnan(x))
{
result = x;
goto out;
}
sign = isinf(x);
if(sign != 0)
{
if(sign < 0)
result = (-x);
else
result = x;
goto out;
}
result = __logb(x);
out:
return(result);
}
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_modf.c,v 1.1.1.1 2004-07-26 16:30:50 obarthel Exp $
* $Id: math_modf.c,v 1.2 2004-09-27 15:06:19 tfrieden Exp $
*
* :ts=4
*
@@ -109,7 +109,7 @@ __modf(double x,double *nptr)
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
#if defined(__PPC__)
INLINE static const double
__modf(double x,double *nptr)

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_pow.c,v 1.1.1.1 2004-07-26 16:30:52 obarthel Exp $
* $Id: math_pow.c,v 1.3 2004-09-27 15:06:19 tfrieden Exp $
*
* :ts=4
*
@@ -171,7 +171,7 @@ __pow(double x,double y)
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
#if defined(__PPC__)
/****************************************************************************/
@@ -286,11 +286,12 @@ __pow(double x,double y)
}
/* (x<0)**(non-int) is NaN */
/* REDHAT LOCAL: This used to be
if((((hx>>31)+1)|yisint)==0) return (x-x)/(x-x);
but ANSI C says a right shift of a signed negative quantity is
implementation defined. */
if(((((unsigned int)hx>>31)-1)|yisint)==0) return (x-x)/(x-x);
n = ((unsigned int)hx>>31)+1;
if((n|yisint)==0) return (x-x)/(x-x);
s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
if((n|(yisint-1))==0)
s = -one;/* (-ve)**(odd int) */
/* |y| is huge */
if(iy>0x41e00000) { /* if |y| > 2**31 */
@@ -299,11 +300,11 @@ __pow(double x,double y)
if(ix>=0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
}
/* over/underflow if x is not close to one */
if(ix<0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
if(ix>0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
if(ix<0x3fefffff) return (hy<0)? s*huge*huge:s*tiny*tiny;
if(ix>0x3ff00000) return (hy>0)? s*huge*huge:s*tiny*tiny;
/* now |1-x| is tiny <= 2**-20, suffice to compute
log(x) by x-x^2/2+x^3/3-x^4/4 */
t = ax-1; /* t has 20 trailing zeros */
t = ax-one; /* t has 20 trailing zeros */
w = (t*t)*(0.5-t*(0.3333333333333333333333-t*0.25));
u = ivln2_h*t; /* ivln2_h has 21 sig. bits */
v = t*ivln2_l-w*ivln2;
@@ -311,7 +312,7 @@ __pow(double x,double y)
SET_LOW_WORD(t1,0);
t2 = v-(t1-u);
} else {
double s2,s_h,s_l,t_h,t_l;
double ss,s2,s_h,s_l,t_h,t_l;
n = 0;
/* take care subnormal number */
if(ix<0x00100000)
@@ -325,11 +326,11 @@ __pow(double x,double y)
else {k=0;n+=1;ix -= 0x00100000;}
SET_HIGH_WORD(ax,ix);
/* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
/* compute ss = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
u = ax-bp[k]; /* bp[0]=1.0, bp[1]=1.5 */
v = one/(ax+bp[k]);
s = u*v;
s_h = s;
ss = u*v;
s_h = ss;
SET_LOW_WORD(s_h,0);
/* t_h=ax+bp[k] High */
t_h = zero;
@@ -337,33 +338,29 @@ __pow(double x,double y)
t_l = ax - (t_h-bp[k]);
s_l = v*((u-s_h*t_h)-s_h*t_l);
/* compute log(ax) */
s2 = s*s;
s2 = ss*ss;
r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6)))));
r += s_l*(s_h+s);
r += s_l*(s_h+ss);
s2 = s_h*s_h;
t_h = 3.0+s2+r;
SET_LOW_WORD(t_h,0);
t_l = r-((t_h-3.0)-s2);
/* u+v = s*(1+...) */
/* u+v = ss*(1+...) */
u = s_h*t_h;
v = s_l*t_h+t_l*s;
/* 2/(3log2)*(s+...) */
v = s_l*t_h+t_l*ss;
/* 2/(3log2)*(ss+...) */
p_h = u+v;
SET_LOW_WORD(p_h,0);
p_l = v-(p_h-u);
z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */
z_l = cp_l*p_h+p_l*cp+dp_l[k];
/* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
/* log2(ax) = (ss+..)*2/(3*log2) = n + dp_h + z_h + z_l */
t = (double)n;
t1 = (((z_h+z_l)+dp_h[k])+t);
SET_LOW_WORD(t1,0);
t2 = z_l-(((t1-t)-dp_h[k])-z_h);
}
s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
if(((((unsigned int)hx>>31)-1)|(yisint-1))==0)
s = -one;/* (-ve)**(odd int) */
/* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
y1 = y;
SET_LOW_WORD(y1,0);

136
library/math_rint.c Executable file
View File

@@ -0,0 +1,136 @@
/*
* $Id: math_rint.c,v 1.3 2004-08-27 13:49:17 obarthel Exp $
*
* :ts=4
*
* Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@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.
*
*
* PowerPC math library based in part on work by Sun Microsystems
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
*/
#ifndef _MATH_HEADERS_H
#include "math_headers.h"
#endif /* _MATH_HEADERS_H */
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) (1994) standard. */
/****************************************************************************/
#if defined(FLOATING_POINT_SUPPORT)
/****************************************************************************/
#if defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT)
/****************************************************************************/
double
rint(double x)
{
return floor ( x+0.5 );
}
/****************************************************************************/
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
/****************************************************************************/
static const double
TWO52[2]={
4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
-4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */
};
double
rint(double x)
{
int i0,j0,sx;
unsigned i,i1;
double w,t;
GET_HIGH_WORD(i0,x);
sx = (i0>>31)&1;
GET_LOW_WORD(i1,x);
j0 = ((i0>>20)&0x7ff)-0x3ff;
if(j0<20) {
if(j0<0) {
if(((i0&0x7fffffff)|i1)==0) return x;
i1 |= (i0&0x0fffff);
i0 &= 0xfffe0000;
i0 |= ((i1|-i1)>>12)&0x80000;
SET_HIGH_WORD(x,i0);
w = TWO52[sx]+x;
t = w-TWO52[sx];
GET_HIGH_WORD(i0,t);
SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31));
return t;
} else {
i = (0x000fffff)>>j0;
if(((i0&i)|i1)==0) return x; /* x is integral */
i>>=1;
if(((i0&i)|i1)!=0) {
if(j0==19) i1 = 0x40000000; else
i0 = (i0&(~i))|((0x20000)>>j0);
}
}
} else if (j0>51) {
if(j0==0x400) return x+x; /* inf or NaN */
else return x; /* x is integral */
} else {
i = ((unsigned)(0xffffffff))>>(j0-20);
if((i1&i)==0) return x; /* x is integral */
i>>=1;
if((i1&i)!=0) i1 = (i1&(~i))|((0x40000000)>>(j0-20));
}
SET_HIGH_WORD(x,i0);
SET_LOW_WORD(x,i1);
w = TWO52[sx]+x;
return w-TWO52[sx];
}
/****************************************************************************/
#endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

129
library/math_rintf.c Executable file
View File

@@ -0,0 +1,129 @@
/*
* $Id: math_rintf.c,v 1.2 2004-08-27 13:49:17 obarthel Exp $
*
* :ts=4
*
* Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@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.
*
*
* PowerPC math library based in part on work by Sun Microsystems
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
*/
#ifndef _MATH_HEADERS_H
#include "math_headers.h"
#endif /* _MATH_HEADERS_H */
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) (1994) standard. */
/****************************************************************************/
#if defined(FLOATING_POINT_SUPPORT)
/****************************************************************************/
#if defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT)
/****************************************************************************/
float
rintf(float x)
{
return (float) floor ( x + 0.5f );
}
/****************************************************************************/
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
/****************************************************************************/
/* Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. */
/****************************************************************************/
static const float
TWO23[2]={
8.3886080000e+06, /* 0x4b000000 */
-8.3886080000e+06, /* 0xcb000000 */
};
float
rintf(float x)
{
int i0,j0,sx;
unsigned int i,i1;
float w,t;
GET_FLOAT_WORD(i0,x);
sx = (i0>>31)&1;
j0 = ((i0>>23)&0xff)-0x7f;
if(j0<23) {
if(j0<0) {
if((i0&0x7fffffff)==0) return x;
i1 = (i0&0x07fffff);
i0 &= 0xfff00000;
i0 |= ((i1|-i1)>>9)&0x400000;
SET_FLOAT_WORD(x,i0);
w = TWO23[sx]+x;
t = w-TWO23[sx];
GET_FLOAT_WORD(i0,t);
SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
return t;
} else {
i = (0x007fffff)>>j0;
if((i0&i)==0) return x; /* x is integral */
i>>=1;
if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
}
} else {
if(j0==0x80) return x+x; /* inf or NaN */
else return x; /* x is integral */
}
SET_FLOAT_WORD(x,i0);
w = TWO23[sx]+x;
return w-TWO23[sx];
}
/****************************************************************************/
#endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_sqrt.c,v 1.1.1.1 2004-07-26 16:30:53 obarthel Exp $
* $Id: math_sqrt.c,v 1.3 2004-09-27 15:06:19 tfrieden Exp $
*
* :ts=4
*
@@ -135,7 +135,7 @@ __sqrt(double x)
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
#ifdef __PPC__
static const double one = 1.0, tiny=1.0e-300;
@@ -236,7 +236,7 @@ __sqrt(double x)
return z;
}
#endif /* PPC_FLOATING_POINT_SUPPORT */
#endif
/****************************************************************************/
@@ -251,7 +251,7 @@ sqrt(double x)
}
else
{
result = HUGE_VAL;
result = 0;
errno = EDOM;
}

View File

@@ -1,5 +1,5 @@
/*
* $Id: mount_fstatfs.c,v 1.1.1.1 2004-07-26 16:30:54 obarthel Exp $
* $Id: mount_fstatfs.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: mount_statfs.c,v 1.1.1.1 2004-07-26 16:30:55 obarthel Exp $
* $Id: mount_statfs.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 166
#define DATE "28.7.2004"
#define VERS "net.lib 1.166"
#define VSTRING "net.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: net.lib 1.166 (28.7.2004)"
#define REVISION 178
#define DATE "7.10.2004"
#define VERS "net.lib 1.178"
#define VSTRING "net.lib 1.178 (7.10.2004)\r\n"
#define VERSTAG "\0$VER: net.lib 1.178 (7.10.2004)"

View File

@@ -1 +1 @@
166
178

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
/*
* $Id: signal_kill.c,v 1.1.1.1 2004-07-26 16:31:05 obarthel Exp $
* $Id: signal_kill.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: signal_sigaddset.c,v 1.1.1.1 2004-07-26 16:31:05 obarthel Exp $
* $Id: signal_sigaddset.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: signal_sigblock.c,v 1.1.1.1 2004-07-26 16:31:05 obarthel Exp $
* $Id: signal_sigblock.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: signal_sigemptyset.c,v 1.1.1.1 2004-07-26 16:31:06 obarthel Exp $
* $Id: signal_sigemptyset.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: signal_sigmask.c,v 1.1.1.1 2004-07-26 16:31:06 obarthel Exp $
* $Id: signal_sigmask.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: signal_sigprocmask.c,v 1.1.1.1 2004-07-26 16:31:06 obarthel Exp $
* $Id: signal_sigprocmask.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: signal_sigsetmask.c,v 1.1.1.1 2004-07-26 16:31:06 obarthel Exp $
* $Id: signal_sigsetmask.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
#
# $Id: smakefile,v 1.2 2004-07-28 15:50:45 obarthel Exp $
# $Id: smakefile,v 1.10 2004-09-29 14:17:44 obarthel Exp $
#
# :ts=8
#
@@ -14,6 +14,14 @@
@echo "Assembling $<"
@asm $(AFLAGS) $<
##############################################################################
# You might want to change this to the directory where your operating system
# header files are stored. On my system, that's "V:include", but you might
# get lucky with "sc:include" instead, which is the default for SAS/C.
INCLUDE_DIR = V:include
#INCLUDE_DIR = sc:include
##############################################################################
OPTIMIZE = optimize opttime optschedule optinline
@@ -33,7 +41,15 @@ SUPPORT = define=UNIX_PATH_SEMANTICS define=SOCKET_SUPPORT define=USERGROUP_SUP
##############################################################################
CFLAGS = \
idlen=64 idir=include idir=netinclude commentnest \
resopt \
nover \
memorysize=huge \
idir=netinclude \
idlen=64 \
commentnest \
nostackcheck \
stringmerge \
errorrexx \
$(PROFILE) $(OPTIMIZE) $(CODE) $(DATA) $(CPU) $(MATH) \
$(SUPPORT) $(DEBUG)
@@ -147,14 +163,14 @@ FCNTL_OBJ = \
fcntl_lseek.o \
fcntl_open.o \
fcntl_read.o \
fcntl_write.o
fcntl_write.o \
fcntl_get_default_file.o
LIBGEN_OBJ = \
libgen_basename.o \
libgen_dirname.o
LOCALE_OBJ = \
locale_data.o \
locale_init_exit.o \
locale_localeconv.o \
locale_setlocale.o
@@ -173,12 +189,18 @@ MATH_OBJ = \
math_floor.o \
math_fmod.o \
math_frexp.o \
math_hypot.o \
math_init_exit.o \
math_isinf.o \
math_isnan.o \
math_ldexp.o \
math_log.o \
math_log10.o \
math_logb.o \
math_modf.o \
math_pow.o \
math_rint.o \
math_rintf.o \
math_sin.o \
math_sinh.o \
math_sqrt.o \
@@ -298,8 +320,6 @@ STDIO_OBJ = \
stdio_initializeiob.o \
stdio_init_exit.o \
stdio_iobhookentry.o \
stdio_isinfinity.o \
stdio_isnotanumber.o \
stdio_locksemaphorename.o \
stdio_nostdio.o \
stdio_openiob.o \
@@ -394,6 +414,8 @@ STDLIB_OBJ = \
stdlib_strtod.o \
stdlib_strtol.o \
stdlib_strtoul.o \
stdlib_strtoll.o \
stdlib_strtoull.o \
stdlib_swapstack.o \
stdlib_system.o \
stdlib_unsetenv.o \
@@ -451,9 +473,9 @@ TIME_OBJ = \
UNISTD_OBJ = \
unistd_access.o \
unistd_chdir.o \
unistd_chdir_exit.o \
unistd_chown.o \
unistd_currentpathname.o \
unistd_data.o \
unistd_dup.o \
unistd_dup2.o \
unistd_fchown.o \
@@ -474,12 +496,15 @@ UNISTD_OBJ = \
unistd_sleep.o \
unistd_strip_double_slash.o \
unistd_symlink.o \
unistd_time_delay.o \
unistd_timer.o \
unistd_translatea2u.o \
unistd_translaterel.o \
unistd_translateu2a.o \
unistd_truncate.o \
unistd_unix_path_semantics.o \
unistd_unlink.o
unistd_unlink.o \
unistd_usleep.o
# \
# unistd_wildcard_expand.o
@@ -519,16 +544,16 @@ UTIME_OBJ = \
##############################################################################
all: setup c.lib startup.o test fgets_test iotest sscanf_test printf_test stack_size_test translate_test cleanup
all: setup c.lib startup.o cleanup
clean:
-delete \#?.o \#?.lib \#?.map test fgets_test iotest sscanf_test printf_test stack_size_test translate_test
-delete \#?.o \#?.lib \#?.map
##############################################################################
setup:
@echo "Setting up include: assignment"
@assign include: include V:include
@assign include: include $(INCLUDE_DIR)
cleanup:
@echo "Cleaning up include: assignment"
@@ -560,43 +585,6 @@ cvs-tag:
##############################################################################
test: test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
fgets_test: fgets_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o fgets_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
iotest: iotest.o startup.o c.lib
@echo "Linking $@"
@slink startup.o iotest.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
sscanf_test: sscanf_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o sscanf_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
printf_test: printf_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o printf_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
stack_size_test: stack_size_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o stack_size_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
translate_test: translate_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o translate_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
##############################################################################
c.lib_rev.o : c.lib_rev.c c.lib_rev.h
amiga_hookentry.o : amiga_hookentry.asm

View File

@@ -1,5 +1,5 @@
/*
* $Id: socket_hstrerror.c,v 1.1 2004-07-28 15:50:45 obarthel Exp $
* $Id: socket_hstrerror.c,v 1.2 2004-07-29 08:35:15 obarthel Exp $
*
* :ts=4
*
@@ -121,6 +121,7 @@ hstrerror(int error_number)
result = "Unknown server error_number";
break;
default:
case 4: /* NO_ADDRESS */
result = "No address associated with name";

View File

@@ -1,5 +1,5 @@
/*
* $Id: socket_init_exit.c,v 1.2 2004-07-28 15:50:45 obarthel Exp $
* $Id: socket_init_exit.c,v 1.4 2004-09-29 17:03:57 obarthel Exp $
*
* :ts=4
*
@@ -84,16 +84,11 @@ extern BOOL __is_daemon;
/****************************************************************************/
extern void __show_error(const char * message);
/****************************************************************************/
extern void __socket_hook_entry(struct Hook * hook,struct fd * fd,struct file_hook_message * message);
/****************************************************************************/
void
__socket_exit(void)
CLIB_DESTRUCTOR(__socket_exit)
{
ENTER();
@@ -116,16 +111,7 @@ __socket_exit(void)
* does not happen, the stdio cleanup function will
* crash (with bells on).
*/
if(__fd != NULL)
{
int i;
for(i = 0 ; i < __num_fd ; i++)
{
if(FLAG_IS_SET(__fd[i]->fd_Flags,FDF_IS_SOCKET) && FLAG_IS_SET(__fd[i]->fd_Flags,FDF_IN_USE))
close(i);
}
}
__close_all_files();
#if defined(__amigaos4__)
{

View File

@@ -1,5 +1,5 @@
/*
* $Id: socket_send.c,v 1.1.1.1 2004-07-26 16:31:19 obarthel Exp $
* $Id: socket_send.c,v 1.2 2004-09-29 14:31:57 obarthel Exp $
*
* :ts=4
*
@@ -48,7 +48,7 @@
/****************************************************************************/
int
send(int sockfd,void *buff,size_t nbytes,int flags)
send(int sockfd,const void *buff,size_t nbytes,int flags)
{
struct fd * fd;
int result = -1;

View File

@@ -1,5 +1,5 @@
/*
* $Id: socket_sendto.c,v 1.1.1.1 2004-07-26 16:31:20 obarthel Exp $
* $Id: socket_sendto.c,v 1.2 2004-09-29 14:31:57 obarthel Exp $
*
* :ts=4
*
@@ -48,7 +48,7 @@
/****************************************************************************/
int
sendto(int sockfd,void *buff,int len,int flags,struct sockaddr *to,int tolen)
sendto(int sockfd,const void *buff,int len,int flags,struct sockaddr *to,int tolen)
{
struct fd * fd;
int result = -1;

View File

@@ -1,5 +1,5 @@
/*
* $Id: socket_setsockopt.c,v 1.1.1.1 2004-07-26 16:31:20 obarthel Exp $
* $Id: socket_setsockopt.c,v 1.2 2004-09-29 14:31:57 obarthel Exp $
*
* :ts=4
*
@@ -48,7 +48,7 @@
/****************************************************************************/
int
setsockopt(int sockfd,int level,int optname,void *optval,int optlen)
setsockopt(int sockfd,int level,int optname,const void *optval,int optlen)
{
struct fd * fd;
int result = -1;

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 166
#define DATE "28.7.2004"
#define VERS "stack.lib 1.166"
#define VSTRING "stack.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: stack.lib 1.166 (28.7.2004)"
#define REVISION 178
#define DATE "7.10.2004"
#define VERS "stack.lib 1.178"
#define VSTRING "stack.lib 1.178 (7.10.2004)\r\n"
#define VERSTAG "\0$VER: stack.lib 1.178 (7.10.2004)"

View File

@@ -1 +1 @@
166
178

View File

@@ -1,5 +1,5 @@
/*
* $Id: stat_chmod.c,v 1.1.1.1 2004-07-26 16:31:21 obarthel Exp $
* $Id: stat_chmod.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: stat_convertfileinfo.c,v 1.1.1.1 2004-07-26 16:31:21 obarthel Exp $
* $Id: stat_convertfileinfo.c,v 1.3 2004-08-07 10:24:04 obarthel Exp $
*
* :ts=4
*
@@ -41,10 +41,6 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/****************************************************************************/
void
__convert_file_info_to_stat(
const struct MsgPort * file_system,

View File

@@ -1,5 +1,5 @@
/*
* $Id: stat_fchmod.c,v 1.1.1.1 2004-07-26 16:31:22 obarthel Exp $
* $Id: stat_fchmod.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -37,7 +37,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: stat_fstat.c,v 1.1.1.1 2004-07-26 16:31:22 obarthel Exp $
* $Id: stat_fstat.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
*
* :ts=4
*
@@ -43,7 +43,7 @@
/****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/

Some files were not shown because too many files have changed in this diff Show More