Commit d279f6f4 authored by nobody's avatar nobody

This commit was manufactured by cvs2svn to create tag

'glibc22-final'.

svn path=/tags/glibc22-final/; revision=33
parent 2c775c2a
glibc (2.2.5-13) unstable; urgency=low glibc (2.2.5-15) unstable; urgency=low
* GOTO Masanori <gotom@debian.or.jp>
- debian/patches/glibc-cvs.dpatch: Update from Glibc CVS.
- debian/patches: Dropped applying below patches due to updating
glibc-cvs.dpatch.
hurd-update, hurd-ioperms, ia64-strncpy, sparc-misc, resolv-nss_dns,
glibc-openoffice-fixes, xdr-array-security, hurd-lfs64,
syserrlist, mathpatch
- Fix gcc 3.1/3.2 compatibility building for glibc on ppc, with upstream
patched by Jack Howarth <howarth@bromo.msbb.uc.edu> and
Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
Closes: #155606
-- GOTO Masanori <gotom@debian.or.jp> Sat, 17 Aug 2002 11:44:47 +0900
glibc (2.2.5-14) unstable; urgency=low
* GOTO Masanori <gotom@debian.or.jp>
- debian/patches/sh-sysdep.dpatch: Added the patch to compile for sh[34]
sh[34]eb. Closes: #156273
- debian/patches/glibc22-m68k-compat.dpatch: Newer m68k debian specific
compatibility patch. Patched by Michael Fedrowitz <michaelf@debian.org>.
- debian/patches/malloc-security.dpatch: Applied malloc security patch
Patched by Wolfram Gloger <wg@malloc.de>.
- debian/patches/alpha-build-failure.dpatch: Fix alpha build failure.
-- GOTO Masanori <gotom@debian.or.jp> Wed, 7 Aug 2002 20:56:54 +0900
* Last maintainer upload for me. glibc (2.2.5-13) unstable; urgency=low
* Fix double getent listing for build of libc package.
* Set maintainer to the debian-glibc mailing list. Set uploaders to myself
and others.
-- Ben Collins <bcollins@debian.org> Thu, 25 Jul 2002 10:02:04 -0400 * Ben Collins
- Last maintainer upload for me.
- Fix double getent listing for build of libc package.
Closes: #154133, #152866
- Set maintainer to the debian-glibc mailing list. Set uploaders to myself
and others.
- Placed into CVS (this log entry is the first test commit).
- ia64 build failure was fixed in last NMU. Closes: #151956
- This sshd/libc bug is long since gone. Closes: #72596, #82468
- ldconfig search order has also since been fixed. Closes: #105249
- Add patches that OpenOffice needs in order to build. Closes: #153107
- Bump min kernel supported to 2.2.0. Closes: #149529
- Remove db1 compat library. The only user I know of this is coda. Coda
can include it's own version of the library now. I've emailed the coda
maintainer.
- Bump the shlibs ver because of the min-kernel change, and db1 removal.
- Add xdr-array.c security patch, Closes: #154992
* GOTO Masanori <gotom@debian.or.jp>
- applied patches/locale-de_CH.
- debian/control: fix my uploader address due to my obsolete gpg key.
- debian/copyright: update copyright year.
* Jeff Bailey <jbailey@debian.org>
- Add hurd-i386 patch for support LFS from CVS
- Add patch to only declare sys_errlist and sys_nerr on Linux. This
allows gcc to build cleanly on hurd-i386.
- Require mig >= 1.3-2 (hurd-i386 only), and hurd-dev >= 20020608-1
(hurd-i386 only)
- Prune hurd-ldflags from Hurd patch list. Noone is quite sure what
it's for. With this change, all hurd-i386 patches are now upstream
in CVS.
- Add 'mathpatch' to fix a math testsuite failure.
-- Ben Collins <bcollins@debian.org> Thu, 25 Jul 2002 11:13:22 -0400
glibc (2.2.5-12) unstable; urgency=low glibc (2.2.5-12) unstable; urgency=low
......
...@@ -5,7 +5,7 @@ Build-Depends: gettext (>= 0.10.37-1), make (>= 3.78-4), dpkg-dev (>= 1.4.1.5), ...@@ -5,7 +5,7 @@ Build-Depends: gettext (>= 0.10.37-1), make (>= 3.78-4), dpkg-dev (>= 1.4.1.5),
Build-Depends-Indep: perl, latex2html Build-Depends-Indep: perl, latex2html
Build-Conflicts: gcc-2.95 (<< 1:2.95.3-8) [!i386], gcc-2.95 (<< 1:2.95.3-9) [i386] Build-Conflicts: gcc-2.95 (<< 1:2.95.3-8) [!i386], gcc-2.95 (<< 1:2.95.3-9) [i386]
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Uploaders: Ben Collins <bcollins@debian.org>, GOTO Masanori <gotom@debian.org>, Philip Blundell <pb@nexus.co.uk>, Jeff Bailey <jbailey@nisa.net> Uploaders: Ben Collins <bcollins@debian.org>, GOTO Masanori <gotom@debian.or.jp>, Philip Blundell <pb@nexus.co.uk>, Jeff Bailey <jbailey@nisa.net>
Standards-Version: 3.1.1 Standards-Version: 3.1.1
Package: glibc-doc Package: glibc-doc
......
Source: @glibc@ Source: @glibc@
Section: libs Section: libs
Priority: required Priority: required
Build-Depends: gettext (>= 0.10.37-1), make (>= 3.78-4), dpkg-dev (>= 1.4.1.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), kernel-headers-2.4 [!hurd-i386], mig [hurd-i386], hurd-dev [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-3.1 [sparc], autoconf Build-Depends: gettext (>= 0.10.37-1), make (>= 3.78-4), dpkg-dev (>= 1.4.1.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), kernel-headers-2.4 [!hurd-i386], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-3.0 [sparc], autoconf
Build-Depends-Indep: perl, latex2html Build-Depends-Indep: perl, latex2html
Build-Conflicts: gcc-2.95 (<< 1:2.95.3-8) [!i386], gcc-2.95 (<< 1:2.95.3-9) [i386] Build-Conflicts: gcc-2.95 (<< 1:2.95.3-9), kernel-headers-2.4.18-sparc [!sparc]
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Uploaders: Ben Collins <bcollins@debian.org>, GOTO Masanori <gotom@debian.org>, Philip Blundell <pb@nexus.co.uk>, Jeff Bailey <jbailey@nisa.net> Uploaders: Ben Collins <bcollins@debian.org>, GOTO Masanori <gotom@debian.or.jp>, Philip Blundell <pb@nexus.co.uk>, Jeff Bailey <jbailey@nisa.net>
Standards-Version: 3.1.1 Standards-Version: 3.1.1
Package: @glibc@-doc Package: @glibc@-doc
......
...@@ -7,7 +7,7 @@ from the following sources: ...@@ -7,7 +7,7 @@ from the following sources:
<ftp://sourceware.cygnus.com/pub/glibc/releases/glibc-2.2.x.tar.bz2> <ftp://sourceware.cygnus.com/pub/glibc/releases/glibc-2.2.x.tar.bz2>
<ftp://sourceware.cygnus.com/pub/glibc/releases/glibc-linuxthreads-2.2.x.tar.gz> <ftp://sourceware.cygnus.com/pub/glibc/releases/glibc-linuxthreads-2.2.x.tar.gz>
Copyright (C) 1991,92,93,94,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. Copyright (C) 1991,92,93,94,95,96,97,98,99,2000,2001,2002 Free Software Foundation, Inc.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
......
glibc-cvs glibc-cvs
glibc22-misc glibc22-misc
db1-addon-enabler
manual-texinfo4 manual-texinfo4
ldd ldd
glibcbug glibcbug
hurd-ldflags
fhs-linux-paths fhs-linux-paths
pthread_create-manpage pthread_create-manpage
string2-pointer-arith string2-pointer-arith
...@@ -33,9 +31,18 @@ various-lsb-fixes ...@@ -33,9 +31,18 @@ various-lsb-fixes
ia64-reloc-none ia64-reloc-none
#glibc2.2.6-nice #glibc2.2.6-nice
nscd-security-fix nscd-security-fix
hurd-update ##hurd-update
hurd-ioperms ##hurd-ioperms
ia64-strncpy ##ia64-strncpy
ia64-perf ia64-perf
sparc-misc ##sparc-misc
resolv-nss_dns ##resolv-nss_dns
##glibc-openoffice-fixes
##xdr-array-security
locales-de_CH
##hurd-lfs64
##syserrlist
##mathpatch
sh-sysdep
##malloc-security
alpha-build-failure
#! /bin/sh -e #! /bin/sh -e
# All lines beginning with `# DP:' are a description of the patch. # All lines beginning with `# DP:' are a description of the patch.
# DP: avoid linking libmachuser and libhurduser against libc # DP: Fix alpha build failure
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
...@@ -16,14 +16,29 @@ case "$1" in ...@@ -16,14 +16,29 @@ case "$1" in
esac esac
exit 0 exit 0
--- sysdeps/mach/hurd/Makefile Tue Dec 22 19:15:49 1998 # append the patch here and adjust the -p? flag in the patch calls.
+++ sysdeps/mach/hurd/Makefile Sun Dec 20 12:08:05 1998 --- sysdeps/alpha/divrem.h 6 Jul 2001 04:55:45 -0000 1.8
@@ -116,6 +116,8 @@ +++ sysdeps/alpha/divrem.h 15 Jun 2002 20:53:37 -0000 1.9
$(common-objpfx)hurd/libhurduser.so @@ -1,4 +1,4 @@
$(common-objpfx)libc.so: $(rpcuserlibs) -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
rpath-dirs += mach hurd +/* Copyright (C) 1996,97,2002 Free Software Foundation, Inc.
+LDFLAGS-machuser.so = -nostdlib -nostartfiles Contributed by David Mosberger (davidm@cs.arizona.edu).
+LDFLAGS-hurduser.so = -nostdlib -nostartfiles This file is part of the GNU C Library.
# And get them into the libc.so ldscript. @@ -86,6 +86,7 @@
$(inst_libdir)/libc.so: $(rpcuserlibs)
.align 3
UFUNC_NAME:
+$udiv_entry:
lda sp, -STACK(sp)
.frame sp, STACK, retaddr, 0
#ifdef PROF
@@ -206,7 +207,7 @@
cmovge AT, AT, arg2
/* Do the unsigned division. */
- bsr retaddr, UFUNC_NAME
+ bsr retaddr, $udiv_entry
/* Restore originals and adjust the sign of the result. */
ldq arg1, 0(sp)
This diff is collapsed.
#! /bin/sh -e
# DP: Some fixes that allow openoffice to build correctly.
if [ $# -ne 2 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;;
-unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
This fixes the missing sqrtl entry in libm on powerpc.
2002-05-10 Andreas Schwab <schwab@suse.de>;
* sysdeps/powerpc/fpu/w_sqrt.c: Add sqrtl alias.
Index: sysdeps/powerpc/fpu/w_sqrt.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/powerpc/fpu/w_sqrt.c,v
retrieving revision 1.2
diff -u -p -a -u -p -a -r1.2 sysdeps/powerpc/fpu/w_sqrt.c
--- sysdeps/powerpc/fpu/w_sqrt.c 6 Jul 2001 04:56:02 -0000 1.2
+++ sysdeps/powerpc/fpu/w_sqrt.c 10 May 2002 08:40:46 -0000
@@ -1,5 +1,5 @@
/* Single-precision floating point square root.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2002 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
@@ -139,3 +139,8 @@ weak_alias (__sqrt, sqrt)
/* Strictly, this is wrong, but the only places where _ieee754_sqrt is
used will not pass in a negative result. */
strong_alias(__sqrt,__ieee754_sqrt)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias (__sqrt, __sqrtl)
+weak_alias (__sqrt, sqrtl)
+#endif
Index: sysdeps/unix/sysv/linux/semctl.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/semctl.c,v
retrieving revision 1.12
diff -u -p -r1.12 semctl.c
--- sysdeps/unix/sysv/linux/semctl.c 6 Jul 2001 04:56:13 -0000 1.12
+++ sysdeps/unix/sysv/linux/semctl.c 28 Apr 2002 21:03:16 -0000
@@ -69,8 +69,23 @@ __old_semctl (int semid, int semnum, int
va_start (ap, cmd);
- /* Get the argument. */
- arg = va_arg (ap, union semun);
+ /* Get the argument only if required. */
+ arg.buf = NULL;
+ switch (cmd)
+ {
+ case SETVAL: /* arg.val */
+ case GETALL: /* arg.array */
+ case SETALL:
+ case IPC_STAT: /* arg.buf */
+ case IPC_SET:
+ case SEM_STAT:
+ case IPC_INFO: /* arg.__buf */
+ case SEM_INFO:
+ va_start (ap, cmd);
+ arg = va_arg (ap, union semun);
+ va_end (ap);
+ break;
+ }
va_end (ap);
@@ -88,8 +103,23 @@ __new_semctl (int semid, int semnum, int
va_start (ap, cmd);
- /* Get the argument. */
- arg = va_arg (ap, union semun);
+ /* Get the argument only if required. */
+ arg.buf = NULL;
+ switch (cmd)
+ {
+ case SETVAL: /* arg.val */
+ case GETALL: /* arg.array */
+ case SETALL:
+ case IPC_STAT: /* arg.buf */
+ case IPC_SET:
+ case SEM_STAT:
+ case IPC_INFO: /* arg.__buf */
+ case SEM_INFO:
+ va_start (ap, cmd);
+ arg = va_arg (ap, union semun);
+ va_end (ap);
+ break;
+ }
va_end (ap);
#! /bin/sh -e #! /bin/sh -e
# DP: Fixes some compatibility issues with m68k and lchown/chown # DP: Fixes some old compatibility issues with m68k and lchown/chown
if [ $# -ne 2 ]; then if [ $# -ne 2 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
...@@ -15,9 +15,9 @@ case "$1" in ...@@ -15,9 +15,9 @@ case "$1" in
esac esac
exit 0 exit 0
diff -urN glibc-2.1.95.orig/sysdeps/unix/sysv/linux/m68k/chown.c glibc-2.1.95/sysdeps/unix/sysv/linux/m68k/chown.c diff -urN glibc-2.2.5.orig/sysdeps/unix/sysv/linux/m68k/chown.c glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/chown.c
--- glibc-2.1.95.orig/sysdeps/unix/sysv/linux/m68k/chown.c Fri Sep 1 05:58:10 2000 --- glibc-2.2.5.orig/sysdeps/unix/sysv/linux/m68k/chown.c 2001-07-10 02:57:24.000000000 +0200
+++ glibc-2.1.95/sysdeps/unix/sysv/linux/m68k/chown.c Sat Oct 14 14:58:38 2000 +++ glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/chown.c 2002-08-11 15:37:09.000000000 +0200
@@ -72,3 +72,8 @@ @@ -72,3 +72,8 @@
#endif #endif
} }
...@@ -27,132 +27,11 @@ diff -urN glibc-2.1.95.orig/sysdeps/unix/sysv/linux/m68k/chown.c glibc-2.1.95/sy ...@@ -27,132 +27,11 @@ diff -urN glibc-2.1.95.orig/sysdeps/unix/sysv/linux/m68k/chown.c glibc-2.1.95/sy
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) +#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)
+compat_symbol (libc, __chown, chown, GLIBC_2_1); +compat_symbol (libc, __chown, chown, GLIBC_2_1);
+#endif +#endif
diff -urN glibc-2.1.95.orig/sysdeps/unix/sysv/linux/m68k.orig/lchown.c glibc-2.1.95/sysdeps/unix/sysv/linux/m68k/lchown.c diff -urN glibc-2.2.5.orig/sysdeps/unix/sysv/linux/m68k/lchown.c glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/lchown.c
--- glibc-2.1.95.orig/sysdeps/unix/sysv/linux/m68k/lchown.c Mon Jan 17 06:20:35 2000 --- glibc-2.2.5.orig/sysdeps/unix/sysv/linux/m68k/lchown.c 2000-01-17 06:20:35.000000000 +0100
+++ glibc-2.1.95/sysdeps/unix/sysv/linux/m68k/lchown.c Mon Oct 16 18:59:45 2000 +++ glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/lchown.c 2002-08-11 15:38:56.000000000 +0200
@@ -1 +1,126 @@ @@ -1 +1,6 @@
-#include <sysdeps/unix/sysv/linux/i386/lchown.c> #include <sysdeps/unix/sysv/linux/i386/lchown.c>
+/* Copyright (C) 2000 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
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <errno.h>
+#include <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <bp-checks.h>
+
+#include <linux/posix_types.h>
+#include "kernel-features.h"
+
+extern int __syscall_chown (const char *__unbounded __file,
+ __kernel_uid_t __owner, __kernel_gid_t __group);
+
+#if defined __NR_lchown || __ASSUME_LCHOWN_SYSCALL > 0
+extern int __syscall_lchown (const char *__unbounded __file,
+ __kernel_uid_t __owner, __kernel_gid_t __group);
+
+# ifdef __NR_lchown32
+extern int __syscall_lchown32 (const char *__unbounded __file,
+ __kernel_uid32_t __owner, __kernel_gid32_t __group);
+# if __ASSUME_32BITUIDS == 0
+/* This variable is shared with all files that need to check for 32bit
+ uids. */
+extern int __libc_missing_32bit_uids;
+# endif
+# endif /* __NR_lchown32 */
+#endif /* __NR_lchown || __ASSUME_LCHOWN_SYSCALL > 0 */
+
+int
+__lchown (const char *file, uid_t owner, gid_t group)
+{
+#if defined __NR_lchown || __ASSUME_LCHOWN_SYSCALL > 0
+# if __ASSUME_LCHOWN_SYSCALL == 0
+ static int __libc_old_chown;
+ int result;
+
+ if(!__libc_old_chown)
+ {
+ int saved_errno = errno;
+# ifdef __NR_lchown32
+ if (__libc_missing_32bit_uids <= 0)
+ {
+ int saved_errno = errno;
+
+ result = INLINE_SYSCALL (lchown32, 3, CHECK_STRING (file), owner, group);
+ if (result == 0 || errno != ENOSYS)
+ return result;
+
+ __set_errno (saved_errno);
+ __libc_missing_32bit_uids = 1;
+ }
+# endif /* __NR_lchown32 */
+
+ if (((owner + 1) > (uid_t) ((__kernel_uid_t) -1U))
+ || ((group + 1) > (gid_t) ((__kernel_gid_t) -1U)))
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ result = INLINE_SYSCALL (lchown, 3, CHECK_STRING (file), owner, group);
+ if (result == 0 || errno != ENOSYS)
+ return result;
+
+ __set_errno (saved_errno);
+ __libc_old_chown = 1;
+ }
+
+ return INLINE_SYSCALL (chown, 3, CHECK_STRING (file), owner, group);
+
+# elif __ASSUME_32BITUIDS
+ return INLINE_SYSCALL (lchown32, 3, CHECK_STRING (file), owner, group);
+# else
+# ifdef __NR_lchown32
+ if (__libc_missing_32bit_uids <= 0)
+ {
+ int result;
+ int saved_errno = errno;
+
+ result = INLINE_SYSCALL (lchown32, 3, CHECK_STRING (file), owner, group);
+ if (result == 0 || errno != ENOSYS)
+ return result;
+
+ __set_errno (saved_errno);
+ __libc_missing_32bit_uids = 1;
+ }
+# endif /* __NR_lchown32 */
+
+ if (((owner + 1) > (uid_t) ((__kernel_uid_t) -1U))
+ || ((group + 1) > (gid_t) ((__kernel_gid_t) -1U)))
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ return INLINE_SYSCALL (lchown, 3, CHECK_STRING (file), owner, group);
+# endif
+#else
+ return INLINE_SYSCALL (chown, 3, CHECK_STRING (file), owner, group);
+#endif
+}
+
+weak_alias (__lchown, lchown)
+ +
+#include <shlib-compat.h> +#include <shlib-compat.h>
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) +#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)
......
This diff is collapsed.
#! /bin/sh -e
# DP: fix error generating de_CH
# DP: It's already in 2.3 cvs, but not in glibc-2-2-branch.
if [ $# -ne 2 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;;
-unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
# append the patch here and adjust the -p? flag in the patch calls.
--- localedata/locales/de_CH.orig Sun Mar 24 20:54:21 2002
+++ localedata/locales/de_CH Tue Mar 26 22:29:29 2002
@@ -113,7 +113,7 @@
"<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/
"<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
"<U0044><U0065><U007A><U0065><U006D><U0062><U0065><U0072>"
-d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
t_fmt "<U0025><U0054>"
am_pm "";""
#! /bin/sh -e
# DP: malloc/malloc.c security fix patch
if [ $# -ne 2 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;;
-unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
# append the patch here and adjust the -p? flag in the patch calls.
--- glibc-2.2.5.orig/malloc/malloc.c Wed Sep 19 05:23:27 2001
+++ glibc-2.2.5/malloc/malloc.c Tue Aug 13 11:16:26 2002
@@ -3795,14 +3795,26 @@
{
arena *ar_ptr;
mchunkptr p, oldtop;
- INTERNAL_SIZE_T sz, csz, oldtopsize;
+ INTERNAL_SIZE_T bytes, sz, csz, oldtopsize;
Void_t* mem;
#if defined _LIBC || defined MALLOC_HOOKS
__malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, __const __malloc_ptr_t)) =
__malloc_hook;
+
+ /* size_t is unsigned so the behavior on overflow is defined. */
+ bytes = n * elem_size;
+#define HALF_INTERNAL_SIZE_T \
+ (((INTERNAL_SIZE_T) 1) << (8 * sizeof (INTERNAL_SIZE_T) / 2))
+ if (__builtin_expect ((n | elem_size) >= HALF_INTERNAL_SIZE_T, 0)) {
+ if (elem_size != 0 && bytes / elem_size != n) {
+ __set_errno (ENOMEM);
+ return 0;
+ }
+ }
+
if (hook != NULL) {
- sz = n * elem_size;
+ sz = bytes;
#if defined __GNUC__ && __GNUC__ >= 2
mem = (*hook)(sz, RETURN_ADDRESS (0));
#else
@@ -3819,7 +3831,7 @@
}
#endif
- if(request2size(n * elem_size, sz))
+ if(request2size(bytes, sz))
return 0;
arena_get(ar_ptr, sz);
if(!ar_ptr)
@@ -3862,7 +3874,7 @@
}
if (p == 0) return 0;
}
- mem = BOUNDED_N(chunk2mem(p), n * elem_size);
+ mem = BOUNDED_N(chunk2mem(p), bytes);
/* Two optional cases in which clearing not necessary */
@@ -4899,9 +4911,9 @@
{
void *mem;
- /* Test whether the SIZE argument is valid. It must be a power of
- two multiple of sizeof (void *). */
- if (size % sizeof (void *) != 0 || (size & (size - 1)) != 0)
+ /* Test whether the ALIGNMENT argument is valid. It must be a power
+ of two multiple of sizeof (void *). */
+ if (alignment % sizeof (void *) != 0 || (alignment & (alignment - 1)) != 0)
return EINVAL;
mem = __libc_memalign (alignment, size);
#! /bin/sh -e
# All lines beginning with `# DP:' are a description of the patch.
# DP: Update from CVS for math test, hopefully gets rid of failures.
if [ $# -ne 2 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;;
-unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
# append the patch here and adjust the -p? flag in the patch calls.
diff -urN glibc-2.2.5.old/ChangeLog glibc-2.2.5/ChangeLog
--- glibc-2.2.5.old/ChangeLog Sat Apr 27 22:28:07 2002
+++ glibc-2.2.5/ChangeLog Tue Apr 23 10:45:10 2002
@@ -0,0 +1,7 @@
+2002-07-16 Ulrich Drepper <drepper@redhat.com>
+
+ * config.h.in: Fail if __FAST_MATH__ is defined.
+ * math/Makefile (CPPFLAGS-test-ifloat.c): Also define TEST_FAST_MATH.
+ (CPPFLAGS-test-idouble.c): Likewise.
+ (CPPFLAGS-test-ildouble.c): Likewise.
+
diff -urN glibc-2.2.5/glibc-2.2.5/config.h.in glibc-upstream/config.h.in
--- glibc-2.2.5/glibc-2.2.5/config.h.in Sun Aug 4 10:01:38 2002
+++ glibc-upstream/config.h.in Wed Jul 17 19:14:00 2002
@@ -2,6 +2,12 @@
# error "glibc cannot be compiled without optimization"
#endif
+/* Another evil option when it comes to compiling the C library is
+ * --ffast-math since it alters the ABI. */
+#if defined __FAST_MATH__ && !defined TEST_FAST_MATH
+# error "glibc must not be compiled with -ffast-math"
+#endif
+
/* Define if using GNU ld, with support for weak symbols in a.out,
and for symbol set and warning messages extensions in a.out and ELF.
This implies HAVE_WEAK_SYMBOLS; set by --with-gnu-ld. */
diff -urN glibc-2.2.5/glibc-2.2.5/math/Makefile glibc-upstream/math/Makefile
--- glibc-2.2.5/glibc-2.2.5/math/Makefile Sat Aug 4 08:46:19 2001
+++ glibc-upstream/math/Makefile Wed Jul 17 19:15:11 2002
@@ -122,9 +122,12 @@
CFLAGS-test-double.c = -fno-inline -ffloat-store
CFLAGS-test-ldouble.c = -fno-inline -ffloat-store
CFLAGS-test-tgmath.c = -fno-builtin
-CPPFLAGS-test-ifloat.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__
-CPPFLAGS-test-idouble.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__
-CPPFLAGS-test-ildoubl.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__
+CPPFLAGS-test-ifloat.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__ \
+ -DTEST_FAST_MATH
+CPPFLAGS-test-idouble.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__ \
+ -DTEST_FAST_MATH
+CPPFLAGS-test-ildoubl.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__ \
+ -DTEST_FAST_MATH
distribute += libm-test.inc gen-libm-test.pl README.libm-test
This diff is collapsed.
#! /bin/sh -e
# All lines beginning with `# DP:' are a description of the patch.
# DP: Only declare sys_errlist and sys_nerr on linux. From 2.2 CVS
if [ $# -ne 2 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;;
-unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
# append the patch here and adjust the -p? flag in the patch calls.
diff -urN glibc-2.2.5.old/ChangeLog glibc-2.2.5/ChangeLog
--- glibc-2.2.5.old/ChangeLog Sat Apr 27 22:28:07 2002
+++ glibc-2.2.5/ChangeLog Tue Apr 23 10:45:10 2002
@@ -0,0 +1,16 @@
+2002-07-31 Jeff Bailey <jbailey@gnu.org>
+
+ * libio/stdio.h (sys_errlist, sys_nerr, _sys_errlist, _sys_nerr):
+ Declarations moved to <bits/sys_errlist.h>. Include that file.
+ * libio/Makefile (headers): Add bits/sys_errlist.h to the list.
+ * sysdeps/generic/bits/sys_errlist.h: New file. This does *not*
+ declare sys_errlist and sys_nerr.
+ * sysdeps/unix/sysv/linux/bits/sys_errlist.h: New file. Does
+ provide declarations.
+
+2002-05-19 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/errlist.c: Remove extra weak alias
+ definiton of _old_sys_nerr. Define _old_sys_errlist as strong
+ alias.
+
diff -urN glibc-2.2.5/libio/stdio.h glibc-upstream/libio/stdio.h
--- glibc-2.2.5/glibc-2.2.5/libio/stdio.h Mon Jul 9 20:53:17 2001
+++ glibc-upstream/libio/stdio.h Wed Jul 31 20:05:23 2002
@@ -1,5 +1,5 @@
/* Define ISO C stdio on top of C++ iostreams.
- Copyright (C) 1991, 1994-1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1991,1994-1999,2000,01,02 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
@@ -545,16 +545,11 @@
/* Print a message describing the meaning of the value of errno. */
extern void perror (__const char *__s) __THROW;
-/* These variables normally should not be used directly. The `strerror'
- function provides all the needed functionality. */
-#ifdef __USE_BSD
-extern int sys_nerr;
-extern __const char *__const sys_errlist[];
-#endif
-#ifdef __USE_GNU
-extern int _sys_nerr;
-extern __const char *__const _sys_errlist[];
-#endif
+/* Provide the declarations for `sys_errlist' and `sys_nerr' if they
+ are available on this system. Even if available, these variables
+ should not be used directly. The `strerror' function provides
+ all the necessary functionality. */
+#include <bits/sys_errlist.h>
#ifdef __USE_POSIX
diff -urN glibc-2.2.5.old/libio/Makefile glibc-2.2.5/libio/Makefile
--- glibc-2.2.5/glibc-2.2.5/libio/Makefile Fri Sep 7 13:58:25 2001
+++ glibc-upstream/libio/Makefile Wed Jul 31 19:59:22 2002
@@ -1,4 +1,4 @@
-# Copyright (C) 1995,96,97,98,99,2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1995,96,97,98,99,2000,01,02 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
@@ -21,7 +21,8 @@
#
subdir := libio
-headers := stdio.h libio.h _G_config.h bits/stdio.h bits/stdio-lock.h
+headers := stdio.h libio.h _G_config.h bits/stdio.h bits/stdio-lock.h \
+ bits/sys_errlist.h