diff options
| author | Olivier Houchard <cognet@FreeBSD.org> | 2004-09-28 14:43:12 +0000 |
|---|---|---|
| committer | Olivier Houchard <cognet@FreeBSD.org> | 2004-09-28 14:43:12 +0000 |
| commit | 34be0511901571673d60cee332a738f2fc839b03 (patch) | |
| tree | 9311a60f17c962827bf571f4b3d8226997c45d11 /libexec/rtld-elf | |
| parent | 0e030636cb7bb69285ec77ecc46b87b49cdca96d (diff) | |
Notes
Diffstat (limited to 'libexec/rtld-elf')
| -rw-r--r-- | libexec/rtld-elf/arm/reloc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libexec/rtld-elf/arm/reloc.c b/libexec/rtld-elf/arm/reloc.c index 6dd8ad0479c2..ff9d195c9002 100644 --- a/libexec/rtld-elf/arm/reloc.c +++ b/libexec/rtld-elf/arm/reloc.c @@ -246,10 +246,13 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld) int bytes = obj->nchains * sizeof(SymCache); int r = -1; + /* The relocation for the dynamic loader has already been done. */ + if (obj == obj_rtld) + return (0); /* * 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) cache = NULL; |
