This is the mail archive of the libc-hacker@sourceware.cygnus.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] |
> Mailing-List: contact libc-hacker-help@sourceware.cygnus.com; run by ezmlm > List-Unsubscribe: <mailto:libc-hacker-unsubscribe-geoffk=discus.anu.edu.au@sourceware.cygnus.com> > List-Archive: <http://sourceware.cygnus.com/ml/libc-hacker/> > List-Help: <mailto:libc-hacker-help@sourceware.cygnus.com>, > <http://sourceware.cygnus.com/ml/#faqs> > Cc: libc-hacker@sourceware.cygnus.com > Reply-To: drepper@cygnus.com (Ulrich Drepper) > From: Ulrich Drepper <drepper@cygnus.com> > Date: 30 Jul 1999 23:56:06 -0700 > > Thorsten Kukuk <kukuk@suse.de> writes: > > > 1. One of our malloc function was called before the crash in > > a way that __libc_pagesize is not set the first time. > > The value is set in a constructor which runs before any application > code. Except if the application somehow inluences the constructors > which does not only break mallo.c It's possible that ld.so has started calling the wrong malloc() again. There's a short window when ld.so musn't call malloc(), because it will get the application's malloc before it has run the constructors. The easiest way to find this is to have a small application: void *malloc(size_t m) { write (STDOUT_FILENO, "malloc called\n", 14); return 0; } void _start(void) { write (STDOUT_FILENO, "ok to call malloc after this\n", 29); _exit(0); } -- Geoffrey Keating <geoffk@cygnus.com>
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |