cvs commit: src/lib/libc/include libc_private.h
src/lib/libc/stdlib Makefile.inc calloc.c malloc.c
posix_memalign.3 src/lib/libpthread/thread thr_fork.c
src/lib/libthr/thread thr_fork.c src/libexec/rtld-elf malloc.c
Jason Evans
jasone at FreeBSD.ORG
Wed Jan 11 23:43:09 PST 2006
On Jan 11, 2006, at 11:38 PM, Andrey Chernov wrote:
> On Thu, Jan 12, 2006 at 07:28:21AM +0000, Jason Evans wrote:
>> * Move calloc() from calloc.c to malloc.c. Add a calloc()
>> implementation in
>> rtld-elf in order to make the loader happy (even though
>> calloc() isn't
>> used in rtld-elf).
>
> If it isn't used, what you mean by saying "happy"? Does it means
> that new
> rtld-elf should be builded/installed before new libc builded/
> installed or
> not?
rtld-elf needs its own implementation of malloc, but when the
application is loaded, the symbols in rtld-elf's malloc.o are
overridden. I had numerous problems with this overriding mechanism
not working if libc's malloc.o had a calloc symbol, but rtld-elf's
malloc.o did not.
I can't claim to completely understand why the addition of calloc in
rtld-elf was necessary. It's possible that there's another fix, but
I don't know what it might be.
Jason
More information about the cvs-src
mailing list