patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 08 17:48:32 2007 +0000 (2007-05-08)
changeset 78 c3868084d81a
permissions -rw-r--r--
Huge fixes to glibc build, so that we can build at least (and at last):
- use ports addon even when installing headers,
- use optimisation (-O) when installing headers, to avoid unnecessary warnings (thanks Robert P. J. DAY for pointing this out!),
- lowest kernel version to use is only X.Y.Z, not X.Y.Z.T,
- a bit of preparations for NPTL (RSN I hope),
- fix fixing the linker scripts (changing the backup file is kind of useless and stupid);

Shut uClibc finish step: there really is nothing to do;

Add a patch for glibc-2.3.6 weak aliases handling on some archs (ARM and ALPHA at least);

Did not catch the make errors: fixed the pattern matching in scripts/functions;

Introduce a new log level, ALL:
- send components' build messages there,
- DEBUG log level is destined only for crosstool-NG debug messages,
- migrate sub-actions to use appropriate log levels;

Update the armeb-unknown-linux-gnu sample:
- it builds!
- uses gcc-4.0.4 and glibc-2.3.6,
- updated to latest config options set.
     1 2000-05-03  Ulrich Drepper  <drepper@redhat.com>
     2 
     3 	* sysdeps/generic/dl-environ.c (unsetenv): Follow change to the
     4 	real unsetenv implementation from 1999-07-29 [PR libc/1714].
     5 
     6 --- glibc-2.1.3/sysdeps/generic/dl-environ.c.jj	Thu Jul 23 16:56:52 1998
     7 +++ glibc-2.1.3/sysdeps/generic/dl-environ.c	Tue May  9 13:48:11 2000
     8 @@ -1,5 +1,5 @@
     9 -/*Environment handling for dynamic loader.
    10 -   Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
    11 +/* Environment handling for dynamic loader.
    12 +   Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
    13     This file is part of the GNU C Library.
    14  
    15     The GNU C Library is free software; you can redistribute it and/or
    16 @@ -55,7 +55,8 @@ unsetenv (const char *name)
    17    const size_t len = strlen (name);
    18    char **ep;
    19  
    20 -  for (ep = _environ; *ep != NULL; ++ep)
    21 +  ep = _environ;
    22 +  while (*ep != NULL)
    23      if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
    24        {
    25  	/* Found it.  Remove this pointer by moving later ones back.  */
    26 @@ -66,4 +67,6 @@ unsetenv (const char *name)
    27  	while (*dp++);
    28  	/* Continue the loop in case NAME appears again.  */
    29        }
    30 +    else
    31 +      ++ep;
    32  }