diff options
| author | skrll <skrll@NetBSD.org> | 2013-04-25 09:01:23 +0000 |
|---|---|---|
| committer | skrll <skrll@NetBSD.org> | 2013-04-25 09:01:23 +0000 |
| commit | 6c8ca62f552f4775fa9396c46396be056fb77d85 (patch) | |
| tree | de462e9430cf0584ce2d0e0008d75f2139d23e27 /libexec | |
| parent | c377dab842ce5e3056a1691ce9d22d001ac960ef (diff) | |
Handle PT_ARM_EXIDX when mapping objects.
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/ld.elf_so/map_object.c | 10 |
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; |
