(__elf_preferred_address): Prefer gaps below main executable.

This commit is contained in:
Andreas Jaeger 2001-07-25 06:36:52 +00:00
parent f369623d6d
commit 78d16d09d8

View File

@ -119,7 +119,11 @@ __elf_preferred_address(struct link_map *loader, size_t maplength,
mapend = l->l_map_end | (_dl_pagesize - 1);
assert (mapend > mapstart);
if ((mapend >= high || l == _dl_loaded) && high >= mapstart)
/* Prefer gaps below the main executable, note that l ==
_dl_loaded does not work for static binaries loading
e.g. libnss_*.so. */
if ((mapend >= high || l->l_type == lt_executable)
&& high >= mapstart)
high = mapstart;
else if (mapend >= low && low >= mapstart)
low = mapend;