summaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
Diffstat (limited to 'libexec')
-rw-r--r--libexec/ld.elf_so/map_object.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libexec/ld.elf_so/map_object.c b/libexec/ld.elf_so/map_object.c
index 4ce8f9636e2..92cb2a09e0f 100644
--- a/libexec/ld.elf_so/map_object.c
+++ b/libexec/ld.elf_so/map_object.c
@@ -1,4 +1,4 @@
-/* $NetBSD: map_object.c,v 1.45 2012/10/13 21:13:07 dholland Exp $ */
+/* $NetBSD: map_object.c,v 1.46 2013/04/25 09:01:23 skrll Exp $ */
/*
* Copyright 1996 John D. Polstra.
@@ -34,7 +34,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: map_object.c,v 1.45 2012/10/13 21:13:07 dholland Exp $");
+__RCSID("$NetBSD: map_object.c,v 1.46 2013/04/25 09:01:23 skrll Exp $");
#endif /* not lint */
#include <errno.h>
@@ -218,6 +218,12 @@ _rtld_map_object(const char *path, int fd, const struct stat *sb)
(void *)(uintptr_t)phdr->p_vaddr, phdr->p_memsz));
break;
#endif
+#ifdef __ARM_EABI__
+ case PT_ARM_EXIDX:
+ obj->exidx_start = (void *)(uintptr_t)phdr->p_vaddr;
+ obj->exidx_sz = phdr->p_memsz;
+ break;
+#endif
}
++phdr;