diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-10-04 21:08:53 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-10-04 21:08:53 -0400 |
commit | c91aa03d2488ef2c48276510dec360ed9582e861 (patch) | |
tree | b54a1a051a3bc1850a2124adfda3dc224c5987c2 /include/dlfcn.h | |
parent | 9b153c043ea486d28f96a7e01419f650fe0e1b26 (diff) | |
download | musl-c91aa03d2488ef2c48276510dec360ed9582e861.tar.gz musl-c91aa03d2488ef2c48276510dec360ed9582e861.tar.xz musl-c91aa03d2488ef2c48276510dec360ed9582e861.zip |
remove freeing of dynamic linker data when dlopen/dlsym are not used
this was an optimization to save/recover a minimal amount of extra memory for use by malloc, that's becoming increasingly costly to keep around. freeing this data: 1. breaks debugging with gdb (it can't find library symbols) 2. breaks thread-local storage in shared libraries it would be possible to disable freeing when TLS is used, but in addition to the above breakages, tracking whether dlopen/dlsym is used adds a cost to every symbol lookup, possibly making program startup slower for large programs. combined with the complexity, it's not worth it. we already save/recover plenty of memory in the dynamic linker with reclaim_gaps.
Diffstat (limited to 'include/dlfcn.h')
0 files changed, 0 insertions, 0 deletions