This commit is contained in:
Ulrich Drepper 1997-12-10 00:00:16 +00:00
parent c5ff2318d8
commit 158158d2f1
4 changed files with 180 additions and 89 deletions

5
BUGS
View File

@ -1,7 +1,7 @@
List of known bugs (certainly very incomplete)
----------------------------------------------
Time-stamp: <97/11/14 06:00:23 aj>
Time-stamp: <1997-11-22T02:35:55+0100 drepper>
This following list contains those bugs which I'm aware of. Please
make sure that bugs you report are not listed here. If you can fix one
@ -59,6 +59,9 @@ Severity: [ *] to [***]
[ *] The rcmd() functions (more concrete: the handling of .rhosts) does
not support netgroups and wildcards (+).
[ **] When popen() was called with an illegal command the function still
returns with a value not equal to NULL.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ulrich Drepper
drepper@cygnus.com

122
ChangeLog
View File

@ -1,3 +1,125 @@
1997-12-10 00:38 Ulrich Drepper <drepper@cygnus.com>
* Makerules (compile.S, COMPILE.S, COMPILE.s): Use $(ASFLAGS-*)
variable as well.
* locale/C-ctype.c: Correct data for isw* functions.
* locale/programs/ld-ctype.c: Write 32bit char classes in correct
byte order.
* wctype/test_wctype.c: Add test for isw* functions.
* wctype/wctype.c: Return value with expected byte order.
* sysdeps/alpha/__math.h: Remove cabs definition.
* sysdeps/libm-ieee754/w_cabs.c [NO_LONG_DOUBLE]: Correct cabsl.
* sysdeps/posix/sysv_signal.c: Define sysv_signal as weak alias.
* sysdeps/unix/inet/syscalls.list: Define socket syscalls with
__libc_* names.
* sysdeps/unix/sysv/linux/Dist: Add scsi/sg.h, net/if_packet.h,
net/if_slip.h, and sys/prctl.h. Remove sys/module.h.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=misc] (sysdep_headers):
Remove sys/module.h. Add sys/prctl.h and scsi/sg.h.
[$(subdir)=inet] (sysdep_headers): Add net/if_slip.h, net/if_packet.h.
* sysdeps/unix/sysv/linux/syscalls.list: Add prctl.
* sysdeps/unix/sysv/linux/sys/module.h: Removed.
1997-11-14 03:06 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/accept.S: Add __libc_accept as alias.
* sysdeps/unix/sysv/linux/send.S: Likewise.
* sysdeps/unix/sysv/linux/recvfrom.S: Likewise.
* sysdeps/unix/sysv/linux/recvmsg.S: Likewise.
* sysdeps/unix/sysv/linux/sendmsg.S: Likewise.
* sysdeps/unix/sysv/linux/recv.S: Likewise.
* sysdeps/unix/sysv/linux/sendto.S: Likewise.
* sysdeps/unix/sysv/linux/connect.S: Likewise.
1997-12-07 15:49 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nss_compat/compat-grp.c: If buffer is to small, set the file
handle for /etc/group back in some more cases.
* nis/nss_compat/compat-pwd.c: If buffer is to small, set the file
handle for /etc/passwd back in some more cases.
* nis/nss_compat/compat-spwd.c: If buffer is to small, set the file
handle for /etc/shadow back in some more cases.
1997-12-06 17:00 H.J. Lu <hjl@gnu.org>
* sysdeps/posix/sigblock.c (__sigblock): Don't check int mask
beyound its size.
* sysdeps/posix/sigsetmask.c (__sigsetmask): Ditto.
* sysdeps/posix/sigvec.c (convert_mask, __sigvec): Ditto.
1997-11-30 21:57 Richard Henderson <rth@cygnus.com>
Alpha changes for EGCS:
* config.h.in (ASM_ALPHA_NG_SYMBOL_PREFIX): New entry.
* configure.in (libc_cv_gcc_alpha_ng_prefix): New check.
* sysdeps/alpha/dl-machine.h (_dl_runtime_resolve): Care for prefix.
(_start): Likewise.
* sysdeps/unix/sysv/linux/alpha/init-first.h: Likewise.
* sysdeps/alpha/Makefile: Backport setjmp/longjmp rewrite.
* sysdeps/alpha/__longjmp.S: Likewise.
* sysdeps/alpha/bsd-_setjmp.S: Likewise.
* sysdeps/alpha/bsd-setjmp.S: Likewise.
* sysdeps/alpha/jmp_buf.h: Likewise.
* sysdeps/alpha/setjmp.S: Likewise.
* sysdeps/alpha/__longjmp.c: Removed.
* sysdeps/alpha/setjmp_aux.c: Removed.
1997-12-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/socketbits.h: Add AF_* and PF_
constants from Linux headers. Pointed out by
csmall@scooter.o.i.net. [PR libc/369]
1997-12-03 20:40 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* grp/initgroups.c: Increase buffer if it is too small.
1997-12-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/mman.h (MAP_FAILED): Add
constant. Suggested by Petter Reinholdtsen <pere@sleeper.link.no>
[PR libc/367].
1997-11-30 06:01 Ulrich Drepper <drepper@cygnus.com>
* posix/sys/wait.h (__WAIT_INT): Don't use complex version with
__typeof for C++ since this fails for class members.
Reported by Neal Becker <neal@ctd.comsat.com>.
1997-11-26 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/module.h: Remove file. It's
incompatible with Linux 2.1.x. Packages using modules
(e.g. modutils) should/do provide their own version. Suggested by
Richard Henderson.
* sysdeps/unix/sysv/linux/Dist: Remove sys/module.h
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers)
[$(subdir)=socket]: Remove sys/module.h.
1997-11-26 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to
not shadow the variable in the outer scope. Carry over from glibc 2.1.
1997-11-21 21:33 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/w_cabs.c: Add __cabs_complexl definition.
1997-11-20 16:51 Ulrich Drepper <drepper@cygnus.com>
* malloc/malloc.c (malloc_update_mallinfo): Initialize struct for
return value.
1997-11-19 23:50 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Update from 2.1 version.

