This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Thu, Sep 07, 2000 at 09:30:29PM -0700, Ulrich Drepper wrote: > "David S. Miller" <davem@redhat.com> writes: > > > >From the descriptions I've seen of this problem, it sounds a lot like > > yet another unaligned memory access problem in the locale code. > > No. You should not jump to such a conclusion without looking at the > code. Every place where locale data is accessed word-wise is > protected with asserts to ensure alignment. This is my currect patch to get "make check" to pass iconvdata under ia64. I have no idea what this patch 2000-09-03 Bruno Haible <haible@clisp.cons.org> * iconv/gconv_dl.c (do_release_shlib): Don't decrement the counter below -TRIES_BEFORE_UNLOAD-1, to avoid wraparound. is supposed to fix. It looks completely bogus to me. The only place it gets decremented is assert (obj->counter > 0); --obj->counter; Even if it gets decremented by some magic, its logic looks very strange to me. Bruno, do you have a testcase for your patch? I'd like to see it myself. BTW, it also passed "make check" under ia32. Thanks. H.J. --- 2000-09-08 H.J. Lu <hjl@gnu.org> * iconv/gconv_dl.c (do_release_shlib): Remove the bogus patch made on 2000-09-03 by Bruno Haible <haible@clisp.cons.org>. 2000-09-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>. * sysdeps/ia64/Makefile (sysdep-rtld-routines): New variable. Index: iconv/gconv_dl.c =================================================================== RCS file: /work/cvs/gnu/glibc/iconv/gconv_dl.c,v retrieving revision 1.1.1.3 diff -u -p -r1.1.1.3 gconv_dl.c --- iconv/gconv_dl.c 2000/09/05 04:02:03 1.1.1.3 +++ iconv/gconv_dl.c 2000/09/08 18:21:01 @@ -164,8 +164,6 @@ do_release_shlib (const void *nodep, VIS } else if (obj->counter <= 0) { - if (obj->counter >= -TRIES_BEFORE_UNLOAD) - --obj->counter; if (obj->counter < -TRIES_BEFORE_UNLOAD && obj->handle != NULL) { /* Unload the shared object. */ Index: sysdeps/ia64/Makefile =================================================================== RCS file: /work/cvs/gnu/glibc/sysdeps/ia64/Makefile,v retrieving revision 1.1.1.2 diff -u -p -r1.1.1.2 Makefile --- sysdeps/ia64/Makefile 2000/09/05 04:03:07 1.1.1.2 +++ sysdeps/ia64/Makefile 2000/09/08 16:13:44 @@ -5,4 +5,5 @@ endif ifeq ($(subdir),elf) sysdep-dl-routines += dl-symaddr dl-fptr sysdep_routines += $(sysdep-dl-routines) +sysdep-rtld-routines += $(sysdep-dl-routines) endif
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |