1997-12-05 00:40:29 +00:00
|
|
|
|
Frequently Asked Questions about the GNU C Library
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
This document tries to answer questions a user might have when installing
|
|
|
|
|
and using glibc. Please make sure you read this before sending questions or
|
|
|
|
|
bug reports to the maintainers.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
The GNU C library is very complex. The installation process has not been
|
1998-06-29 12:44:22 +00:00
|
|
|
|
completely automated; there are too many variables. You can do substantial
|
1998-04-21 09:43:11 +00:00
|
|
|
|
damage to your system by installing the library incorrectly. Make sure you
|
|
|
|
|
understand what you are undertaking before you begin.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
If you have any questions you think should be answered in this document,
|
|
|
|
|
please let me know.
|
|
|
|
|
|
|
|
|
|
--drepper@cygnus.com
|
|
|
|
|
|
|
|
|
|
? Compiling glibc
|
|
|
|
|
|
|
|
|
|
?? What systems does the GNU C Library run on?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} This is difficult to answer. The file `README' lists the architectures
|
|
|
|
|
GNU libc was known to run on *at some time*. This does not mean that it
|
|
|
|
|
still can be compiled and run on them now.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
The systems glibc is known to work on as of this release, and most probably
|
|
|
|
|
in the future, are:
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
*-*-gnu GNU Hurd
|
1997-12-14 22:24:57 +00:00
|
|
|
|
i[3456]86-*-linux-gnu Linux-2.x on Intel
|
|
|
|
|
m68k-*-linux-gnu Linux-2.x on Motorola 680x0
|
|
|
|
|
alpha-*-linux-gnu Linux-2.x on DEC Alpha
|
1997-12-05 00:40:29 +00:00
|
|
|
|
powerpc-*-linux-gnu Linux and MkLinux on PowerPC systems
|
1997-12-14 22:24:57 +00:00
|
|
|
|
sparc-*-linux-gnu Linux-2.x on SPARC
|
|
|
|
|
sparc64-*-linux-gnu Linux-2.x on UltraSPARC
|
1998-03-26 18:01:01 +00:00
|
|
|
|
arm-*-none ARM standalone systems
|
1998-11-26 12:02:23 +00:00
|
|
|
|
arm-*-linux Linux-2.x on ARM
|
1998-03-26 18:01:01 +00:00
|
|
|
|
arm-*-linuxaout Linux-2.x on ARM using a.out binaries
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
Ports to other Linux platforms are in development, and may in fact work
|
|
|
|
|
already, but no one has sent us success reports for them. Currently no
|
|
|
|
|
ports to other operating systems are underway, although a few people have
|
|
|
|
|
expressed interest.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
If you have a system not listed above (or in the `README' file) and you are
|
|
|
|
|
really interested in porting it, contact
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
Update.
1997-12-28 15:08 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/powerpc/__longjmp.S: Define _SETJMP_H before including
<bits/setjmp.h>.
* sysdeps/powerpc/setjmp.S: Likewise.
Patches by Matt McLean <keys@keys.got.net>.
* Make-dist (sysdep_dirs): Ignore bits dirs while searching.
* Makefile: Undo last patch.
(distribute): Add test-installation.pl.
* configure.in: Correct handling of --enable-add-ons without parameter.
Correct address of WWW pages.
* libc.map: Add _nl_domain_bindings.
* db2/mutex/tsl_parisc.s: New file.
* iconvdata/Makefile (distribute): Add jis0201.c, jis0208.c, jis0212.c,
and extra-module.mk.
* localedata/Makefile (distribute): New. Add all the files.
* stdlib/Makefile (headers): Add inttypes.h.
(routines): Add strtoimax, strtoumax, wcstoimax, and wcstoumax.
* sysdeps/generic/inttypes.h: New file.
* sysdeps/generic/strtoimax.c: New file.
* sysdeps/generic/strtoumax.c: New file.
* sysdeps/generic/wcstoimax.c: New file.
* sysdeps/generic/wcstoumax.c: New file.
* sysdeps/wordsize-32/Dist: Removed.
* sysdeps/wordsize-32/Makefile: Removed.
* sysdeps/wordsize-64/Dist: Removed.
* sysdeps/wordsize-64/Makefile: Removed.
* sysdeps/generic/bits/environments.h: New file.
* include/limits.h: Define MB_LEN_MAX in any case to 6. The gcc
header is still not correct.
* io/fcntl.h [__USE_FILE_OFFSET64]: We have to use the __*64 types.
* posix/unistd.h: Likewise.
* sysdeps/generic/sys/mman.h: Likewise.
* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
* manual/arith.texi: Change definition of mul macro.
* manual/math.texi: Likewise.
* misc/Makefile (routines): Add mmap64.
* sysdeps/generic/mmap64.c: New file.
* sysdeps/unix/sysv/linux/alpha/mmap64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c: New file.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __mmap64 and mmap64
aliases to mmap.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/generic/setrlimit64.c: Don't mark as stub.
* nis/nss_nis/nis-hosts.c (internal_nis_gethostent_r): Pretty print.
* nis(rpcsvc/nis_tags.h: Prevent warning by unknown pragma.
* sysdeps/posix/mk-stdiolim.c: Generate correct file which defines
FOPEN_MAX also when included by limits.h.
* sysdeps/unix/sysv/linux/stdio_lim.h.in: Likewise.
* sysdeps/unix/sysv/linux/Dist: Add oldsiglist.c, netax25/ax25.h,
and netrom/netrom.h.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=stdio-common]: Add
oldsiglist to sysdep_routines, not aux.
[$(subdir)=inet] (sysdep_headers): Add netax25/ax25.h, netrom/netrom.h.
* sysdeps/unix/sysv/linux/bits/socket.h: Remove SOL_AX25, SOL_ATALK,
and SOL_NETROM definition.
* sysdeps/unix/sysv/linux/i386/Dist: Add s_pwrite64.S and s_pread64.S.
* sysdeps/unix/sysv/linux/net/route.h: Pretty print.
* sysdeps/unix/sysv/linux/netatalk/at.h: Pretty print.
1997-12-25 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/net/route.h: New file.
* sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h: Replace
sa_handler with k_sa_handler.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __getrlimit as
strong alias.
Reported by a sun.
* sysdeps/unix/sysv/linux/sigsuspend.c: Don't define
__libc_have_rt_sigs here.
* sysdeps/unix/sysv/linux/sigaction.c: Do it instead here.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/sigpending.c: Correct comment.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
1997-12-11 07:51 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/atomicity.h: New file.
* sysdeps/mach/powerpc/machine-lock.h: New file.
* Rules: Use -fpic to build anything that might end up in a users'
shared library.
* sysdeps/powerpc/s_fdim.c: New file.
* sysdeps/powerpc/s_fdimf.c: New file.
* sysdeps/powerpc/s_fmax.S: New file.
* sysdeps/powerpc/s_fmaxf.S: New file.
* sysdeps/powerpc/s_fmin.S: New file.
* sysdeps/powerpc/s_fminf.S: New file.
* sysdeps/powerpc/s_llrint.c: Now is for double.
* sysdeps/powerpc/s_llrintf.c: New file.
* sysdeps/powerpc/s_llround.c: Now is for double.
* sysdeps/powerpc/s_llroundf.c: New file.
* sysdeps/powerpc/s_lrint.c: Now is for double.
* sysdeps/powerpc/s_lrintf.S: New file.
* sysdeps/powerpc/s_lround.c: Now is for double.
* sysdeps/powerpc/s_lroundf.c: New file.
* sysdeps/powerpc/bits/mathinlines.h: Add inline versions of lrint,
lrintf, fdim, fdimf.
* sysdeps/unix/sysv/linux/powerpc/kernel_termios.h: Don't use bits/
file directly, use its parent.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Re-instate '++'
(for the third time).
1997-12-20 13:50 Richard Henderson <rth@cygnus.com>
* posix/sched.h: timespec is in <time.h>.
* sysdeps/unix/sysv/linux/sys/kd.h: Don't redefine _LINUX_TYPES_H.
1997-12-28 16:01:53 +00:00
|
|
|
|
<bug-glibc@gnu.org>
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1999-03-08 14:23:38 +00:00
|
|
|
|
??binsize What compiler do I need to build GNU libc?
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} You must use GNU CC to compile GNU libc. A lot of extensions of GNU CC
|
|
|
|
|
are used to increase portability and speed.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
GNU CC is found, like all other GNU packages, on
|
1998-04-21 09:43:11 +00:00
|
|
|
|
|
1998-03-04 17:14:36 +00:00
|
|
|
|
ftp://ftp.gnu.org/pub/gnu
|
1998-04-21 09:43:11 +00:00
|
|
|
|
|
1998-03-04 17:14:36 +00:00
|
|
|
|
and the many mirror sites. ftp.gnu.org is always overloaded, so try to find
|
1997-12-05 00:40:29 +00:00
|
|
|
|
a local mirror first.
|
|
|
|
|
|
1998-07-13 10:40:47 +00:00
|
|
|
|
You should always try to use the latest official release. Older versions
|
1998-04-21 09:43:11 +00:00
|
|
|
|
may not have all the features GNU libc requires. The current releases of
|
1999-02-04 00:15:46 +00:00
|
|
|
|
egcs (1.0.3 and 1.1.1) should work with the GNU C library (for powerpc see
|
|
|
|
|
?powerpc; for ARM see ?arm).
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1999-03-08 14:23:38 +00:00
|
|
|
|
While the GNU CC should be able to compile glibc it is nevertheless adviced
|
|
|
|
|
to use EGCS. Comparing the sizes of glibc on Intel compiled with a recent
|
|
|
|
|
EGCS and gcc 2.8.1 shows this:
|
|
|
|
|
|
|
|
|
|
text data bss dec hex filename
|
1999-05-15 23:31:55 +00:00
|
|
|
|
egcs-2.93.10 862897 15944 12824 891665 d9b11 libc.so
|
|
|
|
|
gcc-2.8.1 959965 16468 12152 988585 f15a9 libc.so
|
1999-03-08 14:23:38 +00:00
|
|
|
|
|
|
|
|
|
Make up your own decision.
|
1998-11-20 17:27:47 +00:00
|
|
|
|
|
1999-08-28 00:26:28 +00:00
|
|
|
|
GNU CC versions 2.95 and above are derived from egcs, and they may do even
|
|
|
|
|
better.
|
|
|
|
|
|
1999-11-17 18:48:13 +00:00
|
|
|
|
Please note that gcc 2.95 and 2.95.x cannot compile glibc on Alpha due to
|
1999-08-28 00:26:28 +00:00
|
|
|
|
problems in the complex float support.
|
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
?? When I try to compile glibc I get only error messages.
|
|
|
|
|
What's wrong?
|
|
|
|
|
|
1999-02-02 09:26:53 +00:00
|
|
|
|
{UD} You definitely need GNU make to build GNU libc. No other make
|
1998-04-21 09:43:11 +00:00
|
|
|
|
program has the needed functionality.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
We recommend version GNU make version 3.75 or 3.77. Versions before 3.75
|
|
|
|
|
have bugs and/or are missing features. Version 3.76 has bugs which
|
|
|
|
|
appear when building big projects like GNU libc. 3.76.1 appears to work but
|
1998-12-16 11:10:36 +00:00
|
|
|
|
some people have reported problems. If you build GNU make 3.77 from source,
|
1998-12-07 12:06:40 +00:00
|
|
|
|
please read ?make first.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
?? Do I need a special linker or assembler?
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
{ZW} If you want a shared library, you need a linker and assembler that
|
|
|
|
|
understand all the features of ELF, including weak and versioned symbols.
|
|
|
|
|
The static library can be compiled with less featureful tools, but lacks key
|
|
|
|
|
features such as NSS.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
For Linux or Hurd, you want binutils 2.8.1.0.23, 2.9.1, or 2.9.1.0.15 or
|
|
|
|
|
higher. These are the only versions we've tested and found reliable. Other
|
|
|
|
|
versions after 2.8.1.0.23 may work but we don't recommend them, especially
|
|
|
|
|
not when C++ is involved. Earlier versions do not work at all.
|
1998-09-09 11:46:18 +00:00
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
Other operating systems may come with system tools that have all the
|
|
|
|
|
necessary features, but this is moot because glibc hasn't been ported to
|
|
|
|
|
them.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
Update.
1998-04-20 18:00 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add __dgettext to GLIBC_2.0 and __libc_longjmp, and
__libc_siglongjmp to GLIBC_2.1.
* elf/dl-minimal.c (__assert_perror_fail): Don't use strerror, use
__strerror_r.
* iconv/Makefile: Don't run tests now.
* iconv/iconv_prog.c (process_block): If loop is repeated, call iconv
with correct output buffer.
Major rewrite of the low-level gconv functionality.
* iconv/gconv.c: Rewritten.
* iconv/gconv.h: Likewise.
* iconv/gconv_builtin.c: Likewise.
* iconv/gconv_builtin.h: Likewise.
* iconv/gconv_conf.c: Likewise.
* iconv/gconv_int.h: Likewise.
* iconv/gconv_open.c: Likewise.
* iconv/gconv_simple.c: Likewise.
* iconv/iconv.c: Likewise.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/Makefile: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/cns11643.c: Likewise.
* iconvdata/cns11643.h: Likewise.
* iconvdata/cns11643l1.c: Likewise.
* iconvdata/cns11643l1.h: Likewise.
* iconvdata/ebcdic-at-de-a.c: Likewise.
* iconvdata/ebcdic-at-de.c: Likewise.
* iconvdata/ebcdic-ca-fr.c: Likewise.
* iconvdata/euccn.c: Likewise.
* iconvdata/eucjp.c: Likewise.
* iconvdata/euckr.c: Likewise.
* iconvdata/euctw.c: Likewise.
* iconvdata/gb2312.c: Likewise.
* iconvdata/gb2312.h: Likewise.
* iconvdata/hp-roman8.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso6937.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso8859-10.c: Likewise.
* iconvdata/iso8859-2.c: Likewise.
* iconvdata/iso8859-3.c: Likewise.
* iconvdata/iso8859-4.c: Likewise.
* iconvdata/iso8859-5.c: Likewise.
* iconvdata/iso8859-6.c: Likewise.
* iconvdata/iso8859-7.c: Likewise.
* iconvdata/iso8859-8.c: Likewise.
* iconvdata/iso8859-9.c: Likewise.
* iconvdata/jis0201.c: Likewise.
* iconvdata/jis0201.h: Likewise.
* iconvdata/jis0208.c: Likewise.
* iconvdata/jis0208.h: Likewise.
* iconvdata/jis0212.c: Likewise.
* iconvdata/jis0212.h: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/koi-8.c: Likewise.
* iconvdata/koi8-r.c: Likewise.
* iconvdata/ksc5601.c: Likewise.
* iconvdata/ksc5601.h: Likewise.
* iconvdata/latin-greek-1.c: Likewise.
* iconvdata/latin-greek.c: Likewise.
* iconvdata/run-iconv-test.sh: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* iconv/loop.c: New file.
* iconv/skeleton.c: New file.
* stdlib/mblen.c: Handle empty input string correctly.
* stdlib/mbtowc.c: Likewise.
* posix/getopt.c: Various cleanups.
* sysdeps/arm/bits/setjmp.h: Add copyright text.
* sysdeps/i386/bits/setjmp.h: Likewise.
* sysdeps/m68k/bits/setjmp.h: Likewise.
* sysdeps/powerpc/bits/setjmp.h: Likewise.
* sysdeps/sparc/sparc32/bits/setjmp.h: Likewise.
* sysdeps/generic/longjmp.c: Rename function to __libc_siglongjmp
and make longjmp weak alias.
1998-04-18 20:29 Philip Blundell <Philip.Blundell@pobox.com>
* iconv/Makefile (routines): Only include gconv_dl if building for
an ELF system - dynamic linking is not available on a.out.
(CFLAGS-gconv_conf.c): Define STATIC_GCONV if omitting gconv_dl
due to above check.
* iconv/gconv_db.c: If STATIC_GCONV defined, don't try to call
routines from gconv_dl.
1998-04-17 Gordon Matzigkeit <gord@profitpress.com>
* csu/init.c (_IO_stdin_used): Protect with USE_IN_LIBIO so that
we can compile without libio.
1998-04-20 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/mach/hurd/Subdirs: Remove login.
1998-04-11 Gordon Matzigkeit <gord@profitpress.com>
* db2/compat.h: Include <errno.h>, to make sure we get the
definition of EFTYPE before we define it ourselves.
1998-04-10 Gordon Matzigkeit <gord@profitpress.com>
* sysdeps/generic/bits/socket.h: Protect against multiple inclusion.
* sysdeps/mach/hurd/bits/ioctls.h: Likewise.
Fix typo to allow inclusion from sys/ioctl.h again.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* iconvdata/*.[ch]: Clean up namespace. Optimize character lookup.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc.map: Export __strerror_r. Remove _strerror_internal.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/strcasestr.c: Undefine strcasestr, not strstr.
Also undefine __strcasestr.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/regex.c: Rename __re_max_failures back to re_max_failures,
aliases do not work with global variables due to copy relocations.
1998-04-20 15:12 Ulrich Drepper <drepper@cygnus.com>
* manual/creature.texi: Fix type. Patch by Andreas Schwab.
1998-04-20 13:47 Ulrich Drepper <drepper@cygnus.com>
* signal/sighold.c: Include stddef.h for NULL definition.
* signal/sigrelse.c: Likewise.
* sysdeps/posix/sigignore.c: Likewise.
* sysdeps/posix/sigset.c: Likewise.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigsuspend.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* wcsmbs/mbsrtowcs.c: Include stdlib.h for MB_CUR_MAX.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
1998-04-13 Mark Kettenis <kettenis@phys.uva.nl>
* login/Makefile (headers): Remove utmpx.h and bits/utmpx.h.
* login/getutent.c (getutxent): Remove alias.
* login/getutent_r.c (setutxent, pututxline, endutxent):
Remove aliases.
* login/getutid.c (getutxid): Remove alias.
* login/getutline.c (getutxline): Remove alias.
* login/utmp.h: Add prototypes for __updwtmp, __getutent,
__getutid, __getutline and __pututline.
* login/utmpx.h: Moved to ...
* sysdeps/gnu/utmpx.h: ... here. [__USE_GNU]: Define UTMPX_FILE,
UTMPX_FILENAME, WTMPX_FILE and WTMPX_FILENAME, declare utmpxname
and updwtmpx.
* login/updwtmp.c: Moved to ...
* sysdeps/generic/updwtmp.c: ... here. (updwtmp): Generalized by
allowing file name transformation.
* sysdeps/gnu/updwtmp.c: New file. Use generic implementation with
additional file name transformation.
* sysdeps/unix/sysv/linux/updwtmp.c: Likewise.
* login/utmp_file.c: Moved to ...
* sysdeps/generic/utmp_file.c: ... here. (setutent_file):
Generalized by allowing file name transformation. Do not
print error message. Library functions should not print them.
Reported by Jim Meyering.
* sysdeps/gnu/utmp_file.c: New file. Use generic implementation
with additional file name transformation.
* sysdeps/unix/sysv/linux/utmp_file.c: Likewise.
* sysdeps/gnu/Makefile [$(subdir)=login] (sysdep_routines): Add
setutxent, getutxent, endutxent, getutxid, getutxid, getutxline,
pututxline, utmpxname and updwtmpx. (sysdep_headers): Add utmpx.h
and bits/utmpx.h.
* sysdeps/gnu/bits/utmpx.h [__USE_GNU] Include paths.h.
(_PATH_UTMPX): Define to _PATH_UTMP. (_PATH_WTMPX): Define to
_PATH_WTMPX. (RUN_LVL): Define only if __USE_GNU. (ACCOUNTING):
Define if __USE_GNU.
* sysdeps/gnu/setutxent.c: New file.
* sysdeps/gnu/getutxent.c: New file.
* sysdeps/gnu/endutxent.c: New file.
* sysdeps/gnu/getutxid.c: New file.
* sysdeps/gnu/getutxline.c: New file.
* sysdeps/gnu/pututxline.c: New file.
* sysdeps/gnu/utmpxname.c: New file.
* sysdeps/gnu/updwtmpx.c: New file.
* sysdeps/unix/sysv/linux/paths.h (_PATH_UTMP_DB): Remove.
* sysdeps/generic/bits/utmpx.h: Remove.
1998-04-20 Ulrich Drepper <drepper@cygnus.com>
* posix/wordexp-test.c (main): Initialize ifs element of ts for
~root test.
1998-04-17 07:53 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/i386/s_pread64.S: Fix a typo.
1998-04-17 11:32 Ulrich Drepper <drepper@cygnus.com>
* libio/oldfileops.c (_IO_old_file_seekoff): Define temporary st
variable using _G_stat64.
* libio/fileops.c: Remove macro definition of fstat, it is in the
global header.
Reported by Thorsten Kukuk <kukuk@weber.uni-paderborn.de>.
1998-04-17 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/strlen.S: New file, based on code by Matthew Wilcox
<willy@odie.barnet.ac.uk>.
1998-04-16 Philip Blundell <Philip.Blundell@pobox.com>
* inet/netinet/in.h (IN6_IS_ADDR_MC_NODELOCAL): New macro,
required by IPv6 Basic API.
(IN6_IS_ADDR_MC_LINKLOCAL): Likewise.
(IN6_IS_ADDR_MC_SITELOCAL): Likewise.
(IN6_IS_ADDR_MC_ORGLOCAL): Likewise.
(IN6_IS_ADDR_MC_GLOBAL): Likewise.
1998-04-20 18:41:05 +00:00
|
|
|
|
??powerpc Which compiler should I use for powerpc?
|
1998-01-30 12:53:20 +00:00
|
|
|
|
|
1999-08-28 00:26:28 +00:00
|
|
|
|
{GK} You want to use at least gcc 2.95 (together with the right versions
|
|
|
|
|
of all the other tools, of course). See also question ?excpt.
|
1998-01-30 12:53:20 +00:00
|
|
|
|
|
1998-11-26 12:02:23 +00:00
|
|
|
|
??arm Which tools should I use for ARM?
|
|
|
|
|
|
|
|
|
|
{PB} You should use egcs 1.1 or a later version. For ELF systems some
|
|
|
|
|
changes are needed to the compiler; a patch against egcs-1.1.x can be found
|
|
|
|
|
at:
|
|
|
|
|
|
|
|
|
|
<ftp://ftp.netwinder.org/users/p/philb/egcs-1.1.1pre2-diff-981126>
|
|
|
|
|
|
|
|
|
|
Binutils 2.9.1.0.16 or later is also required.
|
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
?? Do I need some more things to compile the GNU C Library?
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
{UD} Yes, there are some more :-).
|
|
|
|
|
|
|
|
|
|
* GNU gettext. This package contains the tools needed to construct
|
|
|
|
|
`message catalog' files containing translated versions of system
|
1998-03-04 17:14:36 +00:00
|
|
|
|
messages. See ftp://ftp.gnu.org/pub/gnu or better any mirror
|
1997-12-05 00:40:29 +00:00
|
|
|
|
site. (We distribute compiled message catalogs, but they may not be
|
1999-06-06 13:11:12 +00:00
|
|
|
|
updated in patches.) Please note that the required minimal version
|
|
|
|
|
(0.10.35) of gettext is alpha software and available from
|
|
|
|
|
ftp://alpha.gnu.org/gnu .
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
* Some files are built with special tools. E.g., files ending in .gperf
|
|
|
|
|
need a `gperf' program. The GNU version (now available in a separate
|
|
|
|
|
package, formerly only as part of libg++) is known to work while some
|
|
|
|
|
vendor versions do not.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
You should not need these tools unless you change the source files.
|
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
* Perl 5 is needed if you wish to test an installation of GNU libc
|
|
|
|
|
as the primary C library.
|
1997-12-14 22:24:57 +00:00
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
* When compiling for Linux, the header files of the Linux kernel must
|
|
|
|
|
be available to the compiler as <linux/*.h> and <asm/*.h>.
|
|
|
|
|
|
Update.
1998-04-20 18:00 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add __dgettext to GLIBC_2.0 and __libc_longjmp, and
__libc_siglongjmp to GLIBC_2.1.
* elf/dl-minimal.c (__assert_perror_fail): Don't use strerror, use
__strerror_r.
* iconv/Makefile: Don't run tests now.
* iconv/iconv_prog.c (process_block): If loop is repeated, call iconv
with correct output buffer.
Major rewrite of the low-level gconv functionality.
* iconv/gconv.c: Rewritten.
* iconv/gconv.h: Likewise.
* iconv/gconv_builtin.c: Likewise.
* iconv/gconv_builtin.h: Likewise.
* iconv/gconv_conf.c: Likewise.
* iconv/gconv_int.h: Likewise.
* iconv/gconv_open.c: Likewise.
* iconv/gconv_simple.c: Likewise.
* iconv/iconv.c: Likewise.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/Makefile: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/cns11643.c: Likewise.
* iconvdata/cns11643.h: Likewise.
* iconvdata/cns11643l1.c: Likewise.
* iconvdata/cns11643l1.h: Likewise.
* iconvdata/ebcdic-at-de-a.c: Likewise.
* iconvdata/ebcdic-at-de.c: Likewise.
* iconvdata/ebcdic-ca-fr.c: Likewise.
* iconvdata/euccn.c: Likewise.
* iconvdata/eucjp.c: Likewise.
* iconvdata/euckr.c: Likewise.
* iconvdata/euctw.c: Likewise.
* iconvdata/gb2312.c: Likewise.
* iconvdata/gb2312.h: Likewise.
* iconvdata/hp-roman8.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso6937.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso8859-10.c: Likewise.
* iconvdata/iso8859-2.c: Likewise.
* iconvdata/iso8859-3.c: Likewise.
* iconvdata/iso8859-4.c: Likewise.
* iconvdata/iso8859-5.c: Likewise.
* iconvdata/iso8859-6.c: Likewise.
* iconvdata/iso8859-7.c: Likewise.
* iconvdata/iso8859-8.c: Likewise.
* iconvdata/iso8859-9.c: Likewise.
* iconvdata/jis0201.c: Likewise.
* iconvdata/jis0201.h: Likewise.
* iconvdata/jis0208.c: Likewise.
* iconvdata/jis0208.h: Likewise.
* iconvdata/jis0212.c: Likewise.
* iconvdata/jis0212.h: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/koi-8.c: Likewise.
* iconvdata/koi8-r.c: Likewise.
* iconvdata/ksc5601.c: Likewise.
* iconvdata/ksc5601.h: Likewise.
* iconvdata/latin-greek-1.c: Likewise.
* iconvdata/latin-greek.c: Likewise.
* iconvdata/run-iconv-test.sh: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* iconv/loop.c: New file.
* iconv/skeleton.c: New file.
* stdlib/mblen.c: Handle empty input string correctly.
* stdlib/mbtowc.c: Likewise.
* posix/getopt.c: Various cleanups.
* sysdeps/arm/bits/setjmp.h: Add copyright text.
* sysdeps/i386/bits/setjmp.h: Likewise.
* sysdeps/m68k/bits/setjmp.h: Likewise.
* sysdeps/powerpc/bits/setjmp.h: Likewise.
* sysdeps/sparc/sparc32/bits/setjmp.h: Likewise.
* sysdeps/generic/longjmp.c: Rename function to __libc_siglongjmp
and make longjmp weak alias.
1998-04-18 20:29 Philip Blundell <Philip.Blundell@pobox.com>
* iconv/Makefile (routines): Only include gconv_dl if building for
an ELF system - dynamic linking is not available on a.out.
(CFLAGS-gconv_conf.c): Define STATIC_GCONV if omitting gconv_dl
due to above check.
* iconv/gconv_db.c: If STATIC_GCONV defined, don't try to call
routines from gconv_dl.
1998-04-17 Gordon Matzigkeit <gord@profitpress.com>
* csu/init.c (_IO_stdin_used): Protect with USE_IN_LIBIO so that
we can compile without libio.
1998-04-20 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/mach/hurd/Subdirs: Remove login.
1998-04-11 Gordon Matzigkeit <gord@profitpress.com>
* db2/compat.h: Include <errno.h>, to make sure we get the
definition of EFTYPE before we define it ourselves.
1998-04-10 Gordon Matzigkeit <gord@profitpress.com>
* sysdeps/generic/bits/socket.h: Protect against multiple inclusion.
* sysdeps/mach/hurd/bits/ioctls.h: Likewise.
Fix typo to allow inclusion from sys/ioctl.h again.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* iconvdata/*.[ch]: Clean up namespace. Optimize character lookup.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc.map: Export __strerror_r. Remove _strerror_internal.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/strcasestr.c: Undefine strcasestr, not strstr.
Also undefine __strcasestr.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/regex.c: Rename __re_max_failures back to re_max_failures,
aliases do not work with global variables due to copy relocations.
1998-04-20 15:12 Ulrich Drepper <drepper@cygnus.com>
* manual/creature.texi: Fix type. Patch by Andreas Schwab.
1998-04-20 13:47 Ulrich Drepper <drepper@cygnus.com>
* signal/sighold.c: Include stddef.h for NULL definition.
* signal/sigrelse.c: Likewise.
* sysdeps/posix/sigignore.c: Likewise.
* sysdeps/posix/sigset.c: Likewise.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigsuspend.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* wcsmbs/mbsrtowcs.c: Include stdlib.h for MB_CUR_MAX.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
1998-04-13 Mark Kettenis <kettenis@phys.uva.nl>
* login/Makefile (headers): Remove utmpx.h and bits/utmpx.h.
* login/getutent.c (getutxent): Remove alias.
* login/getutent_r.c (setutxent, pututxline, endutxent):
Remove aliases.
* login/getutid.c (getutxid): Remove alias.
* login/getutline.c (getutxline): Remove alias.
* login/utmp.h: Add prototypes for __updwtmp, __getutent,
__getutid, __getutline and __pututline.
* login/utmpx.h: Moved to ...
* sysdeps/gnu/utmpx.h: ... here. [__USE_GNU]: Define UTMPX_FILE,
UTMPX_FILENAME, WTMPX_FILE and WTMPX_FILENAME, declare utmpxname
and updwtmpx.
* login/updwtmp.c: Moved to ...
* sysdeps/generic/updwtmp.c: ... here. (updwtmp): Generalized by
allowing file name transformation.
* sysdeps/gnu/updwtmp.c: New file. Use generic implementation with
additional file name transformation.
* sysdeps/unix/sysv/linux/updwtmp.c: Likewise.
* login/utmp_file.c: Moved to ...
* sysdeps/generic/utmp_file.c: ... here. (setutent_file):
Generalized by allowing file name transformation. Do not
print error message. Library functions should not print them.
Reported by Jim Meyering.
* sysdeps/gnu/utmp_file.c: New file. Use generic implementation
with additional file name transformation.
* sysdeps/unix/sysv/linux/utmp_file.c: Likewise.
* sysdeps/gnu/Makefile [$(subdir)=login] (sysdep_routines): Add
setutxent, getutxent, endutxent, getutxid, getutxid, getutxline,
pututxline, utmpxname and updwtmpx. (sysdep_headers): Add utmpx.h
and bits/utmpx.h.
* sysdeps/gnu/bits/utmpx.h [__USE_GNU] Include paths.h.
(_PATH_UTMPX): Define to _PATH_UTMP. (_PATH_WTMPX): Define to
_PATH_WTMPX. (RUN_LVL): Define only if __USE_GNU. (ACCOUNTING):
Define if __USE_GNU.
* sysdeps/gnu/setutxent.c: New file.
* sysdeps/gnu/getutxent.c: New file.
* sysdeps/gnu/endutxent.c: New file.
* sysdeps/gnu/getutxid.c: New file.
* sysdeps/gnu/getutxline.c: New file.
* sysdeps/gnu/pututxline.c: New file.
* sysdeps/gnu/utmpxname.c: New file.
* sysdeps/gnu/updwtmpx.c: New file.
* sysdeps/unix/sysv/linux/paths.h (_PATH_UTMP_DB): Remove.
* sysdeps/generic/bits/utmpx.h: Remove.
1998-04-20 Ulrich Drepper <drepper@cygnus.com>
* posix/wordexp-test.c (main): Initialize ifs element of ts for
~root test.
1998-04-17 07:53 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/i386/s_pread64.S: Fix a typo.
1998-04-17 11:32 Ulrich Drepper <drepper@cygnus.com>
* libio/oldfileops.c (_IO_old_file_seekoff): Define temporary st
variable using _G_stat64.
* libio/fileops.c: Remove macro definition of fstat, it is in the
global header.
Reported by Thorsten Kukuk <kukuk@weber.uni-paderborn.de>.
1998-04-17 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/strlen.S: New file, based on code by Matthew Wilcox
<willy@odie.barnet.ac.uk>.
1998-04-16 Philip Blundell <Philip.Blundell@pobox.com>
* inet/netinet/in.h (IN6_IS_ADDR_MC_NODELOCAL): New macro,
required by IPv6 Basic API.
(IN6_IS_ADDR_MC_LINKLOCAL): Likewise.
(IN6_IS_ADDR_MC_SITELOCAL): Likewise.
(IN6_IS_ADDR_MC_ORGLOCAL): Likewise.
(IN6_IS_ADDR_MC_GLOBAL): Likewise.
1998-04-20 18:41:05 +00:00
|
|
|
|
* lots of disk space (~170MB for i?86-linux; more for RISC platforms,
|
|
|
|
|
as much as 400MB).
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
* plenty of time. Compiling just the shared and static libraries for
|
1999-04-29 12:18:08 +00:00
|
|
|
|
i?86-linux takes approximately 1h on an AMD-K6@225MHz w/ 96MB of RAM,
|
|
|
|
|
45mins on a Celeron@400MHz w/ 128MB, and 55mins on a Alpha@533MHz w/ 256MB.
|
1999-04-28 10:20:18 +00:00
|
|
|
|
Multiply this by 1.5 or 2.0 if you build profiling and/or the highly
|
|
|
|
|
optimized version as well. For Hurd systems times are much higher.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
You should avoid compiling in a NFS mounted filesystem. This is
|
|
|
|
|
very slow.
|
|
|
|
|
|
|
|
|
|
James Troup <J.J.Troup@comp.brad.ac.uk> reports a compile time of
|
1997-12-14 22:24:57 +00:00
|
|
|
|
45h34m for a full build (shared, static, and profiled) on Atari
|
|
|
|
|
Falcon (Motorola 68030 @ 16 Mhz, 14 Mb memory) and Jan Barte
|
|
|
|
|
<yann@plato.uni-paderborn.de> reports 22h48m on Atari TT030
|
|
|
|
|
(Motorola 68030 @ 32 Mhz, 34 Mb memory)
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1999-08-28 00:26:28 +00:00
|
|
|
|
A full build of the PowerPC library took 1h on a PowerPC 750@400Mhz w/
|
|
|
|
|
64MB of RAM, and about 9h on a 601@60Mhz w/ 72Mb.
|
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
If you have some more measurements let me know.
|
|
|
|
|
|
1998-02-26 11:20:59 +00:00
|
|
|
|
?? What version of the Linux kernel headers should be used?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{AJ,UD} The headers from the most recent Linux kernel should be used. The
|
|
|
|
|
headers used while compiling the GNU C library and the kernel binary used
|
|
|
|
|
when using the library do not need to match. The GNU C library runs without
|
|
|
|
|
problems on kernels that are older than the kernel headers used. The other
|
|
|
|
|
way round (compiling the GNU C library with old kernel headers and running
|
|
|
|
|
on a recent kernel) does not necessarily work. For example you can't use
|
1999-02-02 09:26:53 +00:00
|
|
|
|
new kernel features if you used old kernel headers to compile the GNU C
|
1998-04-21 09:43:11 +00:00
|
|
|
|
library.
|
|
|
|
|
|
1998-07-13 10:40:47 +00:00
|
|
|
|
{ZW} Even if you are using a 2.0 kernel on your machine, we recommend you
|
1999-01-24 10:17:23 +00:00
|
|
|
|
compile GNU libc with 2.2 kernel headers. That way you won't have to
|
|
|
|
|
recompile libc if you ever upgrade to kernel 2.2. To tell libc which
|
1998-07-13 10:40:47 +00:00
|
|
|
|
headers to use, give configure the --with-headers switch
|
1999-01-24 10:17:23 +00:00
|
|
|
|
(e.g. --with-headers=/usr/src/linux-2.2.0/include).
|
1998-07-13 10:40:47 +00:00
|
|
|
|
|
1999-01-24 10:17:23 +00:00
|
|
|
|
Note that you must configure the 2.2 kernel if you do this, otherwise libc
|
1998-12-01 16:11:17 +00:00
|
|
|
|
will be unable to find <linux/version.h>. Just change the current directory
|
1999-01-24 10:17:23 +00:00
|
|
|
|
to the root of the 2.2 tree and do `make include/linux/version.h'.
|
1998-07-13 10:40:47 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
?? The compiler hangs while building iconvdata modules. What's
|
|
|
|
|
wrong?
|
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
{ZW} This is a problem with old versions of GCC. Initialization of large
|
|
|
|
|
static arrays is very slow. The compiler will eventually finish; give it
|
|
|
|
|
time.
|
1998-04-21 09:43:11 +00:00
|
|
|
|
|
1999-02-04 00:15:46 +00:00
|
|
|
|
The problem is fixed in egcs 1.1.
|
1998-02-26 11:20:59 +00:00
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
?? When I run `nm -u libc.so' on the produced library I still
|
|
|
|
|
find unresolved symbols. Can this be ok?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} Yes, this is ok. There can be several kinds of unresolved symbols:
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
* magic symbols automatically generated by the linker. These have names
|
|
|
|
|
like __start_* and __stop_*
|
|
|
|
|
|
|
|
|
|
* symbols starting with _dl_* come from the dynamic linker
|
|
|
|
|
|
|
|
|
|
* weak symbols, which need not be resolved at all (fabs for example)
|
|
|
|
|
|
|
|
|
|
Generally, you should make sure you find a real program which produces
|
|
|
|
|
errors while linking before deciding there is a problem.
|
|
|
|
|
|
|
|
|
|
??addon What are these `add-ons'?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} To avoid complications with export rules or external source code some
|
|
|
|
|
optional parts of the libc are distributed as separate packages (e.g., the
|
|
|
|
|
crypt package, see ?crypt).
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
To use these packages as part of GNU libc, just unpack the tarfiles in the
|
|
|
|
|
libc source directory and tell the configuration script about them using the
|
|
|
|
|
--enable-add-ons option. If you give just --enable-add-ons configure tries
|
|
|
|
|
to find all the add-on packages in your source tree. This may not work. If
|
|
|
|
|
it doesn't, or if you want to select only a subset of the add-ons, give a
|
|
|
|
|
comma-separated list of the add-ons to enable:
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
configure --enable-add-ons=crypt,linuxthreads
|
|
|
|
|
|
|
|
|
|
for example.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
Add-ons can add features (including entirely new shared libraries), override
|
|
|
|
|
files, provide support for additional architectures, and just about anything
|
|
|
|
|
else. The existing makefiles do most of the work; only some few stub rules
|
|
|
|
|
must be written to get everything running.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1999-09-05 19:36:39 +00:00
|
|
|
|
Most add-ons are tightly coupled to a specific GNU libc version. Please
|
|
|
|
|
check that the add-ons work with the GNU libc. For example the crypt and
|
|
|
|
|
linuxthreads add-ons have the same numbering scheme as the libc and will in
|
|
|
|
|
general only work with the corresponding libc.
|
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
?? My XXX kernel emulates a floating-point coprocessor for me.
|
|
|
|
|
Should I enable --with-fp?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{ZW} An emulated FPU is just as good as a real one, as far as the C library
|
|
|
|
|
is concerned. You only need to say --without-fp if your machine has no way
|
|
|
|
|
to execute floating-point instructions.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
People who are interested in squeezing the last drop of performance
|
|
|
|
|
out of their machine may wish to avoid the trap overhead, but this is
|
|
|
|
|
far more trouble than it's worth: you then have to compile
|
|
|
|
|
*everything* this way, including the compiler's internal libraries
|
|
|
|
|
(libgcc.a for GNU C), because the calling conventions change.
|
|
|
|
|
|
|
|
|
|
?? When compiling GNU libc I get lots of errors saying functions
|
|
|
|
|
in glibc are duplicated in libgcc.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{EY} This is *exactly* the same problem that I was having. The problem was
|
|
|
|
|
due to the fact that configure didn't correctly detect that the linker flag
|
|
|
|
|
--no-whole-archive was supported in my linker. In my case it was because I
|
|
|
|
|
had run ./configure with bogus CFLAGS, and the test failed.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
One thing that is particularly annoying about this problem is that once this
|
|
|
|
|
is misdetected, running configure again won't fix it unless you first delete
|
|
|
|
|
config.cache.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} Starting with glibc-2.0.3 there should be a better test to avoid some
|
|
|
|
|
problems of this kind. The setting of CFLAGS is checked at the very
|
|
|
|
|
beginning and if it is not usable `configure' will bark.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-01-21 17:04:36 +00:00
|
|
|
|
?? Why do I get messages about missing thread functions when I use
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
|
librt? I don't even use threads.
|
1998-01-21 17:04:36 +00:00
|
|
|
|
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
|
{UD} In this case you probably mixed up your installation. librt uses
|
|
|
|
|
threads internally and has implicit references to the thread library.
|
1998-04-21 09:43:11 +00:00
|
|
|
|
Normally these references are satisfied automatically but if the thread
|
|
|
|
|
library is not in the expected place you must tell the linker where it is.
|
|
|
|
|
When using GNU ld it works like this:
|
1998-01-21 17:04:36 +00:00
|
|
|
|
|
|
|
|
|
gcc -o foo foo.c -Wl,-rpath-link=/some/other/dir -lrt
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
The `/some/other/dir' should contain the thread library. `ld' will use the
|
|
|
|
|
given path to find the implicitly referenced library while not disturbing
|
|
|
|
|
any other link path.
|
1998-01-21 17:04:36 +00:00
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
?? What's the problem with configure --enable-omitfp?
|
|
|
|
|
|
|
|
|
|
{AJ} When --enable-omitfp is set the libraries are built without frame
|
1998-06-29 12:44:22 +00:00
|
|
|
|
pointers. Some compilers produce buggy code for this model and therefore we
|
1998-04-21 09:43:11 +00:00
|
|
|
|
don't advise using it at the moment.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-06-29 12:44:22 +00:00
|
|
|
|
If you use --enable-omitfp, you're on your own. If you encounter problems
|
1998-04-21 09:43:11 +00:00
|
|
|
|
with a library that was build this way, we advise you to rebuild the library
|
|
|
|
|
without --enable-omitfp. If the problem vanishes consider tracking the
|
|
|
|
|
problem down and report it as compiler failure.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1999-02-02 09:26:53 +00:00
|
|
|
|
Since a library built with --enable-omitfp is undebuggable on most systems,
|
|
|
|
|
debuggable libraries are also built - you can use them by appending "_g" to
|
1998-04-21 09:43:11 +00:00
|
|
|
|
the library names.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
The compilation of these extra libraries and the compiler optimizations slow
|
|
|
|
|
down the build process and need more disk space.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1999-02-02 09:26:53 +00:00
|
|
|
|
?? I get failures during `make check'. What should I do?
|
1998-07-17 21:47:07 +00:00
|
|
|
|
|
1999-02-02 09:26:53 +00:00
|
|
|
|
{AJ} The testsuite should compile and run cleanly on your system; every
|
|
|
|
|
failure should be looked into. Depending on the failures, you probably
|
|
|
|
|
should not install the library at all.
|
1998-07-17 21:47:07 +00:00
|
|
|
|
|
|
|
|
|
You should consider using the `glibcbug' script to report the failure,
|
|
|
|
|
providing as much detail as possible. If you run a test directly, please
|
|
|
|
|
remember to set up the environment correctly. You want to test the compiled
|
|
|
|
|
library - and not your installed one. The best way is to copy the exact
|
|
|
|
|
command line which failed and run the test from the subdirectory for this
|
|
|
|
|
test in the sources.
|
|
|
|
|
|
|
|
|
|
There are some failures which are not directly related to the GNU libc:
|
1999-02-02 09:26:53 +00:00
|
|
|
|
- Some compilers produce buggy code. No compiler gets single precision
|
|
|
|
|
complex numbers correct on Alpha. Otherwise, the egcs 1.1 release should be
|
|
|
|
|
ok; gcc 2.8.1 might cause some failures; gcc 2.7.2.x is so buggy that
|
|
|
|
|
explicit checks have been used so that you can't build with it.
|
1998-07-17 21:47:07 +00:00
|
|
|
|
- The kernel might have bugs. For example on Linux/Alpha 2.0.34 the
|
|
|
|
|
floating point handling has quite a number of bugs and therefore most of
|
1999-01-24 10:17:23 +00:00
|
|
|
|
the test cases in the math subdirectory will fail. Linux 2.2 has
|
1999-02-02 09:26:53 +00:00
|
|
|
|
fixes for the floating point support on Alpha. The Linux/SPARC kernel has
|
|
|
|
|
also some bugs in the FPU emulation code (as of Linux 2.2.0).
|
1999-05-22 11:45:33 +00:00
|
|
|
|
- Other tools might have problems. For example bash 2.03 gives a
|
|
|
|
|
segmentation fault running the tst-rpmatch.sh test script.
|
1998-07-17 21:47:07 +00:00
|
|
|
|
|
1998-09-09 11:46:18 +00:00
|
|
|
|
?? What is symbol versioning good for? Do I need it?
|
|
|
|
|
|
|
|
|
|
{AJ} Symbol versioning solves problems that are related to interface
|
|
|
|
|
changes. One version of an interface might have been introduced in a
|
|
|
|
|
previous version of the GNU C library but the interface or the semantics of
|
|
|
|
|
the function has been changed in the meantime. For binary compatibility
|
|
|
|
|
with the old library, a newer library needs to still have the old interface
|
1999-02-02 09:26:53 +00:00
|
|
|
|
for old programs. On the other hand, new programs should use the new
|
1998-09-09 11:46:18 +00:00
|
|
|
|
interface. Symbol versioning is the solution for this problem. The GNU
|
1999-02-02 09:26:53 +00:00
|
|
|
|
libc version 2.1 uses symbol versioning by default if the installed binutils
|
|
|
|
|
supports it.
|
1998-09-09 11:46:18 +00:00
|
|
|
|
|
1999-02-02 09:26:53 +00:00
|
|
|
|
We don't advise building without symbol versioning, since you lose binary
|
|
|
|
|
compatibility - forever! The binary compatibility you lose is not only
|
|
|
|
|
against the previous version of the GNU libc (version 2.0) but also against
|
|
|
|
|
all future versions.
|
1998-09-09 11:46:18 +00:00
|
|
|
|
|
1998-07-17 21:47:07 +00:00
|
|
|
|
|
1999-07-08 18:15:32 +00:00
|
|
|
|
?? How can I compile on my fast ix86 machine a working libc for my slow
|
|
|
|
|
i386? After installing libc, programs abort with "Illegal
|
|
|
|
|
Instruction".
|
|
|
|
|
|
|
|
|
|
{AJ} glibc and gcc might generate some instructions on your machine that
|
|
|
|
|
aren't available on i386. You've got to tell glibc that you're configuring
|
|
|
|
|
for i386 with adding i386 as your machine, for example:
|
|
|
|
|
|
|
|
|
|
../configure --prefix=/usr i386-pc-linux-gnu
|
|
|
|
|
|
|
|
|
|
And you need to tell gcc to only generate i386 code, just add `-mcpu=i386'
|
|
|
|
|
(just -m386 doesn't work) to your CFLAGS.
|
|
|
|
|
|
|
|
|
|
{UD} This applies not only to the i386. Compiling on a i686 for any older
|
|
|
|
|
model will also fail if the above methods are not used.
|
|
|
|
|
|
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
? Installation and configuration issues
|
|
|
|
|
|
|
|
|
|
?? Can I replace the libc on my Linux system with GNU libc?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} You cannot replace any existing libc for Linux with GNU libc. It is
|
|
|
|
|
binary incompatible and therefore has a different major version. You can,
|
|
|
|
|
however, install it alongside your existing libc.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
For Linux there are three major libc versions:
|
|
|
|
|
libc-4 a.out libc
|
|
|
|
|
libc-5 original ELF libc
|
|
|
|
|
libc-6 GNU libc
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
You can have any combination of these three installed. For more information
|
|
|
|
|
consult documentation for shared library handling. The Makefiles of GNU
|
|
|
|
|
libc will automatically generate the needed symbolic links which the linker
|
|
|
|
|
will use.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
?? How do I configure GNU libc so that the essential libraries
|
|
|
|
|
like libc.so go into /lib and the other into /usr/lib?
|
|
|
|
|
|
|
|
|
|
{UD,AJ} Like all other GNU packages GNU libc is designed to use a base
|
|
|
|
|
directory and install all files relative to this. The default is
|
1998-04-21 09:43:11 +00:00
|
|
|
|
/usr/local, because this is safe (it will not damage the system if installed
|
|
|
|
|
there). If you wish to install GNU libc as the primary C library on your
|
|
|
|
|
system, set the base directory to /usr (i.e. run configure --prefix=/usr
|
|
|
|
|
<other_options>). Note that this can damage your system; see ?safety for
|
|
|
|
|
details.
|
|
|
|
|
|
|
|
|
|
Some systems like Linux have a filesystem standard which makes a difference
|
|
|
|
|
between essential libraries and others. Essential libraries are placed in
|
|
|
|
|
/lib because this directory is required to be located on the same disk
|
|
|
|
|
partition as /. The /usr subtree might be found on another
|
|
|
|
|
partition/disk. If you configure for Linux with --prefix=/usr, then this
|
|
|
|
|
will be done automatically.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
To install the essential libraries which come with GNU libc in /lib on
|
1998-04-21 09:43:11 +00:00
|
|
|
|
systems other than Linux one must explicitly request it. Autoconf has no
|
|
|
|
|
option for this so you have to use a `configparms' file (see the `INSTALL'
|
|
|
|
|
file for details). It should contain:
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
slibdir=/lib
|
|
|
|
|
sysconfdir=/etc
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
The first line specifies the directory for the essential libraries, the
|
|
|
|
|
second line the directory for system configuration files.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
??safety How should I avoid damaging my system when I install GNU libc?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{ZW} If you wish to be cautious, do not configure with --prefix=/usr. If
|
|
|
|
|
you don't specify a prefix, glibc will be installed in /usr/local, where it
|
|
|
|
|
will probably not break anything. (If you wish to be certain, set the
|
|
|
|
|
prefix to something like /usr/local/glibc2 which is not used for anything.)
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
The dangers when installing glibc in /usr are twofold:
|
|
|
|
|
|
|
|
|
|
* glibc will overwrite the headers in /usr/include. Other C libraries
|
1999-03-08 14:50:23 +00:00
|
|
|
|
install a different but overlapping set of headers there, so the effect
|
|
|
|
|
will probably be that you can't compile anything. You need to rename
|
|
|
|
|
/usr/include out of the way before running `make install'. (Do not throw
|
|
|
|
|
it away; you will then lose the ability to compile programs against your
|
|
|
|
|
old libc.)
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
* None of your old libraries, static or shared, can be used with a
|
|
|
|
|
different C library major version. For shared libraries this is not a
|
|
|
|
|
problem, because the filenames are different and the dynamic linker
|
|
|
|
|
will enforce the restriction. But static libraries have no version
|
|
|
|
|
information. You have to evacuate all the static libraries in
|
|
|
|
|
/usr/lib to a safe location.
|
|
|
|
|
|
|
|
|
|
The situation is rather similar to the move from a.out to ELF which
|
|
|
|
|
long-time Linux users will remember.
|
|
|
|
|
|
|
|
|
|
?? Do I need to use GNU CC to compile programs that will use the
|
|
|
|
|
GNU C Library?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{ZW} In theory, no; the linker does not care, and the headers are supposed
|
|
|
|
|
to check for GNU CC before using its extensions to the C language.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
However, there are currently no ports of glibc to systems where another
|
|
|
|
|
compiler is the default, so no one has tested the headers extensively
|
|
|
|
|
against another compiler. You may therefore encounter difficulties. If you
|
|
|
|
|
do, please report them as bugs.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
Also, in several places GNU extensions provide large benefits in code
|
|
|
|
|
quality. For example, the library has hand-optimized, inline assembly
|
1998-04-21 09:43:11 +00:00
|
|
|
|
versions of some string functions. These can only be used with GCC. See
|
|
|
|
|
?string for details.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
??crypt When linking with the new libc I get unresolved symbols
|
|
|
|
|
`crypt' and `setkey'. Why aren't these functions in the
|
|
|
|
|
libc anymore?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} The US places restrictions on exporting cryptographic programs and
|
|
|
|
|
source code. Until this law gets abolished we cannot ship the cryptographic
|
|
|
|
|
functions together with glibc.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
The functions are available, as an add-on (see ?addon). People in the US
|
|
|
|
|
may get it from the same place they got GNU libc from. People outside the
|
1999-07-28 04:37:55 +00:00
|
|
|
|
US should get the code from ftp.gwdg.de [134.76.11.100] in the directory
|
|
|
|
|
pub/linux/glibc, or another archive site outside the USA. The README explains
|
1999-03-22 06:51:09 +00:00
|
|
|
|
how to install the sources.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
If you already have the crypt code on your system the reason for the failure
|
|
|
|
|
is probably that you did not link with -lcrypt. The crypto functions are in
|
|
|
|
|
a separate library to make it possible to export GNU libc binaries from the
|
|
|
|
|
US.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
?? When I use GNU libc on my Linux system by linking against
|
|
|
|
|
the libc.so which comes with glibc all I get is a core dump.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} On Linux, gcc sets the dynamic linker to /lib/ld-linux.so.1 unless the
|
1999-06-06 13:11:12 +00:00
|
|
|
|
user specifies a --dynamic-linker argument. This is the name of the libc5
|
1998-04-21 09:43:11 +00:00
|
|
|
|
dynamic linker, which does not work with glibc.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-09-23 15:28:54 +00:00
|
|
|
|
For casual use of GNU libc you can just specify to the linker
|
|
|
|
|
--dynamic-linker=/lib/ld-linux.so.2
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
which is the glibc dynamic linker, on Linux systems. On other systems the
|
1998-09-23 15:28:54 +00:00
|
|
|
|
name is /lib/ld.so.1. When linking via gcc, you've got to add
|
|
|
|
|
-Wl,--dynamic-linker=/lib/ld-linux.so.2
|
|
|
|
|
|
|
|
|
|
to the gcc command line.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
To change your environment to use GNU libc for compiling you need to change
|
|
|
|
|
the `specs' file of your gcc. This file is normally found at
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
/usr/lib/gcc-lib/<arch>/<version>/specs
|
|
|
|
|
|
|
|
|
|
In this file you have to change a few things:
|
|
|
|
|
|
|
|
|
|
- change `ld-linux.so.1' to `ld-linux.so.2'
|
|
|
|
|
|
|
|
|
|
- remove all expression `%{...:-lgmon}'; there is no libgmon in glibc
|
|
|
|
|
|
|
|
|
|
- fix a minor bug by changing %{pipe:-} to %|
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
Here is what the gcc-2.7.2 specs file should look like when GNU libc is
|
|
|
|
|
installed at /usr:
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
|
*asm:
|
|
|
|
|
%{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}
|
|
|
|
|
|
|
|
|
|
*asm_final:
|
|
|
|
|
%|
|
|
|
|
|
|
|
|
|
|
*cpp:
|
|
|
|
|
%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}
|
|
|
|
|
|
|
|
|
|
*cc1:
|
|
|
|
|
%{profile:-p}
|
|
|
|
|
|
|
|
|
|
*cc1plus:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*endfile:
|
|
|
|
|
%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s
|
|
|
|
|
|
|
|
|
|
*link:
|
|
|
|
|
-m elf_i386 %{shared:-shared} %{!shared: %{!ibcs: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} %{static:-static}}}
|
|
|
|
|
|
|
|
|
|
*lib:
|
|
|
|
|
%{!shared: %{pthread:-lpthread} %{profile:-lc_p} %{!profile: -lc}}
|
|
|
|
|
|
|
|
|
|
*libgcc:
|
|
|
|
|
-lgcc
|
|
|
|
|
|
|
|
|
|
*startfile:
|
|
|
|
|
%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}
|
|
|
|
|
|
|
|
|
|
*switches_need_spaces:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*signed_char:
|
|
|
|
|
%{funsigned-char:-D__CHAR_UNSIGNED__}
|
|
|
|
|
|
|
|
|
|
*predefines:
|
|
|
|
|
-D__ELF__ -Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386)
|
|
|
|
|
|
|
|
|
|
*cross_compile:
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
|
*multilib:
|
|
|
|
|
. ;
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
Things get a bit more complicated if you have GNU libc installed in some
|
|
|
|
|
other place than /usr, i.e., if you do not want to use it instead of the old
|
|
|
|
|
libc. In this case the needed startup files and libraries are not found in
|
|
|
|
|
the regular places. So the specs file must tell the compiler and linker
|
|
|
|
|
exactly what to use.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
Version 2.7.2.3 does and future versions of GCC will automatically
|
|
|
|
|
provide the correct specs.
|
|
|
|
|
|
|
|
|
|
?? Looking through the shared libc file I haven't found the
|
|
|
|
|
functions `stat', `lstat', `fstat', and `mknod' and while
|
|
|
|
|
linking on my Linux system I get error messages. How is
|
|
|
|
|
this supposed to work?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{RM} Believe it or not, stat and lstat (and fstat, and mknod) are supposed
|
|
|
|
|
to be undefined references in libc.so.6! Your problem is probably a missing
|
|
|
|
|
or incorrect /usr/lib/libc.so file; note that this is a small text file now,
|
|
|
|
|
not a symlink to libc.so.6. It should look something like this:
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-03-31 23:45:03 +00:00
|
|
|
|
GROUP ( libc.so.6 libc_nonshared.a )
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1999-09-05 19:35:36 +00:00
|
|
|
|
??excpt When I run an executable on one system which I compiled on
|
1998-11-20 17:27:47 +00:00
|
|
|
|
another, I get dynamic linker errors. Both systems have the same
|
|
|
|
|
version of glibc installed. What's wrong?
|
|
|
|
|
|
|
|
|
|
{ZW} Glibc on one of these systems was compiled with gcc 2.7 or 2.8, the
|
|
|
|
|
other with egcs (any version). Egcs has functions in its internal
|
|
|
|
|
`libgcc.a' to support exception handling with C++. They are linked into
|
|
|
|
|
any program or dynamic library compiled with egcs, whether it needs them or
|
|
|
|
|
not. Dynamic libraries then turn around and export those functions again
|
|
|
|
|
unless special steps are taken to prevent them.
|
|
|
|
|
|
|
|
|
|
When you link your program, it resolves its references to the exception
|
|
|
|
|
functions to the ones exported accidentally by libc.so. That works fine as
|
|
|
|
|
long as libc has those functions. On the other system, libc doesn't have
|
|
|
|
|
those functions because it was compiled by gcc 2.8, and you get undefined
|
|
|
|
|
symbol errors. The symbols in question are named things like
|
|
|
|
|
`__register_frame_info'.
|
|
|
|
|
|
|
|
|
|
For glibc 2.0, the workaround is to not compile libc with egcs. We've also
|
|
|
|
|
incorporated a patch which should prevent the EH functions sneaking into
|
|
|
|
|
libc. It doesn't matter what compiler you use to compile your program.
|
|
|
|
|
|
|
|
|
|
For glibc 2.1, we've chosen to do it the other way around: libc.so
|
|
|
|
|
explicitly provides the EH functions. This is to prevent other shared
|
1999-03-08 14:23:38 +00:00
|
|
|
|
libraries from doing it.
|
|
|
|
|
|
|
|
|
|
{UD} Starting with glibc 2.1.1 you can compile glibc with gcc 2.8.1 or
|
|
|
|
|
newer since we have explicitly add references to the functions causing the
|
|
|
|
|
problem. But you nevertheless should use EGCS for other reasons
|
|
|
|
|
(see ?binsize).
|
1998-11-20 17:27:47 +00:00
|
|
|
|
|
1999-09-05 19:35:36 +00:00
|
|
|
|
{GK} On some Linux distributions for PowerPC, you can see this when you have
|
|
|
|
|
built gcc or egcs from the Web sources (gcc versions 2.95 or earlier), then
|
|
|
|
|
re-built glibc. This happens because in these versions of gcc, exception
|
|
|
|
|
handling is implemented using an older method; the people making the
|
|
|
|
|
distributions are a little ahead of their time.
|
|
|
|
|
|
|
|
|
|
A quick solution to this is to find the libgcc.a file that came with the
|
1999-11-17 18:48:13 +00:00
|
|
|
|
distribution (it would have been installed under /usr/lib/gcc-lib), do
|
1999-09-05 19:35:36 +00:00
|
|
|
|
`ar x libgcc.a frame.o' to get the frame.o file out, and add a line saying
|
|
|
|
|
`LDLIBS-c.so += frame.o' to the file `configparms' in the directory you're
|
|
|
|
|
building in. You can check you've got the right `frame.o' file by running
|
|
|
|
|
`nm frame.o' and checking that it has the symbols defined that you're
|
|
|
|
|
missing.
|
|
|
|
|
|
|
|
|
|
This will let you build glibc with the C compiler. The C++ compiler
|
|
|
|
|
will still be binary incompatible with any C++ shared libraries that
|
|
|
|
|
you got with your distribution.
|
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
?? How can I compile gcc 2.7.2.1 from the gcc source code using
|
|
|
|
|
glibc 2.x?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{AJ} There's only correct support for glibc 2.0.x in gcc 2.7.2.3 or later.
|
1999-03-08 14:23:38 +00:00
|
|
|
|
But you should get at least gcc 2.8.1 or egcs 1.1 (or later versions)
|
1998-04-21 09:43:11 +00:00
|
|
|
|
instead.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
?? The `gencat' utility cannot process the catalog sources which
|
|
|
|
|
were used on my Linux libc5 based system. Why?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} The `gencat' utility provided with glibc complies to the XPG standard.
|
|
|
|
|
The older Linux version did not obey the standard, so they are not
|
|
|
|
|
compatible.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
To ease the transition from the Linux version some of the non-standard
|
1998-04-21 09:43:11 +00:00
|
|
|
|
features are also present in the `gencat' program of GNU libc. This mainly
|
|
|
|
|
includes the use of symbols for the message number and the automatic
|
1997-12-05 00:40:29 +00:00
|
|
|
|
generation of header files which contain the needed #defines to map the
|
|
|
|
|
symbols to integers.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
Here is a simple SED script to convert at least some Linux specific catalog
|
|
|
|
|
files to the XPG4 form:
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
|
# Change catalog source in Linux specific format to standard XPG format.
|
|
|
|
|
# Ulrich Drepper <drepper@cygnus.com>, 1996.
|
|
|
|
|
#
|
|
|
|
|
/^\$ #/ {
|
|
|
|
|
h
|
|
|
|
|
s/\$ #\([^ ]*\).*/\1/
|
|
|
|
|
x
|
|
|
|
|
s/\$ #[^ ]* *\(.*\)/\$ \1/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/^# / {
|
|
|
|
|
s/^# \(.*\)/\1/
|
|
|
|
|
G
|
|
|
|
|
s/\(.*\)\n\(.*\)/\2 \1/
|
|
|
|
|
}
|
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
|
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
|
?? Programs using libc have their messages translated, but other
|
|
|
|
|
behavior is not localized (e.g. collating order); why?
|
|
|
|
|
|
|
|
|
|
{ZW} Translated messages are automatically installed, but the locale
|
1998-04-21 09:43:11 +00:00
|
|
|
|
database that controls other behaviors is not. You need to run localedef to
|
|
|
|
|
install this database, after you have run `make install'. For example, to
|
|
|
|
|
set up the French Canadian locale, simply issue the command
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
|
|
|
|
|
|
localedef -i fr_CA -f ISO-8859-1 fr_CA
|
|
|
|
|
|
|
|
|
|
Please see localedata/README in the source tree for further details.
|
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
?? I have set up /etc/nis.conf, and the Linux libc 5 with NYS
|
|
|
|
|
works great. But the glibc NIS+ doesn't seem to work.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{TK} The glibc NIS+ implementation uses a /var/nis/NIS_COLD_START file for
|
|
|
|
|
storing information about the NIS+ server and their public keys, because the
|
|
|
|
|
nis.conf file does not contain all the necessary information. You have to
|
|
|
|
|
copy a NIS_COLD_START file from a Solaris client (the NIS_COLD_START file is
|
|
|
|
|
byte order independent) or generate it with nisinit from the nis-tools
|
|
|
|
|
package; available at
|
|
|
|
|
|
1999-04-08 02:10:39 +00:00
|
|
|
|
http://www.suse.de/~kukuk/linux/nisplus.html
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
|
?? I have killed ypbind to stop using NIS, but glibc
|
1998-05-21 16:24:27 +00:00
|
|
|
|
continues using NIS.
|
1998-01-31 12:11:10 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{TK} For faster NIS lookups, glibc uses the /var/yp/binding/ files from
|
|
|
|
|
ypbind. ypbind 3.3 and older versions don't always remove these files, so
|
|
|
|
|
glibc will continue to use them. Other BSD versions seem to work correctly.
|
|
|
|
|
Until ypbind 3.4 is released, you can find a patch at
|
|
|
|
|
|
1999-05-15 23:31:55 +00:00
|
|
|
|
<ftp://ftp.kernel.org/pub/linux/utils/net/NIS/ypbind-3.3-glibc4.diff.gz>
|
1998-03-06 09:18:45 +00:00
|
|
|
|
|
1998-05-21 16:24:27 +00:00
|
|
|
|
?? Under Linux/Alpha, I always get "do_ypcall: clnt_call:
|
|
|
|
|
RPC: Unable to receive; errno = Connection refused" when using NIS.
|
1998-03-06 09:18:45 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{TK} You need a ypbind version which is 64bit clean. Some versions are not
|
|
|
|
|
64bit clean. A 64bit clean implementation is ypbind-mt. For ypbind 3.3,
|
|
|
|
|
you need the patch from ftp.kernel.org (See the previous question). I don't
|
|
|
|
|
know about other versions.
|
1998-03-06 09:18:45 +00:00
|
|
|
|
|
1998-01-31 12:11:10 +00:00
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
?? After installing glibc name resolving doesn't work properly.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{AJ} You probably should read the manual section describing nsswitch.conf
|
|
|
|
|
(just type `info libc "NSS Configuration File"'). The NSS configuration
|
|
|
|
|
file is usually the culprit.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-05-21 16:24:27 +00:00
|
|
|
|
|
|
|
|
|
?? How do I create the databases for NSS?
|
|
|
|
|
|
|
|
|
|
{AJ} If you have an entry "db" in /etc/nsswitch.conf you should also create
|
|
|
|
|
the database files. The glibc sources contain a Makefile which does the
|
1998-09-09 11:46:18 +00:00
|
|
|
|
necessary conversion and calls to create those files. The file is
|
1998-05-21 16:24:27 +00:00
|
|
|
|
`db-Makefile' in the subdirectory `nss' and you can call it with `make -f
|
|
|
|
|
db-Makefile'. Please note that not all services are capable of using a
|
|
|
|
|
database. Currently passwd, group, ethers, protocol, rpc, services shadow
|
|
|
|
|
and netgroup are implemented.
|
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
?? I have /usr/include/net and /usr/include/scsi as symlinks
|
|
|
|
|
into my Linux source tree. Is that wrong?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{PB} This was necessary for libc5, but is not correct when using glibc.
|
|
|
|
|
Including the kernel header files directly in user programs usually does not
|
|
|
|
|
work (see ?kerhdr). glibc provides its own <net/*> and <scsi/*> header
|
|
|
|
|
files to replace them, and you may have to remove any symlink that you have
|
|
|
|
|
in place before you install glibc. However, /usr/include/asm and
|
|
|
|
|
/usr/include/linux should remain as they were.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
?? Programs like `logname', `top', `uptime' `users', `w' and
|
|
|
|
|
`who', show incorrect information about the (number of)
|
|
|
|
|
users on my system. Why?
|
|
|
|
|
|
|
|
|
|
{MK} See ?getlog.
|
|
|
|
|
|
|
|
|
|
?? After upgrading to glibc 2.1 with symbol versioning I get
|
|
|
|
|
errors about undefined symbols. What went wrong?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{AJ} The problem is caused either by wrong program code or tools. In the
|
|
|
|
|
versioned libc a lot of symbols are now local that were global symbols in
|
|
|
|
|
previous versions. It seems that programs linked against older versions
|
|
|
|
|
often accidentally used libc global variables -- something that should not
|
|
|
|
|
happen.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
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.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
?? 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 should I do?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} As the message says, relink the binary. The problem is that a 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,
|
|
|
|
|
breaking programs that refer to them directly.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
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.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
In some situations (especially when testing a new library release) it might
|
|
|
|
|
be possible that a symbol changed size when that should not have happened.
|
|
|
|
|
So in case of doubt report such a warning message as a problem.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
|
?? What do I need for C++ development?
|
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
{HJ,AJ} You need either egcs 1.1 which comes directly with libstdc++ or
|
|
|
|
|
gcc-2.8.1 together with libstdc++ 2.8.1.1. egcs 1.1 has the better C++
|
|
|
|
|
support and works directly with glibc 2.1. If you use gcc-2.8.1 with
|
|
|
|
|
libstdc++ 2.8.1.1, you need to modify libstdc++ a bit. A patch is available
|
|
|
|
|
as:
|
1999-05-15 23:31:55 +00:00
|
|
|
|
<ftp://alpha.gnu.org/gnu/libstdc++-2.8.1.1-glibc2.1-diff.gz>
|
1998-11-20 17:27:47 +00:00
|
|
|
|
|
|
|
|
|
Please note that libg++ 2.7.2 (and the Linux Versions 2.7.2.x) doesn't work
|
|
|
|
|
very well with the GNU C library due to vtable thunks. If you're upgrading
|
|
|
|
|
from glibc 2.0.x to 2.1 you have to recompile libstdc++ since the library
|
|
|
|
|
compiled for 2.0 is not compatible due to the new Large File Support (LFS)
|
|
|
|
|
in version 2.1.
|
1998-10-25 09:16:51 +00:00
|
|
|
|
|
|
|
|
|
{UD} But since in the case of a shared libstdc++ the version numbers should
|
|
|
|
|
be different existing programs will continue to work.
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
|
|
1998-04-07 16:19:36 +00:00
|
|
|
|
?? Even statically linked programs need some shared libraries
|
|
|
|
|
which is not acceptable for me. What can I do?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{AJ} NSS (for details just type `info libc "Name Service Switch"') won't
|
|
|
|
|
work properly without shared libraries. NSS allows using different services
|
|
|
|
|
(e.g. NIS, files, db, hesiod) by just changing one configuration file
|
|
|
|
|
(/etc/nsswitch.conf) without relinking any programs. The only disadvantage
|
|
|
|
|
is that now static libraries need to access shared libraries. This is
|
|
|
|
|
handled transparently by the GNU C library.
|
1998-04-07 16:19:36 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
A solution is to configure glibc with --enable-static-nss. In this case you
|
|
|
|
|
can create a static binary that will use only the services dns and files
|
|
|
|
|
(change /etc/nsswitch.conf for this). You need to link explicitly against
|
|
|
|
|
all these services. For example:
|
1998-04-07 16:19:36 +00:00
|
|
|
|
|
|
|
|
|
gcc -static test-netdb.c -o test-netdb.c \
|
|
|
|
|
-lc -lnss_files -lnss_dns -lresolv
|
|
|
|
|
|
|
|
|
|
The problem with this approach is that you've got to link every static
|
|
|
|
|
program that uses NSS routines with all those libraries.
|
|
|
|
|
|
|
|
|
|
{UD} In fact, one cannot say anymore that a libc compiled with this
|
|
|
|
|
option is using NSS. There is no switch anymore. Therefore it is
|
|
|
|
|
*highly* recommended *not* to use --enable-static-nss since this makes
|
|
|
|
|
the behaviour of the programs on the system inconsistent.
|
|
|
|
|
|
1998-06-16 16:30:14 +00:00
|
|
|
|
?? I just upgraded my Linux system to glibc and now I get
|
|
|
|
|
errors whenever I try to link any program.
|
|
|
|
|
|
|
|
|
|
{ZW} This happens when you have installed glibc as the primary C library but
|
|
|
|
|
have stray symbolic links pointing at your old C library. If the first
|
|
|
|
|
`libc.so' the linker finds is libc 5, it will use that. Your program
|
|
|
|
|
expects to be linked with glibc, so the link fails.
|
|
|
|
|
|
|
|
|
|
The most common case is that glibc put its `libc.so' in /usr/lib, but there
|
|
|
|
|
was a `libc.so' from libc 5 in /lib, which gets searched first. To fix the
|
|
|
|
|
problem, just delete /lib/libc.so. You may also need to delete other
|
|
|
|
|
symbolic links in /lib, such as /lib/libm.so if it points to libm.so.5.
|
|
|
|
|
|
1998-06-17 17:59:25 +00:00
|
|
|
|
{AJ} The perl script test-installation.pl which is run as last step during
|
|
|
|
|
an installation of glibc that is configured with --prefix=/usr should help
|
|
|
|
|
detect these situations. If the script reports problems, something is
|
|
|
|
|
really screwed up.
|
|
|
|
|
|
1998-10-20 21:18:11 +00:00
|
|
|
|
?? When I use nscd the machine freezes.
|
|
|
|
|
|
1998-11-20 17:27:47 +00:00
|
|
|
|
{UD} You cannot use nscd with Linux 2.0.*. There is functionality missing
|
|
|
|
|
in the kernel and work-arounds are not suitable. Besides, some parts of the
|
|
|
|
|
kernel are too buggy when it comes to using threads.
|
1998-10-20 21:18:11 +00:00
|
|
|
|
|
1999-01-24 10:17:23 +00:00
|
|
|
|
If you need nscd, you have to use at least a 2.1 kernel.
|
1998-10-20 21:18:11 +00:00
|
|
|
|
|
|
|
|
|
Note that I have at this point no information about any other platform.
|
|
|
|
|
|
1998-11-25 15:42:34 +00:00
|
|
|
|
?? I need lots of open files. What do I have to do?
|
|
|
|
|
|
|
|
|
|
{AJ} This is at first a kernel issue. The kernel defines limits with
|
|
|
|
|
OPEN_MAX the number of simultaneous open files and with FD_SETSIZE the
|
|
|
|
|
number of used file descriptors. You need to change these values in your
|
|
|
|
|
kernel and recompile the kernel so that the kernel allows to use more open
|
|
|
|
|
files. You don't necessarily need to recompile the GNU C library since the
|
|
|
|
|
only place where OPEN_MAX and FD_SETSIZE is really needed in the library
|
|
|
|
|
itself is the size of fd_set which is used by select.
|
|
|
|
|
|
|
|
|
|
The GNU C library is now (nearly) select free. This means it internally has
|
|
|
|
|
no limits imposed by the `fd_set' type. Instead almost all places where the
|
|
|
|
|
functionality is needed the `poll' function is used.
|
|
|
|
|
|
|
|
|
|
If you increase the number of file descriptors in the kernel you don't need
|
|
|
|
|
to recompile the C library. The remaining select calls are in the RPC code.
|
|
|
|
|
If your RPC daemons don't need more than FD_SETSIZE file descriptors, you
|
|
|
|
|
don't need to change anything at all.
|
|
|
|
|
|
|
|
|
|
{UD} You can always get the maximum number of file descriptors a process is
|
|
|
|
|
allowed to have open at any time using
|
|
|
|
|
|
|
|
|
|
number = sysconf (_SC_OPEN_MAX);
|
|
|
|
|
|
|
|
|
|
This will work even if the kernel limits change.
|
|
|
|
|
|
1998-12-16 11:10:36 +00:00
|
|
|
|
?? How do I get the same behavior on parsing /etc/passwd and
|
|
|
|
|
/etc/group as I have with libc5 ?
|
|
|
|
|
|
|
|
|
|
{TK} The name switch setup in /etc/nsswitch.conf selected by most Linux
|
|
|
|
|
distributions does not support +/- and netgroup entries in the files like
|
|
|
|
|
/etc/passwd. Though this is the preferred setup some people might have
|
|
|
|
|
setups coming over from the libc5 days where it was the default to recognize
|
|
|
|
|
lines like this. To get back to the old behaviour one simply has to change
|
|
|
|
|
the rules for passwd, group, and shadow in the nsswitch.conf file as
|
|
|
|
|
follows:
|
|
|
|
|
|
|
|
|
|
passwd: compat
|
|
|
|
|
group: compat
|
|
|
|
|
shadow: compat
|
|
|
|
|
|
|
|
|
|
passwd_compat: nis
|
|
|
|
|
group_compat: nis
|
|
|
|
|
shadow_compat: nis
|
|
|
|
|
|
1999-03-08 18:11:53 +00:00
|
|
|
|
??libs What needs to be recompiled when upgrading from glibc 2.0 to glibc
|
1999-01-20 16:12:52 +00:00
|
|
|
|
2.1?
|
|
|
|
|
|
|
|
|
|
{AJ,CG} If you just upgrade the glibc from 2.0.x (x <= 7) to 2.1, binaries
|
|
|
|
|
that have been linked against glibc 2.0 will continue to work.
|
|
|
|
|
|
|
|
|
|
If you compile your own binaries against glibc 2.1, you also need to
|
1999-11-23 17:47:03 +00:00
|
|
|
|
recompile some other libraries. The problem is that libio had to be changed
|
|
|
|
|
and therefore libraries that are based or depend on the libio of glibc,
|
|
|
|
|
e.g. ncurses, slang and most C++ libraries, need to be recompiled. If you
|
|
|
|
|
experience strange segmentation faults in your programs linked against glibc
|
|
|
|
|
2.1, you might need to recompile your libraries.
|
1999-01-20 16:12:52 +00:00
|
|
|
|
|
|
|
|
|
Another problem is that older binaries that were linked statically against
|
|
|
|
|
glibc 2.0 will reference the older nss modules (libnss_files.so.1 instead of
|
|
|
|
|
libnss_files.so.2), so don't remove them. Also, the old glibc-2.0 compiled
|
|
|
|
|
static libraries (libfoo.a) which happen to depend on the older libio
|
1999-01-21 14:17:43 +00:00
|
|
|
|
behavior will be broken by the glibc 2.1 upgrade. We plan to produce a
|
|
|
|
|
compatibility library that people will be able to link in if they want
|
|
|
|
|
to compile a static library generated against glibc 2.0 into a program
|
|
|
|
|
on a glibc 2.1 system. You just add -lcompat and you should be fine.
|
|
|
|
|
|
|
|
|
|
The glibc-compat add-on will provide the libcompat.a library, the older
|
|
|
|
|
nss modules, and a few other files. Together, they should make it
|
|
|
|
|
possible to do development with old static libraries on a glibc 2.1
|
1999-02-07 00:06:12 +00:00
|
|
|
|
system. This add-on is still in development. You can get it from
|
1999-05-15 23:31:55 +00:00
|
|
|
|
<ftp://alpha.gnu.org/gnu/glibc-compat-2.1.tar.gz>
|
1999-01-21 14:17:43 +00:00
|
|
|
|
but please keep in mind that it is experimental.
|
1998-11-25 15:42:34 +00:00
|
|
|
|
|
Update.
1999-01-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/wordsize-32/stdint.h (INT8_C, INT16_C, INT32_C, INT64_C,
UINT8_C, UINT16_C, UINT32_C, UINT64_C): Remove casts, they must be
integer constants. Use ## directly instead of __CONCAT so that
the suffix string is not expanded as a macro.
* sysdeps/wordsize-64/stdint.h (INT8_C, INT16_C, INT32_C, INT64_C,
UINT8_C, UINT16_C, UINT32_C, UINT64_C): Likewise.
(INT64_MIN, INT64_MAX, UINT64_MAX, INT_LEAST64_MIN,
INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST16_MIN, INT_FAST32_MIN,
INT_FAST64_MIN, INT_FAST16_MAX, INT_FAST32_MAX, INT_FAST64_MAX,
UINT_FAST16_MAX, UINT_FAST32_MAX, UINT_FAST64_MAX, INTMAX_MIN,
INTMAX_MAX, UINTMAX_MAX): Define as long constants, not long long.
1999-01-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* locale/mb_cur_max.c (__ctype_get_mb_cur_max): Correct return
type to size_t.
* locale/broken_cur_max.c (__ctype_get_mb_cur_max): Likewise.
* stdlib/stdlib.h (__ctype_get_mb_cur_max): Likewise.
1999-01-27 Philip Blundell <pb@nexus.co.uk>
* sysdeps/unix/sysv/linux/arm/vfork.S: Deleted.
1999-01-29 09:01:50 +00:00
|
|
|
|
?? Why is extracting files via tar so slow?
|
|
|
|
|
|
|
|
|
|
{AJ} Extracting of tar archives might be quite slow since tar has to look up
|
|
|
|
|
userid and groupids and doesn't cache negative results. If you have nis or
|
|
|
|
|
nisplus in your /etc/nsswitch.conf for the passwd and/or group database,
|
|
|
|
|
each file extractions needs a network connection. There are two possible
|
|
|
|
|
solutions:
|
|
|
|
|
|
|
|
|
|
- do you really need NIS/NIS+ (some Linux distributions add by default
|
|
|
|
|
nis/nisplus even if it's not needed)? If not, just remove the entries.
|
|
|
|
|
|
|
|
|
|
- if you need NIS/NIS+, use the Name Service Cache Daemon nscd that comes
|
|
|
|
|
with glibc 2.1.
|
|
|
|
|
|
1999-02-27 10:59:20 +00:00
|
|
|
|
?? Compiling programs I get parse errors in libio.h (e.g. "parse error
|
|
|
|
|
before `_IO_seekoff'"). How should I fix this?
|
|
|
|
|
|
|
|
|
|
{AJ} You might get the following errors when upgrading to glibc 2.1:
|
|
|
|
|
|
|
|
|
|
In file included from /usr/include/stdio.h:57,
|
|
|
|
|
from ...
|
|
|
|
|
/usr/include/libio.h:335: parse error before `_IO_seekoff'
|
|
|
|
|
/usr/include/libio.h:335: parse error before `_G_off64_t'
|
|
|
|
|
/usr/include/libio.h:336: parse error before `_IO_seekpos'
|
|
|
|
|
/usr/include/libio.h:336: parse error before `_G_fpos64_t'
|
|
|
|
|
|
|
|
|
|
The problem is a wrong _G_config.h file in your include path. The
|
|
|
|
|
_G_config.h file that comes with glibc 2.1 should be used and not one from
|
|
|
|
|
libc5 or from a compiler directory. To check which _G_config.h file the
|
|
|
|
|
compiler uses, compile your program with `gcc -E ...|grep G_config.h' and
|
|
|
|
|
remove that file. Your compiler should pick up the file that has been
|
|
|
|
|
installed by glibc 2.1 in your include directory.
|
|
|
|
|
|
1999-03-08 18:11:53 +00:00
|
|
|
|
?? After upgrading to glibc 2.1, libraries that were compiled against
|
|
|
|
|
glibc 2.0.x don't work anymore.
|
|
|
|
|
|
|
|
|
|
{AJ} See ?libs.
|
|
|
|
|
|
1999-02-27 10:59:20 +00:00
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
? Source and binary incompatibilities, and what to do about them
|
|
|
|
|
|
|
|
|
|
?? I expect GNU libc to be 100% source code compatible with
|
|
|
|
|
the old Linux based GNU libc. Why isn't it like this?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{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 can
|
|
|
|
|
now be corrected. Here is a list of the known source code
|
1997-12-05 00:40:29 +00:00
|
|
|
|
incompatibilities:
|
|
|
|
|
|
|
|
|
|
* _GNU_SOURCE: glibc does not make the GNU extensions available
|
|
|
|
|
automatically. If a program depends on GNU extensions or some
|
|
|
|
|
other non-standard functionality, it is necessary to compile it
|
|
|
|
|
with the C compiler option -D_GNU_SOURCE, or better, to put
|
|
|
|
|
`#define _GNU_SOURCE' at the beginning of your source files, before
|
|
|
|
|
any C library header files are included. This difference normally
|
|
|
|
|
manifests itself in the form of missing prototypes and/or data type
|
|
|
|
|
definitions. Thus, if you get such errors, the first thing you
|
|
|
|
|
should do is try defining _GNU_SOURCE and see if that makes the
|
|
|
|
|
problem go away.
|
|
|
|
|
|
|
|
|
|
For more information consult the file `NOTES' in the GNU C library
|
|
|
|
|
sources.
|
|
|
|
|
|
|
|
|
|
* reboot(): GNU libc sanitizes the interface of reboot() to be more
|
|
|
|
|
compatible with the interface used on other OSes. reboot() as
|
|
|
|
|
implemented in glibc takes just one argument. This argument
|
|
|
|
|
corresponds to the third argument of the Linux reboot system call.
|
|
|
|
|
That is, a call of the form reboot(a, b, c) needs to be changed into
|
|
|
|
|
reboot(c). Beside this the header <sys/reboot.h> defines the needed
|
|
|
|
|
constants for the argument. These RB_* constants should be used
|
|
|
|
|
instead of the cryptic magic numbers.
|
|
|
|
|
|
|
|
|
|
* swapon(): the interface of this function didn't change, but the
|
|
|
|
|
prototype is in a separate header file <sys/swap.h>. This header
|
|
|
|
|
file also provides the SWAP_* constants defined by <linux/swap.h>;
|
|
|
|
|
you should use them for the second argument to swapon().
|
|
|
|
|
|
|
|
|
|
* errno: If a program uses the variable "errno", then it _must_
|
|
|
|
|
include <errno.h>. The old libc often (erroneously) declared this
|
|
|
|
|
variable implicitly as a side-effect of including other libc header
|
|
|
|
|
files. glibc is careful to avoid such namespace pollution, which,
|
|
|
|
|
in turn, means that you really need to include the header files that
|
|
|
|
|
you depend on. This difference normally manifests itself in the
|
|
|
|
|
form of the compiler complaining about references to an undeclared
|
|
|
|
|
symbol "errno".
|
|
|
|
|
|
|
|
|
|
* Linux-specific syscalls: All Linux system calls now have appropriate
|
|
|
|
|
library wrappers and corresponding declarations in various header files.
|
|
|
|
|
This is because the syscall() macro that was traditionally used to
|
|
|
|
|
work around missing syscall wrappers are inherently non-portable and
|
|
|
|
|
error-prone. The following table lists all the new syscall stubs,
|
|
|
|
|
the header-file declaring their interface and the system call name.
|
|
|
|
|
|
|
|
|
|
syscall name: wrapper name: declaring header file:
|
|
|
|
|
------------- ------------- ----------------------
|
|
|
|
|
bdflush bdflush <sys/kdaemon.h>
|
|
|
|
|
syslog ksyslog_ctl <sys/klog.h>
|
|
|
|
|
|
|
|
|
|
* lpd: Older versions of lpd depend on a routine called _validuser().
|
|
|
|
|
The library does not provide this function, but instead provides
|
|
|
|
|
__ivaliduser() which has a slightly different interface. Simply
|
|
|
|
|
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 libc itself. There is a
|
|
|
|
|
separate library libresolv. If you get undefined symbol errors for
|
|
|
|
|
symbols starting with `res_*' simply add -lresolv to your linker
|
|
|
|
|
command line.
|
|
|
|
|
|
|
|
|
|
* the `signal' function's behavior corresponds to the BSD semantic and
|
|
|
|
|
not the SysV semantic as it was in libc-5. The interface on all GNU
|
|
|
|
|
systems shall be the same and BSD is the semantic of choice. To use
|
|
|
|
|
the SysV behavior simply use `sysv_signal', or define _XOPEN_SOURCE.
|
|
|
|
|
See ?signal for details.
|
|
|
|
|
|
|
|
|
|
??getlog Why does getlogin() always return NULL on my Linux box?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{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. The record size is different and
|
|
|
|
|
some fields have different positions. The files written by functions from
|
|
|
|
|
the one library cannot 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.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{MK} There is however a (partial) solution for this problem. Please take a
|
|
|
|
|
look at the file `login/README.utmpd'.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
?? Where are the DST_* constants found in <sys/time.h> on many
|
|
|
|
|
systems?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} These constants come from the old BSD days and are not used anymore
|
|
|
|
|
(libc5 does not actually implement the handling although the constants are
|
|
|
|
|
defined).
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
Instead GNU libc contains zone database support and compatibility code for
|
1999-01-20 11:36:34 +00:00
|
|
|
|
POSIX TZ environment variable handling. For former is very much preferred
|
|
|
|
|
(see ?tzdb).
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
?? The prototypes for `connect', `accept', `getsockopt',
|
|
|
|
|
`setsockopt', `getsockname', `getpeername', `send',
|
|
|
|
|
`sendto', and `recvfrom' are different in GNU libc from
|
|
|
|
|
any other system I saw. This is a bug, isn't it?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} No, this is no bug. This version of GNU libc already follows the new
|
|
|
|
|
Single Unix specifications (and I think the POSIX.1g draft which adopted the
|
|
|
|
|
solution). The type for a parameter describing a size is now `socklen_t', a
|
|
|
|
|
new type.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
??kerhdr On Linux I've got problems with the declarations in Linux
|
|
|
|
|
kernel headers.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD,AJ} On Linux, the use of kernel headers is reduced to the minimum. This
|
|
|
|
|
gives Linus the ability to change the headers more freely. Also, user
|
Update.
1998-07-20 17:09 Ulrich Drepper <drepper@cygnus.com>
* shlib-versions: Remove definition for libSegFault.
* memory.texi: Comment out the relocating allocator description.
* manual/signal.texi: Remove reference to relocating allocator.
* manual/top-menu.texi: Regenerated.
* posix/fnmatch.c: Implement [: :] and change to recognize
^ as negation only when not _POSIXLY_CORRECT.
* sysdeps/generic/glob.c: Add several optimizations.
* posix/glob.h: Undefine __PMT to prevent warnings.
Reported by Roland McGrath.
* posix/regex.c: Define namespace macros only for _LIBC.
* sysdeps/arm/dl-machine.h: Fix typo.
* sysdeps/unix/sysv/sysv4/solaris2/sigpending.c: New file.
* sysdeps/unix/sysv/sysv4/solaris2/sigstack.c: New file.
* sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c: New file.
* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: Add sigaltstack,
sigpending, sigqueue, and sigtimedwait.
* sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S: New file.
* timezone/leapseconds: Update from tzdata1998f.
1998-07-18 Mark Kettenis <kettenis@phys.uva.nl>
* stdio/stdio.h [__USE_GNU]: Add prototype for fputs_unlocked.
* stdio/Versions [GLIBC_2.1]: Add fputs_unlocked.
* libio/stdio.h: Fix typo.
1998-07-19 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): #if 0 out the
magic memobj port arg parsing stuff. Fix it someday when we are ready
to really use it.
(_dl_sysdep_output): New function, modified from _dl_sysdep_error.
(_dl_sysdep_error, _dl_sysdep_message, _dl_sysdep_fatal): Removed.
1998-07-19 Roland McGrath <roland@baalperazim.frob.com>
* stdio/fputs.c: Add fputs_unlocked as weak alias for fputs.
1998-07-19 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/posix/sigsuspend.c: Define __sigsuspend with sigsuspend as
a weak alias.
* sysdeps/mach/hurd/sigsuspend.c: Likewise.
* sysdeps/generic/sigsuspend.c: Likewise.
1998-07-19 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/i386/sigcontextinfo.h: New file.
1998-07-19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (map-file): Don't use $(wildcard) to find the
generated version script, instead look in $(version-maps).
($(common-objpfx)libc.so): Only depend on libc.map if versioning
is used.
* extra-lib.mk ($(objpfx)$(lib).so): Only depend on version script
if versioning is used. Don't use $(wildcard) to find the
generated version script, instead look in $(verson-maps).
1998-07-17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/segfault.c: Rename GET_EIP to GET_PC. Remove
unused function handle.
* sysdeps/generic/sigcontextinfo.h: Rename GET_EIP to GET_PC.
* sysdeps/unix/sysv/linux/i386/sigcontextinfo.h: Likewise.
* debug/catchsegv.sh: Fix argument processing, quoting and various
typos. Put the crash info always in the current directory. Find
program in $PATH if it contains no directory component.
* Makerules (install-lib.so-versioned,
install-lib.so-unversioned): New variables.
(install-lib-nosubdir): Depend on unversioned libs in
slibdir, not libdir.
1998-07-19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Make-dist (+tsrcs): Remove references to %-map variables and
*.map files. Add Versions in subdirs.
* Makerules (distinfo-vars): Don't write out %-map variables.
1998-07-20 13:55 Ulrich Drepper <drepper@cygnus.com>
* inet/protocols/rwhod.h: Remove definition of _PATH_RWHODIR.
Include <paths.h> instead.
* sysdeps/generic/paths.h: Define _PATH_RWHODIR.
* sysdeps/unix/sysv/linux/paths.h: Likewise.
Reported by Dale Scheetz <dwarf@polaris.net>.
1998-07-17 21:44 Ulrich Drepper <drepper@cygnus.com>
* catgets/open_catalog.c: Strictly check whether catalog file is
larger enough for the data. Reported by Andries.Brouwer@cwi.nl.
1998-07-20 17:25:48 +00:00
|
|
|
|
programs are now insulated from changes in the size of kernel data
|
1998-04-21 09:43:11 +00:00
|
|
|
|
structures.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
For example, the sigset_t type is 32 or 64 bits wide in the kernel. In
|
|
|
|
|
glibc it is 1024 bits wide. This guarantees that when the kernel gets a
|
|
|
|
|
bigger sigset_t (for POSIX.1e realtime support, say) user programs will not
|
|
|
|
|
have to be recompiled. Consult the header files for more information about
|
|
|
|
|
the changes.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
Therefore you shouldn't include Linux kernel header files directly if glibc
|
|
|
|
|
has defined a replacement. Otherwise you might get undefined results because
|
|
|
|
|
of type conflicts.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
?? I don't include any kernel headers myself but the compiler
|
|
|
|
|
still complains about redeclarations of types in the kernel
|
|
|
|
|
headers.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} The kernel headers before Linux 2.1.61 and 2.0.32 don't work correctly
|
|
|
|
|
with glibc. Compiling C programs is possible in most cases but C++ programs
|
|
|
|
|
have (due to the change of the name lookups for `struct's) problems. One
|
|
|
|
|
prominent example is `struct fd_set'.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
There might be some problems left but 2.1.61/2.0.32 fix most of the known
|
|
|
|
|
ones. See the BUGS file for other known problems.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
??signal Why don't signals interrupt system calls anymore?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{ZW} By default GNU libc uses the BSD semantics for signal(), unlike Linux
|
|
|
|
|
libc 5 which used System V semantics. This is partially for compatibility
|
|
|
|
|
with other systems and partially because the BSD semantics tend to make
|
|
|
|
|
programming with signals easier.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
There are three differences:
|
|
|
|
|
|
|
|
|
|
* BSD-style signals that occur in the middle of a system call do not
|
|
|
|
|
affect the system call; System V signals cause the system call to
|
|
|
|
|
fail and set errno to EINTR.
|
|
|
|
|
|
|
|
|
|
* BSD signal handlers remain installed once triggered. System V signal
|
|
|
|
|
handlers work only once, so one must reinstall them each time.
|
|
|
|
|
|
|
|
|
|
* A BSD signal is blocked during the execution of its handler. In other
|
|
|
|
|
words, a handler for SIGCHLD (for example) does not need to worry about
|
|
|
|
|
being interrupted by another SIGCHLD. It may, however, be interrupted
|
|
|
|
|
by other signals.
|
|
|
|
|
|
|
|
|
|
There is general consensus that for `casual' programming with signals, the
|
|
|
|
|
BSD semantics are preferable. You don't need to worry about system calls
|
|
|
|
|
returning EINTR, and you don't need to worry about the race conditions
|
|
|
|
|
associated with one-shot signal handlers.
|
|
|
|
|
|
|
|
|
|
If you are porting an old program that relies on the old semantics, you can
|
|
|
|
|
quickly fix the problem by changing signal() to sysv_signal() throughout.
|
|
|
|
|
Alternatively, define _XOPEN_SOURCE before including <signal.h>.
|
|
|
|
|
|
|
|
|
|
For new programs, the sigaction() function allows you to specify precisely
|
|
|
|
|
how you want your signals to behave. All three differences listed above are
|
|
|
|
|
individually switchable on a per-signal basis with this function.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
If all you want is for one specific signal to cause system calls to fail and
|
|
|
|
|
return EINTR (for example, to implement a timeout) you can do this with
|
1997-12-05 00:40:29 +00:00
|
|
|
|
siginterrupt().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
??string I've got errors compiling code that uses certain string
|
|
|
|
|
functions. Why?
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{AJ} glibc 2.1 has special string functions that are faster than the normal
|
1998-06-29 12:44:22 +00:00
|
|
|
|
library functions. Some of the functions are additionally implemented as
|
1999-01-27 10:14:01 +00:00
|
|
|
|
inline functions and others as macros. This might lead to problems with
|
|
|
|
|
existing codes but it is explicitly allowed by ISO C.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
The optimized string functions are only used when compiling with
|
1998-06-29 12:44:22 +00:00
|
|
|
|
optimizations (-O1 or higher). The behavior can be changed with two feature
|
1998-04-21 09:43:11 +00:00
|
|
|
|
macros:
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
* __NO_STRING_INLINES: Don't do any string optimizations.
|
|
|
|
|
* __USE_STRING_INLINES: Use assembly language inline functions (might
|
|
|
|
|
increase code size dramatically).
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
Since some of these string functions are now additionally defined as macros,
|
|
|
|
|
code like "char *strncpy();" doesn't work anymore (and is unnecessary, since
|
1998-06-29 12:44:22 +00:00
|
|
|
|
<string.h> has the necessary declarations). Either change your code or
|
1998-04-21 09:43:11 +00:00
|
|
|
|
define __NO_STRING_INLINES.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} Another problem in this area is that gcc still has problems on machines
|
|
|
|
|
with very few registers (e.g., ix86). The inline assembler code can require
|
|
|
|
|
almost all the registers and the register allocator cannot always handle
|
|
|
|
|
this situation.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
One can disable the string optimizations selectively. Instead of writing
|
|
|
|
|
|
|
|
|
|
cp = strcpy (foo, "lkj");
|
|
|
|
|
|
|
|
|
|
one can write
|
|
|
|
|
|
|
|
|
|
cp = (strcpy) (foo, "lkj");
|
|
|
|
|
|
|
|
|
|
This disables the optimization for that specific call.
|
|
|
|
|
|
1998-01-30 12:53:20 +00:00
|
|
|
|
?? I get compiler messages "Initializer element not constant" with
|
|
|
|
|
stdin/stdout/stderr. Why?
|
|
|
|
|
|
|
|
|
|
{RM,AJ} Constructs like:
|
1999-05-15 23:31:55 +00:00
|
|
|
|
static FILE *InPtr = stdin;
|
1998-01-30 12:53:20 +00:00
|
|
|
|
|
1998-06-29 12:44:22 +00:00
|
|
|
|
lead to this message. This is correct behaviour with glibc since stdin is
|
|
|
|
|
not a constant expression. Please note that a strict reading of ISO C does
|
1998-04-21 09:43:11 +00:00
|
|
|
|
not allow above constructs.
|
1998-01-30 12:53:20 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
One of the advantages of this is that you can assign to stdin, stdout, and
|
|
|
|
|
stderr just like any other global variable (e.g. `stdout = my_stream;'),
|
|
|
|
|
which can be very useful with custom streams that you can write with libio
|
1998-06-29 12:44:22 +00:00
|
|
|
|
(but beware this is not necessarily portable). The reason to implement it
|
1998-04-21 09:43:11 +00:00
|
|
|
|
this way were versioning problems with the size of the FILE structure.
|
1998-01-30 12:53:20 +00:00
|
|
|
|
|
1998-06-29 12:44:22 +00:00
|
|
|
|
To fix those programs you've got to initialize the variable at run time.
|
|
|
|
|
This can be done, e.g. in main, like:
|
|
|
|
|
|
1999-05-15 23:31:55 +00:00
|
|
|
|
static FILE *InPtr;
|
|
|
|
|
int main(void)
|
|
|
|
|
{
|
|
|
|
|
InPtr = stdin;
|
|
|
|
|
}
|
1998-06-29 12:44:22 +00:00
|
|
|
|
|
|
|
|
|
or by constructors (beware this is gcc specific):
|
|
|
|
|
|
1999-05-15 23:31:55 +00:00
|
|
|
|
static FILE *InPtr;
|
|
|
|
|
static void inPtr_construct (void) __attribute__((constructor));
|
|
|
|
|
static void inPtr_construct (void) { InPtr = stdin; }
|
1998-06-29 12:44:22 +00:00
|
|
|
|
|
1998-01-30 12:53:20 +00:00
|
|
|
|
|
|
|
|
|
?? I can't compile with gcc -traditional (or
|
|
|
|
|
-traditional-cpp). Why?
|
|
|
|
|
|
|
|
|
|
{AJ} glibc2 does break -traditional and -traditonal-cpp - and will continue
|
1998-06-29 12:44:22 +00:00
|
|
|
|
to do so. For example constructs of the form:
|
1998-04-21 09:43:11 +00:00
|
|
|
|
|
1999-05-15 23:31:55 +00:00
|
|
|
|
enum {foo
|
|
|
|
|
#define foo foo
|
|
|
|
|
}
|
1998-04-21 09:43:11 +00:00
|
|
|
|
|
|
|
|
|
are useful for debugging purposes (you can use foo with your debugger that's
|
|
|
|
|
why we need the enum) and for compatibility (other systems use defines and
|
|
|
|
|
check with #ifdef).
|
1998-01-30 12:53:20 +00:00
|
|
|
|
|
|
|
|
|
?? I get some errors with `gcc -ansi'. Isn't glibc ANSI compatible?
|
|
|
|
|
|
|
|
|
|
{AJ} The GNU C library is compatible with the ANSI/ISO C standard. If
|
1998-04-21 09:43:11 +00:00
|
|
|
|
you're using `gcc -ansi', the glibc includes which are specified in the
|
1998-06-29 12:44:22 +00:00
|
|
|
|
standard follow the standard. The ANSI/ISO C standard defines what has to be
|
1998-04-21 09:43:11 +00:00
|
|
|
|
in the include files - and also states that nothing else should be in the
|
|
|
|
|
include files (btw. you can still enable additional standards with feature
|
|
|
|
|
flags).
|
1998-01-30 12:53:20 +00:00
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
The GNU C library is conforming to ANSI/ISO C - if and only if you're only
|
|
|
|
|
using the headers and library functions defined in the standard.
|
1998-01-30 12:53:20 +00:00
|
|
|
|
|
1998-03-24 10:25:31 +00:00
|
|
|
|
?? I can't access some functions anymore. nm shows that they do
|
|
|
|
|
exist but linking fails nevertheless.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{AJ} With the introduction of versioning in glibc 2.1 it is possible to
|
|
|
|
|
export only those identifiers (functions, variables) that are really needed
|
|
|
|
|
by application programs and by other parts of glibc. This way a lot of
|
|
|
|
|
internal interfaces are now hidden. nm will still show those identifiers
|
|
|
|
|
but marking them as internal. ISO C states that identifiers beginning with
|
|
|
|
|
an underscore are internal to the libc. An application program normally
|
|
|
|
|
shouldn't use those internal interfaces (there are exceptions,
|
|
|
|
|
e.g. __ivaliduser). If a program uses these interfaces, it's broken. These
|
|
|
|
|
internal interfaces might change between glibc releases or dropped
|
|
|
|
|
completely.
|
1998-03-24 10:25:31 +00:00
|
|
|
|
|
1998-08-10 15:54:54 +00:00
|
|
|
|
?? When using the db-2 library which comes with glibc is used in
|
|
|
|
|
the Perl db modules the testsuite is not passed. This did not
|
|
|
|
|
happen with db-1, gdbm, or ndbm.
|
|
|
|
|
|
1999-04-10 09:38:42 +00:00
|
|
|
|
{MK} Db-2 does not support zero-sized keys. The Perl testsuite
|
|
|
|
|
tests the support for zero-sized keys and therefore fails when db-2 is
|
|
|
|
|
used. The Perl folks are looking for a solution, but thus far have
|
|
|
|
|
not found a satisfactory one.
|
1998-08-10 15:54:54 +00:00
|
|
|
|
|
1998-08-21 17:22:56 +00:00
|
|
|
|
?? The pow() inline function I get when including <math.h> is broken.
|
|
|
|
|
I get segmentation faults when I run the program.
|
|
|
|
|
|
|
|
|
|
{UD} Nope, the implementation is correct. The problem is with egcs version
|
|
|
|
|
prior to 1.1. I.e., egcs 1.0 to 1.0.3 are all broken (at least on Intel).
|
|
|
|
|
If you have to use this compiler you must define __NO_MATH_INLINES before
|
|
|
|
|
including <math.h> to prevent the inline functions from being used. egcs 1.1
|
|
|
|
|
fixes the problem. I don't know about gcc 2.8 and 2.8.1.
|
|
|
|
|
|
1998-11-08 10:40:28 +00:00
|
|
|
|
?? The sys/sem.h file lacks the definition of `union semun'.
|
|
|
|
|
|
|
|
|
|
{UD} Nope. This union has to be provided by the user program. Former glibc
|
|
|
|
|
versions defined this but it was an error since it does not make much sense
|
|
|
|
|
when thinking about it. The standards describing the System V IPC functions
|
|
|
|
|
define it this way and therefore programs must be adopted.
|
|
|
|
|
|
1998-11-23 09:48:32 +00:00
|
|
|
|
?? Why has <netinet/ip_fw.h> disappeared?
|
|
|
|
|
|
|
|
|
|
{AJ} The corresponding Linux kernel data structures and constants are
|
1999-01-24 10:17:23 +00:00
|
|
|
|
totally different in Linux 2.0 and Linux 2.2. This situation has to be
|
1998-11-23 09:48:32 +00:00
|
|
|
|
taken care in user programs using the firewall structures and therefore
|
|
|
|
|
those programs (ipfw is AFAIK the only one) should deal with this problem
|
|
|
|
|
themselves.
|
|
|
|
|
|
1998-12-01 11:25:26 +00:00
|
|
|
|
?? I get floods of warnings when I use -Wconversion and include
|
|
|
|
|
<string.h> or <math.h>.
|
|
|
|
|
|
|
|
|
|
{ZW} <string.h> and <math.h> intentionally use prototypes to override
|
|
|
|
|
argument promotion. -Wconversion warns about all these. You can safely
|
|
|
|
|
ignore the warnings.
|
|
|
|
|
|
|
|
|
|
-Wconversion isn't really intended for production use, only for shakedown
|
|
|
|
|
compiles after converting an old program to standard C.
|
|
|
|
|
|
1998-03-24 10:25:31 +00:00
|
|
|
|
|
1999-02-11 12:11:01 +00:00
|
|
|
|
?? After upgrading to glibc 2.1, I receive errors about
|
|
|
|
|
unresolved symbols, like `_dl_initial_searchlist' and can not
|
|
|
|
|
execute any binaries. What went wrong?
|
|
|
|
|
|
|
|
|
|
{AJ} This normally happens if your libc and ld (dynamic linker) are from
|
|
|
|
|
different releases of glibc. For example, the dynamic linker
|
|
|
|
|
/lib/ld-linux.so.2 comes from glibc 2.0.x, but the version of libc.so.6 is
|
|
|
|
|
from glibc 2.1.
|
|
|
|
|
|
|
|
|
|
The path /lib/ld-linux.so.2 is hardcoded in every glibc2 binary but
|
|
|
|
|
libc.so.6 is searched via /etc/ld.so.cache and in some special directories
|
|
|
|
|
like /lib and /usr/lib. If you run configure with another prefix than /usr
|
|
|
|
|
and put this prefix before /lib in /etc/ld.so.conf, your system will break.
|
|
|
|
|
|
|
|
|
|
So what can you do? Either of the following should work:
|
|
|
|
|
|
|
|
|
|
* Run `configure' with the same prefix argument you've used for glibc 2.0.x
|
|
|
|
|
so that the same paths are used.
|
|
|
|
|
* Replace /lib/ld-linux.so.2 with a link to the dynamic linker from glibc
|
|
|
|
|
2.1.
|
|
|
|
|
|
|
|
|
|
You can even call the dynamic linker by hand if everything fails. You've
|
|
|
|
|
got to set LD_LIBRARY_PATH so that the corresponding libc is found and also
|
|
|
|
|
need to provide an absolute path to your binary:
|
|
|
|
|
|
|
|
|
|
LD_LIBRARY_PATH=<path-where-libc.so.6-lives> \
|
|
|
|
|
<path-where-corresponding-dynamic-linker-lives>/ld-linux.so.2 \
|
|
|
|
|
<path-to-binary>/binary
|
|
|
|
|
|
|
|
|
|
For example `LD_LIBRARY_PATH=/libold /libold/ld-linux.so.2 /bin/mv ...'
|
|
|
|
|
might be useful in fixing a broken system (if /libold contains dynamic
|
|
|
|
|
linker and corresponding libc).
|
|
|
|
|
|
|
|
|
|
With that command line no path is used. To further debug problems with the
|
|
|
|
|
dynamic linker, use the LD_DEBUG environment variable, e.g.
|
|
|
|
|
`LD_DEBUG=help echo' for the help text.
|
|
|
|
|
|
|
|
|
|
If you just want to test this release, don't put the lib directory in
|
|
|
|
|
/etc/ld.so.conf. You can call programs directly with full paths (as above).
|
|
|
|
|
When compiling new programs against glibc 2.1, you've got to specify the
|
|
|
|
|
correct paths to the compiler (option -I with gcc) and linker (options
|
|
|
|
|
--dynamic-linker, -L and --rpath).
|
|
|
|
|
|
1999-03-08 11:05:57 +00:00
|
|
|
|
?? bonnie reports that char i/o with glibc 2 is much slower than with
|
1999-03-01 07:21:39 +00:00
|
|
|
|
libc5. What can be done?
|
|
|
|
|
|
|
|
|
|
{AJ} The GNU C library uses thread safe functions by default and libc5 used
|
|
|
|
|
non thread safe versions. The non thread safe functions have in glibc the
|
|
|
|
|
suffix `_unlocked', for details check <stdio.h>. Using `putc_unlocked' etc.
|
|
|
|
|
instead of `putc' should give nearly the same speed with bonnie (bonnie is a
|
|
|
|
|
benchmark program for measuring disk access).
|
|
|
|
|
|
1999-03-08 11:57:06 +00:00
|
|
|
|
?? Programs compiled with glibc 2.1 can't read db files made with glibc
|
|
|
|
|
2.0. What has changed that programs like rpm break?
|
|
|
|
|
|
|
|
|
|
{AJ} The GNU C library 2.1 uses db2 instead of db1 which was used in version
|
|
|
|
|
2.0. The internal formats of the actual db files are different. To convert
|
|
|
|
|
the db files from db1 format to db2 format, you can use the programs
|
2000-02-22 08:32:06 +00:00
|
|
|
|
`db_dump185' and `db_load'. Alternatively programs can be linked with db1
|
1999-03-08 11:57:06 +00:00
|
|
|
|
using `-ldb1' instead of linking with db2 which uses `-ldb'. Linking with
|
|
|
|
|
db1 might be preferable if older programs need to access the db file.
|
|
|
|
|
|
|
|
|
|
db2 supports the old db1 programming interface and also a new programming
|
|
|
|
|
interface. For compilation with the old API, <db_185.h> has to be included
|
|
|
|
|
(and not <db.h>) and you can link with either `-ldb1' or `-ldb' for either
|
|
|
|
|
of the db formats.
|
|
|
|
|
|
1999-04-29 18:20:05 +00:00
|
|
|
|
?? Autoconf's AC_CHECK_FUNC macro reports that a function exists, but
|
|
|
|
|
when I try to use it, it always returns -1 and sets errno to ENOSYS.
|
|
|
|
|
|
|
|
|
|
{ZW} You are using a 2.0 Linux kernel, and the function you are trying to
|
|
|
|
|
use is only implemented in 2.1/2.2. Libc considers this to be a function
|
|
|
|
|
which exists, because if you upgrade to a 2.2 kernel, it will work. One
|
|
|
|
|
such function is sigaltstack.
|
|
|
|
|
|
|
|
|
|
Your program should check at runtime whether the function works, and
|
|
|
|
|
implement a fallback. Note that Autoconf cannot detect unimplemented
|
|
|
|
|
functions in other systems' C libraries, so you need to do this anyway.
|
|
|
|
|
|
1999-05-04 12:24:18 +00:00
|
|
|
|
?? My program segfaults when I call fclose() on the FILE* returned
|
|
|
|
|
from setmntent(). Is this a glibc bug?
|
|
|
|
|
|
|
|
|
|
{GK} No. Don't do this. Use endmntent(), that's what it's for.
|
|
|
|
|
|
|
|
|
|
In general, you should use the correct deallocation routine. For instance,
|
|
|
|
|
if you open a file using fopen(), you should deallocate the FILE * using
|
|
|
|
|
fclose(), not free(), even though the FILE * is also a pointer.
|
|
|
|
|
|
|
|
|
|
In the case of setmntent(), it may appear to work in most cases, but it
|
|
|
|
|
won't always work. Unfortunately, for compatibility reasons, we can't
|
|
|
|
|
change the return type of setmntent() to something other than FILE *.
|
|
|
|
|
|
1999-02-11 12:11:01 +00:00
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
? Miscellaneous
|
|
|
|
|
|
|
|
|
|
?? After I changed configure.in I get `Autoconf version X.Y.
|
|
|
|
|
or higher is required for this script'. What can I do?
|
|
|
|
|
|
|
|
|
|
{UD} You have to get the specified autoconf version (or a later one)
|
1998-03-04 17:14:36 +00:00
|
|
|
|
from your favorite mirror of ftp.gnu.org.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
?? When I try to compile code which uses IPv6 headers and
|
|
|
|
|
definitions on my Linux 2.x.y system I am in trouble.
|
|
|
|
|
Nothing seems to work.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} The problem is that IPv6 development still has not reached a point
|
|
|
|
|
where the headers are stable. There are still lots of incompatible changes
|
|
|
|
|
made and the libc headers have to follow.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1998-11-26 12:02:23 +00:00
|
|
|
|
{PB} The 2.1 release of GNU libc aims to comply with the current versions of
|
|
|
|
|
all the relevant standards. The IPv6 support libraries for older Linux
|
|
|
|
|
systems used a different naming convention and so code written to work with
|
|
|
|
|
them may need to be modified. If the standards make incompatible changes in
|
|
|
|
|
the future then the libc may need to change again.
|
|
|
|
|
|
|
|
|
|
IPv6 will not work with a 2.0.x kernel. When kernel 2.2 is released it
|
|
|
|
|
should contain all the necessary support; until then you should use the
|
1998-11-30 13:48:15 +00:00
|
|
|
|
latest 2.1.x release you can find. As of 98/11/26 the currently recommended
|
1998-11-26 12:02:23 +00:00
|
|
|
|
kernel for IPv6 is 2.1.129.
|
|
|
|
|
|
|
|
|
|
Also, as of the 2.1 release the IPv6 API provided by GNU libc is not
|
|
|
|
|
100% complete. In particular the getipnodebyname and getipnodebyaddr
|
|
|
|
|
functions are not implemented.
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
1999-01-20 11:36:34 +00:00
|
|
|
|
??tzdb When I set the timezone by setting the TZ environment variable
|
1998-04-09 10:14:17 +00:00
|
|
|
|
to EST5EDT things go wrong since glibc computes the wrong time
|
|
|
|
|
from this information.
|
|
|
|
|
|
1998-04-21 09:43:11 +00:00
|
|
|
|
{UD} The problem is that people still use the braindamaged POSIX method to
|
|
|
|
|
select the timezone using the TZ environment variable with a format EST5EDT
|
1999-01-20 11:36:34 +00:00
|
|
|
|
or whatever. People, if you insist on using TZ instead of the timezone
|
|
|
|
|
database (see below), read the POSIX standard, the implemented behaviour is
|
1998-04-21 09:43:11 +00:00
|
|
|
|
correct! What you see is in fact the result of the decisions made while
|
|
|
|
|
POSIX.1 was created. We've only implemented the handling of TZ this way to
|
|
|
|
|
be POSIX compliant. It is not really meant to be used.
|
|
|
|
|
|
|
|
|
|
The alternative approach to handle timezones which is implemented is the
|
|
|
|
|
correct one to use: use the timezone database. This avoids all the problems
|
|
|
|
|
the POSIX method has plus it is much easier to use. Simply run the tzselect
|
|
|
|
|
shell script, answer the question and use the name printed in the end by
|
1999-01-20 11:36:34 +00:00
|
|
|
|
making a symlink /etc/localtime pointing to /usr/share/zoneinfo/NAME (NAME
|
|
|
|
|
is the returned value from tzselect). That's all. You never again have to
|
|
|
|
|
worry.
|
1998-04-21 09:43:11 +00:00
|
|
|
|
|
|
|
|
|
So, please avoid sending bug reports about time related problems if you use
|
|
|
|
|
the POSIX method and you have not verified something is really broken by
|
|
|
|
|
reading the POSIX standards.
|
1998-04-09 10:14:17 +00:00
|
|
|
|
|
1998-06-29 12:44:22 +00:00
|
|
|
|
?? What other sources of documentation about glibc are available?
|
|
|
|
|
|
|
|
|
|
{AJ} The FSF has a page about the GNU C library at
|
|
|
|
|
<http://www.gnu.org/software/libc/>. The problem data base of open and
|
|
|
|
|
solved bugs in GNU libc is available at
|
|
|
|
|
<http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl>. Eric Green has written
|
2000-02-22 08:32:06 +00:00
|
|
|
|
a HowTo for converting from Linux libc5 to glibc2. The HowTo is accessible
|
1998-06-29 12:44:22 +00:00
|
|
|
|
via the FSF page and at <http://www.imaxx.net/~thrytis/glibc>. Frodo
|
|
|
|
|
Looijaard describes a different way installing glibc2 as secondary libc at
|
|
|
|
|
<http://huizen.dds.nl/~frodol/glibc>.
|
|
|
|
|
|
|
|
|
|
Please note that this is not a complete list.
|
|
|
|
|
|
1998-11-30 13:48:15 +00:00
|
|
|
|
?? The timezone string for Sydney/Australia is wrong since even when
|
|
|
|
|
daylight saving time is in effect the timezone string is EST.
|
|
|
|
|
|
|
|
|
|
{UD} The problem for some timezones is that the local authorities decided
|
|
|
|
|
to use the term "summer time" instead of "daylight saving time". In this
|
|
|
|
|
case the abbreviation character `S' is the same as the standard one. So,
|
|
|
|
|
for Sydney we have
|
|
|
|
|
|
|
|
|
|
Eastern Standard Time = EST
|
|
|
|
|
Eastern Summer Time = EST
|
|
|
|
|
|
|
|
|
|
Great! To get this bug fixed convince the authorities to change the laws
|
|
|
|
|
and regulations of the country this effects. glibc behaves correctly.
|
|
|
|
|
|
1998-12-02 13:44:40 +00:00
|
|
|
|
??make I've build make 3.77 against glibc 2.1 and now make gets
|
|
|
|
|
segmentation faults.
|
|
|
|
|
|
|
|
|
|
{AJ} GNU make 3.77 has support for 64 bit filesystems which is slightly
|
|
|
|
|
broken (and one of the new features in the GNU C library 2.1 is 64 bit
|
|
|
|
|
filesystem support :-( ). To get a working make you can use either make
|
|
|
|
|
3.75 or patch 3.77. A working patch is available via RedHat's Rawhide server
|
|
|
|
|
(ftp://rawhide.redhat.com/SRPMS/SRPMS/make-3.77-*src.rpm).
|
|
|
|
|
|
1999-12-21 08:07:47 +00:00
|
|
|
|
?? Why do so many programs using math functions fail on my AlphaStation?
|
|
|
|
|
|
|
|
|
|
{AO} The functions floor() and floorf() use an instruction that is not
|
|
|
|
|
implemented in some old PALcodes of AlphaStations. This may cause
|
|
|
|
|
`Illegal Instruction' core dumps or endless loops in programs that
|
|
|
|
|
catch these signals. Updating the firmware to a 1999 release has
|
|
|
|
|
fixed the problem on an AlphaStation 200 4/166.
|
|
|
|
|
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
Answers were given by:
|
|
|
|
|
{UD} Ulrich Drepper, <drepper@cygnus.com>
|
|
|
|
|
{DMT} David Mosberger-Tang, <davidm@AZStarNet.com>
|
|
|
|
|
{RM} Roland McGrath, <roland@gnu.org>
|
|
|
|
|
{AJ} Andreas Jaeger, <aj@arthur.rhein-neckar.de>
|
|
|
|
|
{EY} Eric Youngdale, <eric@andante.jic.com>
|
|
|
|
|
{PB} Phil Blundell, <Philip.Blundell@pobox.com>
|
|
|
|
|
{MK} Mark Kettenis, <kettenis@phys.uva.nl>
|
|
|
|
|
{ZW} Zack Weinberg, <zack@rabi.phys.columbia.edu>
|
1999-04-08 02:10:39 +00:00
|
|
|
|
{TK} Thorsten Kukuk, <kukuk@suse.de>
|
Update.
1998-04-20 18:00 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add __dgettext to GLIBC_2.0 and __libc_longjmp, and
__libc_siglongjmp to GLIBC_2.1.
* elf/dl-minimal.c (__assert_perror_fail): Don't use strerror, use
__strerror_r.
* iconv/Makefile: Don't run tests now.
* iconv/iconv_prog.c (process_block): If loop is repeated, call iconv
with correct output buffer.
Major rewrite of the low-level gconv functionality.
* iconv/gconv.c: Rewritten.
* iconv/gconv.h: Likewise.
* iconv/gconv_builtin.c: Likewise.
* iconv/gconv_builtin.h: Likewise.
* iconv/gconv_conf.c: Likewise.
* iconv/gconv_int.h: Likewise.
* iconv/gconv_open.c: Likewise.
* iconv/gconv_simple.c: Likewise.
* iconv/iconv.c: Likewise.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/Makefile: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/cns11643.c: Likewise.
* iconvdata/cns11643.h: Likewise.
* iconvdata/cns11643l1.c: Likewise.
* iconvdata/cns11643l1.h: Likewise.
* iconvdata/ebcdic-at-de-a.c: Likewise.
* iconvdata/ebcdic-at-de.c: Likewise.
* iconvdata/ebcdic-ca-fr.c: Likewise.
* iconvdata/euccn.c: Likewise.
* iconvdata/eucjp.c: Likewise.
* iconvdata/euckr.c: Likewise.
* iconvdata/euctw.c: Likewise.
* iconvdata/gb2312.c: Likewise.
* iconvdata/gb2312.h: Likewise.
* iconvdata/hp-roman8.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso6937.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso8859-10.c: Likewise.
* iconvdata/iso8859-2.c: Likewise.
* iconvdata/iso8859-3.c: Likewise.
* iconvdata/iso8859-4.c: Likewise.
* iconvdata/iso8859-5.c: Likewise.
* iconvdata/iso8859-6.c: Likewise.
* iconvdata/iso8859-7.c: Likewise.
* iconvdata/iso8859-8.c: Likewise.
* iconvdata/iso8859-9.c: Likewise.
* iconvdata/jis0201.c: Likewise.
* iconvdata/jis0201.h: Likewise.
* iconvdata/jis0208.c: Likewise.
* iconvdata/jis0208.h: Likewise.
* iconvdata/jis0212.c: Likewise.
* iconvdata/jis0212.h: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/koi-8.c: Likewise.
* iconvdata/koi8-r.c: Likewise.
* iconvdata/ksc5601.c: Likewise.
* iconvdata/ksc5601.h: Likewise.
* iconvdata/latin-greek-1.c: Likewise.
* iconvdata/latin-greek.c: Likewise.
* iconvdata/run-iconv-test.sh: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* iconv/loop.c: New file.
* iconv/skeleton.c: New file.
* stdlib/mblen.c: Handle empty input string correctly.
* stdlib/mbtowc.c: Likewise.
* posix/getopt.c: Various cleanups.
* sysdeps/arm/bits/setjmp.h: Add copyright text.
* sysdeps/i386/bits/setjmp.h: Likewise.
* sysdeps/m68k/bits/setjmp.h: Likewise.
* sysdeps/powerpc/bits/setjmp.h: Likewise.
* sysdeps/sparc/sparc32/bits/setjmp.h: Likewise.
* sysdeps/generic/longjmp.c: Rename function to __libc_siglongjmp
and make longjmp weak alias.
1998-04-18 20:29 Philip Blundell <Philip.Blundell@pobox.com>
* iconv/Makefile (routines): Only include gconv_dl if building for
an ELF system - dynamic linking is not available on a.out.
(CFLAGS-gconv_conf.c): Define STATIC_GCONV if omitting gconv_dl
due to above check.
* iconv/gconv_db.c: If STATIC_GCONV defined, don't try to call
routines from gconv_dl.
1998-04-17 Gordon Matzigkeit <gord@profitpress.com>
* csu/init.c (_IO_stdin_used): Protect with USE_IN_LIBIO so that
we can compile without libio.
1998-04-20 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/mach/hurd/Subdirs: Remove login.
1998-04-11 Gordon Matzigkeit <gord@profitpress.com>
* db2/compat.h: Include <errno.h>, to make sure we get the
definition of EFTYPE before we define it ourselves.
1998-04-10 Gordon Matzigkeit <gord@profitpress.com>
* sysdeps/generic/bits/socket.h: Protect against multiple inclusion.
* sysdeps/mach/hurd/bits/ioctls.h: Likewise.
Fix typo to allow inclusion from sys/ioctl.h again.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* iconvdata/*.[ch]: Clean up namespace. Optimize character lookup.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc.map: Export __strerror_r. Remove _strerror_internal.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/strcasestr.c: Undefine strcasestr, not strstr.
Also undefine __strcasestr.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/regex.c: Rename __re_max_failures back to re_max_failures,
aliases do not work with global variables due to copy relocations.
1998-04-20 15:12 Ulrich Drepper <drepper@cygnus.com>
* manual/creature.texi: Fix type. Patch by Andreas Schwab.
1998-04-20 13:47 Ulrich Drepper <drepper@cygnus.com>
* signal/sighold.c: Include stddef.h for NULL definition.
* signal/sigrelse.c: Likewise.
* sysdeps/posix/sigignore.c: Likewise.
* sysdeps/posix/sigset.c: Likewise.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigsuspend.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* wcsmbs/mbsrtowcs.c: Include stdlib.h for MB_CUR_MAX.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
1998-04-13 Mark Kettenis <kettenis@phys.uva.nl>
* login/Makefile (headers): Remove utmpx.h and bits/utmpx.h.
* login/getutent.c (getutxent): Remove alias.
* login/getutent_r.c (setutxent, pututxline, endutxent):
Remove aliases.
* login/getutid.c (getutxid): Remove alias.
* login/getutline.c (getutxline): Remove alias.
* login/utmp.h: Add prototypes for __updwtmp, __getutent,
__getutid, __getutline and __pututline.
* login/utmpx.h: Moved to ...
* sysdeps/gnu/utmpx.h: ... here. [__USE_GNU]: Define UTMPX_FILE,
UTMPX_FILENAME, WTMPX_FILE and WTMPX_FILENAME, declare utmpxname
and updwtmpx.
* login/updwtmp.c: Moved to ...
* sysdeps/generic/updwtmp.c: ... here. (updwtmp): Generalized by
allowing file name transformation.
* sysdeps/gnu/updwtmp.c: New file. Use generic implementation with
additional file name transformation.
* sysdeps/unix/sysv/linux/updwtmp.c: Likewise.
* login/utmp_file.c: Moved to ...
* sysdeps/generic/utmp_file.c: ... here. (setutent_file):
Generalized by allowing file name transformation. Do not
print error message. Library functions should not print them.
Reported by Jim Meyering.
* sysdeps/gnu/utmp_file.c: New file. Use generic implementation
with additional file name transformation.
* sysdeps/unix/sysv/linux/utmp_file.c: Likewise.
* sysdeps/gnu/Makefile [$(subdir)=login] (sysdep_routines): Add
setutxent, getutxent, endutxent, getutxid, getutxid, getutxline,
pututxline, utmpxname and updwtmpx. (sysdep_headers): Add utmpx.h
and bits/utmpx.h.
* sysdeps/gnu/bits/utmpx.h [__USE_GNU] Include paths.h.
(_PATH_UTMPX): Define to _PATH_UTMP. (_PATH_WTMPX): Define to
_PATH_WTMPX. (RUN_LVL): Define only if __USE_GNU. (ACCOUNTING):
Define if __USE_GNU.
* sysdeps/gnu/setutxent.c: New file.
* sysdeps/gnu/getutxent.c: New file.
* sysdeps/gnu/endutxent.c: New file.
* sysdeps/gnu/getutxid.c: New file.
* sysdeps/gnu/getutxline.c: New file.
* sysdeps/gnu/pututxline.c: New file.
* sysdeps/gnu/utmpxname.c: New file.
* sysdeps/gnu/updwtmpx.c: New file.
* sysdeps/unix/sysv/linux/paths.h (_PATH_UTMP_DB): Remove.
* sysdeps/generic/bits/utmpx.h: Remove.
1998-04-20 Ulrich Drepper <drepper@cygnus.com>
* posix/wordexp-test.c (main): Initialize ifs element of ts for
~root test.
1998-04-17 07:53 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/i386/s_pread64.S: Fix a typo.
1998-04-17 11:32 Ulrich Drepper <drepper@cygnus.com>
* libio/oldfileops.c (_IO_old_file_seekoff): Define temporary st
variable using _G_stat64.
* libio/fileops.c: Remove macro definition of fstat, it is in the
global header.
Reported by Thorsten Kukuk <kukuk@weber.uni-paderborn.de>.
1998-04-17 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/strlen.S: New file, based on code by Matthew Wilcox
<willy@odie.barnet.ac.uk>.
1998-04-16 Philip Blundell <Philip.Blundell@pobox.com>
* inet/netinet/in.h (IN6_IS_ADDR_MC_NODELOCAL): New macro,
required by IPv6 Basic API.
(IN6_IS_ADDR_MC_LINKLOCAL): Likewise.
(IN6_IS_ADDR_MC_SITELOCAL): Likewise.
(IN6_IS_ADDR_MC_ORGLOCAL): Likewise.
(IN6_IS_ADDR_MC_GLOBAL): Likewise.
1998-04-20 18:41:05 +00:00
|
|
|
|
{GK} Geoffrey Keating, <geoffk@ozemail.com.au>
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
|
{HJ} H.J. Lu, <hjl@gnu.org>
|
1999-01-20 16:12:52 +00:00
|
|
|
|
{CG} Cristian Gafton, <gafton@redhat.com>
|
1999-12-21 08:07:47 +00:00
|
|
|
|
{AO} Alexandre Oliva, <oliva@lsd.ic.unicamp.br>
|
1997-12-05 00:40:29 +00:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode:outline
|
|
|
|
|
outline-regexp:"\\?"
|
1998-04-21 09:43:11 +00:00
|
|
|
|
fill-column:76
|
1997-12-05 00:40:29 +00:00
|
|
|
|
End:
|