77
FAQ
View File

@ -98,17 +98,11 @@ please let me know.
`who', show incorrect information about the (number of)
users on my system. Why?''
[Q28] ``After upgrading to a glibc 2.1 with symbol versioning I get
errors about undefined symbols. What went wrong?''
[Q28] This space left intentionally unanswered.
[Q29] ``I don't include any kernel header myself but still the
compiler complains about type redeclarations of types in the
kernel headers.''
[Q30] ``When I start the program XXX after upgrading the library
I get
XXX: Symbol `_sys_errlist' has different size in shared object, consider re-linking
Why? What to do?''
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q1] ``What systems does the GNU C Library run on?''
@ -124,9 +118,6 @@ in the future are:
i[3456]86-*-linux-gnu Linux-2.0 on Intel
m68k-*-linux-gnu Linux-2.0 on Motorola 680x0
alpha-*-linux-gnu Linux-2.0 on DEC Alpha
powerpc-*-linux-gnu Linux and MkLinux on PowerPC systems
sparc-*-linux-gnu Linux-2.0 on SPARC
sparc64-*-linux-gnu Linux-2.0 on UltraSPARC
Other Linux platforms are also on the way to be supported but I need
some success reports first.
@ -169,6 +160,10 @@ other make program has the needed functionality.
Versions before 3.74 have bugs which prevent correct execution so you
should upgrade to the latest version before starting the compilation.
We recommend version GNU make version 3.75. Versions 3.76 and
3.76.1 are known to have bugs which only show up in big projects like
GNU libc.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q4] ``After I changed configure.in I get `Autoconf version X.Y.
@ -331,10 +326,6 @@ incompatibilities:
syscall name: wrapper name: declaring header file:
------------- ------------- ----------------------
bdflush bdflush <sys/kdaemon.h>
create_module create_module <sys/module.h>
delete_module delete_module <sys/module.h>
get_kernel_syms get_kernel_syms <sys/module.h>
init_module init_module <sys/module.h>
syslog ksyslog_ctl <sys/klog.h>
* lpd: Older versions of lpd depend on a routine called _validuser().
@ -368,9 +359,6 @@ be read by functions from the other library. Sorry, but this is what
a major release is for. It's better to have a cut now than having no
means to support the new techniques later.
{MK} There is however a (partial) solution for this problem. Please
take a look at the file `README.utmpd'.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q11] ``Where are the DST_* constants found in <sys/time.h> on many
@ -748,22 +736,7 @@ symlink that you have in place before you install glibc. However,
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q28] ``After upgrading to a glibc 2.1 with symbol versioning I get
errors about undefined symbols. What went wrong?''
[A28] {AJ} In a versioned libc a lot of symbols are now local that
have been global symbols in previous versions. When defining a extern
variable both in a user program and extern in the libc the links
resolves this to only one reference - the one in the library. The
problem is caused by either wrong program code or tools. In no case
the global variables from libc should be used by any program. Since
these reference are now local, you might see a message like:
"msgfmt: error in loading shared libraries: : undefined symbol: _nl_domain_bindings"
The only way to fix this is to recompile your program. Sorry, that's
the price you might have to pay once for quite a number of advantages
with symbol versioning.
[Q28] This space left intentionally free.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
@ -771,37 +744,15 @@ with symbol versioning.
compiler complains about type redeclarations of types in the
kernel headers.''
[A29] {UD} The kernel headers before Linux 2.1.61 don't work correctly with
glibc since they pollute the name space in a not acceptable way. Compiling
C programs is possible in most cases but especially C++ programs have (due
to the change of the name lookups for `struct's) problem. One prominent
example is `struct fd_set'.
[A29] {UD} The kernel headers before Linux 2.1.61 (and Linux
2.0.32) don't work correctly with glibc since they pollute the name
space in a not acceptable way. Compiling C programs is possible in
most cases but especially C++ programs have (due to the change of the
name lookups for `struct's) problem. One prominent example is `struct
fd_set'.
There might be some more problems left but 2.1.61 fixes some of the known
ones. See the BUGS file for other known problems.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q30] ``When I start the program XXX after upgrading the library
I get
XXX: Symbol `_sys_errlist' has different size in shared object, consider re-linking
Why? What to do?''
[A30] {UD} As the message says, relink the binary. The problem is that
very few symbols from the library can change in size and there is no way
to avoid this. _sys_errlist is a good example. Occasionally there are
new error numbers added to the kernel and this must be reflected at user
level.
But this does not mean all programs are doomed once such a change is
necessary. Such symbols should normally not be used at all. There are
mechanisms to avoid using them. In the case of _sys_errlist, there is the
strerror() function which should _always_ be used instead. So the correct
fix is to rewrite that part of the application.
In some situations (especially when testing a new library release) it might
be possible that such a symbol size change slipped in though it must not
happen. So in case of doubt report such a warning message as a problem.
There might be some more problems left but 2.1.61/2.0.32 fixes some of
the known ones. See the BUGS file for other known problems.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

65
config.sub vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
# Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
@ -149,13 +149,14 @@ esac
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \
| arme[lb] | pyramid \
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 \
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
| alpha | we32k | ns16k | clipper | i370 | sh \
| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
| pdp11 | mips64el | mips64orion | mips64orionel \
| sparc | sparclet | sparclite | sparc64)
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
| mipstx39 | mipstx39el \
| sparc | sparclet | sparclite | sparc64 | v850)
basic_machine=$basic_machine-unknown
;;
# We use `pc' rather than `unknown'
@ -170,14 +171,18 @@ case $basic_machine in
exit 1
;;
# Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \
| sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
| hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* | f301-*)
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mipstx39-* | mipstx39el-* \
| f301-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
@ -204,9 +209,9 @@ case $basic_machine in
amiga | amiga-*)
basic_machine=m68k-cbm
;;
amigados)
amigaos | amigados)
basic_machine=m68k-cbm
os=-amigados
os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-cbm
@ -391,11 +396,11 @@ case $basic_machine in
;;
mipsel*-linux*)
basic_machine=mipsel-unknown
os=-linux
os=-linux-gnu
;;
mips*-linux*)
basic_machine=mips-unknown
os=-linux
os=-linux-gnu
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
@ -566,6 +571,12 @@ case $basic_machine in
basic_machine=i386-sequent
os=-dynix
;;
tx39)
basic_machine=mipstx39-unknown
;;
tx39el)
basic_machine=mipstx39el-unknown
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
@ -585,7 +596,7 @@ case $basic_machine in
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
@ -615,7 +626,7 @@ case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
mips)
if [ x$os = x-linux ]; then
if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown
else
basic_machine=mips-mips
@ -680,9 +691,12 @@ case $os in
-solaris)
os=-solaris2
;;
-unixware* | svr4*)
-svr4*)
os=-sysv4
;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
@ -693,7 +707,8 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
@ -701,7 +716,7 @@ case $os in
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -linux-gnu* | -uxpv*)
| -mingw32* | -linux-gnu* | -uxpv*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-linux*)
@ -827,7 +842,7 @@ case $basic_machine in
os=-sysv
;;
*-cbm)
os=-amigados
os=-amigaos
;;
*-dg)
os=-dgux