interesting change
Geoff Keating
geoffk@ozemail.com.au
Sat Jul 31 20:42:00 GMT 1999
> 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>
More information about the Libc-hacker
mailing list