From: Andreas Jaeger Date: Wed, 25 Jul 2001 06:36:52 +0000 (+0000) Subject: (__elf_preferred_address): Prefer gaps below main executable. X-Git-Tag: cvs/glibc-2_2_4~145 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=78d16d09d8b8b4c29d566d45eaffd6bd7d2b7593;p=thirdparty%2Fglibc.git (__elf_preferred_address): Prefer gaps below main executable. --- diff --git a/sysdeps/powerpc/dl-machine.c b/sysdeps/powerpc/dl-machine.c index 0fdf2a4582b..c9c4fe00d5e 100644 --- a/sysdeps/powerpc/dl-machine.c +++ b/sysdeps/powerpc/dl-machine.c @@ -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;