Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/libexec/ld.elf_so Handle PT_ARM_EXIDX when mapping objects.



details:   https://anonhg.NetBSD.org/src/rev/ae3749c159b0
branches:  trunk
changeset: 786285:ae3749c159b0
user:      skrll <skrll%NetBSD.org@localhost>
date:      Thu Apr 25 09:01:23 2013 +0000

description:
Handle PT_ARM_EXIDX when mapping objects.

diffstat:

 libexec/ld.elf_so/map_object.c |  10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diffs (31 lines):

diff -r 7128dce11acf -r ae3749c159b0 libexec/ld.elf_so/map_object.c
--- a/libexec/ld.elf_so/map_object.c    Thu Apr 25 07:12:46 2013 +0000
+++ b/libexec/ld.elf_so/map_object.c    Thu Apr 25 09:01:23 2013 +0000
@@ -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 @@
                            (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;



Home | Main Index | Thread Index | Old Index