[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#207872: libc6: Running /lib/libc-2.3.2.so results in error message



This error still exists in the actual Sarge-release (libc_2.3.2.ds1-20).
I created an fixed version, feel free to download it:
ftp://bruchtal.homelinux.org/libc6_2.3.2.ds1-20.1/

This package is identical to yours except of this patch:
> 2003-09-30  Daniel Jacobowitz  <drow@mvista.com>
> 
> 	* rtld.c (dl_main): Remove assertion when linking dl_rtld_map
> 	into the list of visible libraries.
> 
> Index: rtld.c
> ===================================================================
> RCS file: /big/fsf/rsync/glibc-cvs/libc/elf/rtld.c,v
> retrieving revision 1.293
> diff -u -p -r1.293 rtld.c
> --- rtld.c	24 Sep 2003 01:55:51 -0000	1.293
> +++ rtld.c	30 Sep 2003 14:25:50 -0000
> @@ -1223,19 +1223,7 @@ of this helper program; chances are you 
>        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)
>  	{
>



Reply to: