Mon Jul 8 13:37:40 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>

* 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.
This commit is contained in:
Roland McGrath 1996-07-08 17:45:03 +00:00
parent f5cb4a5cba
commit 999493cb4a
4 changed files with 63 additions and 19 deletions

View File

@ -1,7 +1,20 @@
Mon Jul 8 13:37:40 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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 <mib@psilocin.gnu.ai.mit.edu> Mon Jul 8 13:10:50 1996 Michael I. Bushnell p/BSG <mib@psilocin.gnu.ai.mit.edu>
* string/argz-delete.c (argz_delete): Use memmove instead of * 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 <roland@delasyd.gnu.ai.mit.edu> Mon Jul 8 02:14:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>

49
FAQ
View File

@ -34,14 +34,15 @@ please let me know.
[Q7] ``When I run `nm -u libc.so' on the produced library I still [Q7] ``When I run `nm -u libc.so' on the produced library I still
find unresolved symbols? Can this be ok?'' 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?'' 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 <sys/time.h> on many [Q11] ``Where are the DST_* constants found in <sys/time.h> on many
systems?'' systems?''
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q1] ``What systems does the GNU C Library run on?'' [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 You should avoid compiling on a NFS mounted device. This is very
slow. slow.
* plenty of time (approx 1h for i386-linux on i586@133 or 2.5h or * plenty of time (approx 1h for i386-linux on i586@133 or 2.5h on
i486@66). i486@66 or 4.5h on i486@33).
If you have some more measurements let me know. 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?'' 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 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 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 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 upgrading to a newer lpd should fix this problem (e.g., the 4.4BSD
lpd is known to be working). 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 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 fulfill the needs of the next years when IPv6 is introduced. So the
record size is different, fields might have a different position and 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 <sys/time.h> on many [Q11] ``Where are the DST_* constants found in <sys/time.h> on many
systems?'' 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 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 Instead GNU libc contains the zone database handling and compatibility
code for POSIX TZ environment variable handling. code for POSIX TZ environment variable handling.

3
NEWS
View File

@ -205,7 +205,8 @@ Version 2.0
* We have incorporated the 4.4 BSD `db' library (version 1.85). New header * We have incorporated the 4.4 BSD `db' library (version 1.85). New header
files <db.h> and <mpool.h> provide a rich set of functions for several files <db.h> and <mpool.h> provide a rich set of functions for several
types of simple databases stored in memory and in files, and <ndbm.h> is types of simple databases stored in memory and in files, and <ndbm.h> 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 * New macro `strdupa' copies a string like `strdup', but uses local stack
space from `alloca' instead of dynamic heap space from `malloc'. space from `alloca' instead of dynamic heap space from `malloc'.

View File

@ -62,19 +62,26 @@ __BEGIN_DECLS
#ifdef __USE_MISC #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. */ 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 #define __MATH_PRECNAME(name,r) name##f##r
#include <mathcalls.h> #include <mathcalls.h>
#undef _Mdouble_ #undef _Mdouble_
#undef __MATH_PRECNAME #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. */ 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 #define __MATH_PRECNAME(name,r) name##l##r
#include <mathcalls.h> #include <mathcalls.h>
#undef _Mdouble_ #undef _Mdouble_