cvs commit: patches/glibc glibc-2.3.3-20031202-assert_failure-1.patch

jim at linuxfromscratch.org jim at linuxfromscratch.org
Sun Apr 18 21:25:07 PDT 2004


jim         04/04/18 22:25:07

  Added:       glibc    glibc-2.3.3-20031202-assert_failure-1.patch
  Log:
  Added: glibc-2.3.3-20031202-assert_failure-1.patch
  
  Revision  Changes    Path
  1.1                  patches/glibc/glibc-2.3.3-20031202-assert_failure-1.patch
  
  Index: glibc-2.3.3-20031202-assert_failure-1.patch
  ===================================================================
  Submitted By: Jim Gifford (jim at linuxfromscratch dot org)
  Date: 2004-04-18
  Initial Package Version: 2.3.3
  Origin: glibc CVS
  Description: Fixes seg fault when trying execute any library
   
  --- glibc-2.3.3-20031202/elf/rtld.c.orig	2004-04-18 22:21:35.395006171 +0000
  +++ glibc-2.3.3-20031202/elf/rtld.c	2004-04-18 22:21:59.199590135 +0000
  @@ -1244,19 +1244,7 @@
         while (GL(dl_loaded)->l_searchlist.r_list[i] != &GL(dl_rtld_map))
   	++i;
         GL(dl_rtld_map).l_prev = GL(dl_loaded)->l_searchlist.r_list[i - 1];
  -      if (__builtin_expect (mode, normal) == normal)
  -	GL(dl_rtld_map).l_next = (i + 1 < GL(dl_loaded)->l_searchlist.r_nlist
  -				  ? GL(dl_loaded)->l_searchlist.r_list[i + 1]
  -				  : NULL);
  -      else
  -	/* In trace mode there might be an invisible object (which we
  -	   could not find) after the previous one in the search list.
  -	   In this case it doesn't matter much where we put the
  -	   interpreter object, so we just initialize the list pointer so
  -	   that the assertion below holds.  */
  -	GL(dl_rtld_map).l_next = GL(dl_rtld_map).l_prev->l_next;
  -
  -      assert (GL(dl_rtld_map).l_prev->l_next == GL(dl_rtld_map).l_next);
  +      GL(dl_rtld_map).l_next = GL(dl_rtld_map).l_prev->l_next;
         GL(dl_rtld_map).l_prev->l_next = &GL(dl_rtld_map);
         if (GL(dl_rtld_map).l_next != NULL)
   	{
  
  
  



More information about the patches mailing list