-1999-02-10 Ulrich Drepper <drepper@cygnus.com>
-
- * sysdeps/unix/sysv/linux/kernel_stat.h: Define _NO_LFS___PAD1.
- * sysdeps/unix/sysv/linux/xstatconv.c (xstat64_conv): Don't initialize
- __pad1 if _NO_LFS___PAD1 is defined.
- * sysdeps/unix/sysv/linux/bits/stat.h: Remove __pad1 from stat64
- definition.
- * sysdeps/unix/sysv/linux/bits/types.h: Change __ino64_t to 64 bits.
- * sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
-
1999-02-09 Ulrich Drepper <drepper@cygnus.com>
* po/el.po: Update from translation team.
compiles after converting an old program to standard C.
+?? 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).
+
+
? Miscellaneous
?? After I changed configure.in I get `Autoconf version X.Y.
-/* Copyright (C) 1992, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
struct stat
{
__dev_t st_dev; /* Device. */
-#ifndef __USE_FILE_OFFSET64
unsigned short int __pad1;
+#ifndef __USE_FILE_OFFSET64
__ino_t st_ino; /* File serial number. */
#else
__ino64_t st_ino; /* File serial number. */
struct stat64
{
__dev_t st_dev; /* Device. */
+ unsigned short int __pad1;
+
__ino64_t st_ino; /* File serial number. */
__mode_t st_mode; /* File mode. */
__nlink_t st_nlink; /* Link count. */
-/* Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
typedef __u_quad_t __fsfilcnt64_t;
/* Type of file serial numbers. */
-typedef __u_quad_t __ino64_t;
+typedef __u_long __ino64_t;
/* Type of file sizes and offsets. */
typedef __loff_t __off64_t;
unsigned short int st_dev;
unsigned short int __pad1;
#define _HAVE___PAD1
-#define _NO_LFS___PAD1
unsigned long int st_ino;
unsigned short int st_mode;
unsigned short int st_nlink;
-/* Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
typedef __u_quad_t __fsfilcnt64_t;
/* Type of file serial numbers. */
-typedef __u_quad_t __ino64_t;
+typedef __u_long __ino64_t;
/* Type of file sizes and offsets. */
typedef __loff_t __off64_t;
/* Convert between the kernel's `struct stat' format, and libc's.
- Copyright (C) 1991, 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
/* Convert to current kernel version of `struct stat64'. */
buf->st_dev = kbuf->st_dev;
-#if defined _HAVE___PAD1 && !defined _NO_LFS___PAD1
+#ifdef _HAVE___PAD1
buf->__pad1 = 0;
#endif
buf->st_ino = kbuf->st_ino;