From 999493cb4a497063c1cb2354a95db21c7ab496f2 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 8 Jul 1996 17:45:03 +0000 Subject: [PATCH] Mon Jul 8 13:37:40 1996 Roland McGrath * math/math.h (_Mfloat_, _Mlong_double_): New macros, defined iff not already defined to float, long double. Use those macros for _Mdouble_ defns when including mathcalls.h. * math/Makefile [$(long-double-fcts) != yes] (CPPFLAGS): Append -D_Mlong_double_=double. Add more -lm functions to -lc because ldexp uses them. * math/Makefile (calls): Add s_finite, s_copysign, s_scalbn, s_modf. (routines): Remove s_modf, add s_frexpf, s_ldexpf; all but frexp and ldexp have both f and l code, and those have f though not l code. memcpy for possibly overlapping strings. --- ChangeLog | 15 ++++++++++++++- FAQ | 49 ++++++++++++++++++++++++++++++++++++------------- NEWS | 3 ++- math/math.h | 15 +++++++++++---- 4 files changed, 63 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 28e167c2c5..a52a1a273f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,20 @@ +Mon Jul 8 13:37:40 1996 Roland McGrath + + * math/math.h (_Mfloat_, _Mlong_double_): New macros, defined iff not + already defined to float, long double. Use those macros for _Mdouble_ + defns when including mathcalls.h. + * math/Makefile [$(long-double-fcts) != yes] (CPPFLAGS): Append + -D_Mlong_double_=double. + + Add more -lm functions to -lc because ldexp uses them. + * math/Makefile (calls): Add s_finite, s_copysign, s_scalbn, s_modf. + (routines): Remove s_modf, add s_frexpf, s_ldexpf; all but frexp and + ldexp have both f and l code, and those have f though not l code. + Mon Jul 8 13:10:50 1996 Michael I. Bushnell p/BSG * string/argz-delete.c (argz_delete): Use memmove instead of - memcpy for possbly overlapping strings. + memcpy for possibly overlapping strings. Mon Jul 8 02:14:25 1996 Roland McGrath diff --git a/FAQ b/FAQ index 6c67d6be59..8b676e6139 100644 --- a/FAQ +++ b/FAQ @@ -34,14 +34,15 @@ please let me know. [Q7] ``When I run `nm -u libc.so' on the produced library I still find unresolved symbols? Can this be ok?'' -[Q8] ``I expect GNU libc to be 100% source code compatible with +[Q8] ``Can I replace the libc on my Linux system with GNU libc?'' + +[Q9] ``I expect GNU libc to be 100% source code compatible with the old Linux based GNU libc. Why isn't it like this?'' -[Q9] ``Why does getlogin() always return NULL on my Linux box?'' +[Q10] ``Why does getlogin() always return NULL on my Linux box?'' -[Q10] ``Where are the DST_* constants found in on many +[Q11] ``Where are the DST_* constants found in on many systems?'' - ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [Q1] ``What systems does the GNU C Library run on?'' @@ -137,8 +138,8 @@ Library. You should avoid compiling on a NFS mounted device. This is very slow. -* plenty of time (approx 1h for i386-linux on i586@133 or 2.5h or - i486@66). +* plenty of time (approx 1h for i386-linux on i586@133 or 2.5h on + i486@66 or 4.5h on i486@33). If you have some more measurements let me know. @@ -179,10 +180,27 @@ errors while linking before deciding there is a problem. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -[Q8] ``I expect GNU libc to be 100% source code compatible with +[Q8] ``Can I replace the libc on my Linux system with GNU libc?'' + +[A8] {UD} You cannot replace any existing libc for Linux with GNU +libc. There are different versions of C libraries and you can run +libcs with different major version independently. + +For Linux there are today two libc versions: + libc-4 old a.out libc + libc-5 current ELF libc + +GNU libc will have the major number 6 and therefore you can have this +additionally installed. For more information consult documenation for +shared library handling. The Makefiles of GNU libc will automatically +generate the needed symbolic links which the linker will use. + + +~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +[Q9] ``I expect GNU libc to be 100% source code compatible with the old Linux based GNU libc. Why isn't it like this?'' -[A8] {DMT,UD} Not every extension in Linux libc's history was well +[A9] {DMT,UD} Not every extension in Linux libc's history was well thought-out. In fact it had a lot of problems with standards compliance and with cleanliness. With the introduction of a new version number these errors now can be corrected. Here is a list of the known source code @@ -246,11 +264,16 @@ incompatibilities: upgrading to a newer lpd should fix this problem (e.g., the 4.4BSD lpd is known to be working). +* resolver functions/BIND: like on many other systems the functions of + the resolver library are not included in the libc itself. There is + a separate library libresolv. If you find some symbols starting with + `res_*' undefined simply add -lresolv to your call of the linker. + ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -[Q9] ``Why does getlogin() always return NULL on my Linux box?'' +[Q10] ``Why does getlogin() always return NULL on my Linux box?'' -[A9] {UD} The GNU C library has a format for the UTMP and WTMP file +[A10] {UD} The GNU C library has a format for the UTMP and WTMP file which differs from what your system currently has. It was extended to fulfill the needs of the next years when IPv6 is introduced. So the record size is different, fields might have a different position and @@ -262,12 +285,12 @@ means to support the new techniques later. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ -[Q10] ``Where are the DST_* constants found in on many +[Q11] ``Where are the DST_* constants found in on many systems?'' -[A10] {UD} These constants come from the old BSD days and are not used +[A11] {UD} These constants come from the old BSD days and are not used today anymore (even the Linux based glibc does not implement the handling -although the cosntants are defined). +although the constants are defined). Instead GNU libc contains the zone database handling and compatibility code for POSIX TZ environment variable handling. diff --git a/NEWS b/NEWS index ec195fcf5e..edb07b8330 100644 --- a/NEWS +++ b/NEWS @@ -205,7 +205,8 @@ Version 2.0 * We have incorporated the 4.4 BSD `db' library (version 1.85). New header files and provide a rich set of functions for several types of simple databases stored in memory and in files, and is - an old `ndbm'-compatbile interface using the `db' functions. + an old `ndbm'-compatbile interface using the `db' functions. Link with + `-ldb' to get these functions. * New macro `strdupa' copies a string like `strdup', but uses local stack space from `alloca' instead of dynamic heap space from `malloc'. diff --git a/math/math.h b/math/math.h index fbec2e89ae..4d08cd94b5 100644 --- a/math/math.h +++ b/math/math.h @@ -62,19 +62,26 @@ __BEGIN_DECLS #ifdef __USE_MISC -/* Include the file of declarations again, this type using `float' + +/* Include the file of declarations again, this time using `float' instead of `double' and appending f to each function name. */ -#define _Mdouble_ float +#ifndef _Mfloat_ +#define _Mfloat_ float +#endif +#define _Mdouble_ _Mfloat_ #define __MATH_PRECNAME(name,r) name##f##r #include #undef _Mdouble_ #undef __MATH_PRECNAME -/* Include the file of declarations again, this type using `long double' +/* Include the file of declarations again, this time using `long double' instead of `double' and appending l to each function name. */ -#define _Mdouble_ long double +#ifndef _Mlong_double_ +#define _Mlong_double_ long double +#endif +#define _Mdouble_ _Mlong_double_ #define __MATH_PRECNAME(name,r) name##l##r #include #undef _Mdouble_