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 Adjust exidx_start by relocbase
details: https://anonhg.NetBSD.org/src/rev/cc4b82975dd4
branches: trunk
changeset: 786288:cc4b82975dd4
user: skrll <skrll%NetBSD.org@localhost>
date: Thu Apr 25 12:28:59 2013 +0000
description:
Adjust exidx_start by relocbase
diffstat:
libexec/ld.elf_so/map_object.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diffs (29 lines):
diff -r 1b7ed06403c3 -r cc4b82975dd4 libexec/ld.elf_so/map_object.c
--- a/libexec/ld.elf_so/map_object.c Thu Apr 25 12:05:54 2013 +0000
+++ b/libexec/ld.elf_so/map_object.c Thu Apr 25 12:28:59 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: map_object.c,v 1.46 2013/04/25 09:01:23 skrll Exp $ */
+/* $NetBSD: map_object.c,v 1.47 2013/04/25 12:28:59 skrll Exp $ */
/*
* Copyright 1996 John D. Polstra.
@@ -34,7 +34,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: map_object.c,v 1.46 2013/04/25 09:01:23 skrll Exp $");
+__RCSID("$NetBSD: map_object.c,v 1.47 2013/04/25 12:28:59 skrll Exp $");
#endif /* not lint */
#include <errno.h>
@@ -401,6 +401,10 @@
obj->interp = (void *)(obj->relocbase + (Elf_Addr)(uintptr_t)obj->interp);
if (obj->phdr_loaded)
obj->phdr = (void *)(obj->relocbase + (Elf_Addr)(uintptr_t)obj->phdr);
+#ifdef __ARM_EABI__
+ if (obj->exidx_start)
+ obj->exidx_start = (void *)(obj->relocbase + (Elf_Addr)(uintptr_t)obj->exidx_start);
+#endif
return obj;
Home |
Main Index |
Thread Index |
Old Index