diff options
author | John Polstra <jdp@FreeBSD.org> | 1997-11-29 03:32:48 +0000 |
---|---|---|
committer | John Polstra <jdp@FreeBSD.org> | 1997-11-29 03:32:48 +0000 |
commit | 08bdd3d27d2cfe8dafe2056da6f5e57e70f646e7 (patch) | |
tree | fb59f8b946faa1b1aab7f32dbdb57f95eb3396ca /libexec/rtld-aout/Makefile | |
parent | f4feb04e1f77a7c26a2d082fc7d19389197f01b9 (diff) | |
download | src-08bdd3d27d2cfe8dafe2056da6f5e57e70f646e7.tar.gz src-08bdd3d27d2cfe8dafe2056da6f5e57e70f646e7.zip |
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 <dlfcn.h> and <link.h>.
Improve performance by eliminating redundant calculations of symbols'
hash values.
Notes
Notes:
svn path=/head/; revision=31445
Diffstat (limited to 'libexec/rtld-aout/Makefile')
-rw-r--r-- | libexec/rtld-aout/Makefile | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libexec/rtld-aout/Makefile b/libexec/rtld-aout/Makefile index 4177f6bd397a..13c8de84dca6 100644 --- a/libexec/rtld-aout/Makefile +++ b/libexec/rtld-aout/Makefile @@ -1,13 +1,12 @@ -# $Id: Makefile,v 1.23 1997/02/22 15:46:46 peter Exp $ - +# $Id: Makefile,v 1.24 1997/04/16 11:31:32 bde Exp $ PROG= ld.so -SRCS= mdprologue.S rtld.c malloc.c shlib.c md.c support.c sbrk.c +SRCS= mdprologue.S rtld.c shlib.c md.c support.c MAN1= rtld.1 LDDIR?= $(.CURDIR)/.. # As there is relocation going on behind GCC's back, don't cache function addresses. PICFLAG=-fpic -fno-function-cse -CFLAGS+=-I$(LDDIR) -I$(.CURDIR) -I$(LDDIR)/$(MACHINE) $(PICFLAG) -DRTLD -LDFLAGS+=-nostdlib -Wl,-Bshareable -Wl,-Bsymbolic -Wl,-assert -Wl,nosymbolic +CFLAGS+=-I$(LDDIR) -I$(.CURDIR) -I$(LDDIR)/$(MACHINE) $(PICFLAG) -DRTLD -Wall +LDFLAGS+=-nostdlib -Wl,-Bshareable,-Bsymbolic,-assert,nosymbolic ASFLAGS+=-k DPADD+= ${LIBC:S/c.a/c_pic.a/} ${LIBC:S/c.a/gcc_pic.a/} LDADD+= -lc_pic -lgcc_pic |