Cache does not serve any purpose when rtld is relocating itself, do
not bother allocating one. Submitted by: kan Approved by: re (bmah)
This commit is contained in:
parent
99d4bb3999
commit
6e5e629f07
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=171432
@ -260,8 +260,12 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
|
||||
* The dynamic loader may be called from a thread, we have
|
||||
* limited amounts of stack available so we cannot use alloca().
|
||||
*/
|
||||
cache = mmap(NULL, bytes, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0);
|
||||
if (cache == MAP_FAILED)
|
||||
if (obj != obj_rtld) {
|
||||
cache = mmap(NULL, bytes, PROT_READ|PROT_WRITE, MAP_ANON,
|
||||
-1, 0);
|
||||
if (cache == MAP_FAILED)
|
||||
cache = NULL;
|
||||
} else
|
||||
cache = NULL;
|
||||
|
||||
relalim = (const Elf_Rela *)((caddr_t)obj->rela + obj->relasize);
|
||||
|
Loading…
Reference in New Issue
Block a user