From owner-cvs-gnu Fri Nov 28 19:34:49 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id TAA29320 for cvs-gnu-outgoing; Fri, 28 Nov 1997 19:34:49 -0800 (PST) (envelope-from owner-cvs-gnu) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id TAA29106; Fri, 28 Nov 1997 19:33:04 -0800 (PST) (envelope-from jdp@FreeBSD.org) From: John Polstra Received: (from jdp@localhost) by freefall.freebsd.org (8.8.6/8.8.5) id TAA02882; Fri, 28 Nov 1997 19:32:48 -0800 (PST) Date: Fri, 28 Nov 1997 19:32:48 -0800 (PST) Message-Id: <199711290332.TAA02882@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-gnu@FreeBSD.ORG Subject: cvs commit: src/gnu/usr.bin/ld/rtld Makefile rtld.c malloc.c sbrk.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk jdp 1997/11/28 19:32:48 PST Modified files: gnu/usr.bin/ld/rtld Makefile rtld.c Removed files: gnu/usr.bin/ld/rtld malloc.c sbrk.c Log: Get rid of the dynamic linker's internal malloc package, and arrange things so that it uses the same malloc as is used by the program being executed. This has several advantages, the big one being that you can now debug core dumps from dynamically linked programs and get useful information out of them. Until now, that didn't work. The internal malloc package placed the tables describing the loaded shared libraries in a mapped region of high memory that was not written to core files. Thus the debugger had no way of determining what was loaded where in memory. Now that the dynamic linker uses the application's malloc package (normally, but not necessarily, the system malloc), its tables end up in the regular heap area where they will be included in core dumps. The debugger now works very well indeed, thank you very much. Also ... Bring the program a little closer to conformance with style(9). There is still a long way to go. Add minimal const correctness changes to get rid of compiler warnings caused by the recent const changes in and . Improve performance by eliminating redundant calculations of symbols' hash values. Revision Changes Path 1.25 +4 -5 src/gnu/usr.bin/ld/rtld/Makefile 1.50 +470 -262 src/gnu/usr.bin/ld/rtld/rtld.c