Module Name: src Committed By: skrll Date: Thu Apr 25 09:01:24 UTC 2013
Modified Files: src/libexec/ld.elf_so: map_object.c Log Message: Handle PT_ARM_EXIDX when mapping objects. To generate a diff of this commit: cvs rdiff -u -r1.45 -r1.46 src/libexec/ld.elf_so/map_object.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/libexec/ld.elf_so/map_object.c diff -u src/libexec/ld.elf_so/map_object.c:1.45 src/libexec/ld.elf_so/map_object.c:1.46 --- src/libexec/ld.elf_so/map_object.c:1.45 Sat Oct 13 21:13:07 2012 +++ src/libexec/ld.elf_so/map_object.c Thu Apr 25 09:01:23 2013 @@ -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 f (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;