Module Name: src
Committed By: matt
Date: Sun Aug 10 23:35:27 UTC 2014
Modified Files:
src/libexec/ld.elf_so: rtld.h symbol.c
src/libexec/ld.elf_so/arch/arm: find_exidx.c
Log Message:
Don't provide __gnu_Unwind_Find_exidx if __ARM_DWARF_EH__ is defined
To generate a diff of this commit:
cvs rdiff -u -r1.117 -r1.118 src/libexec/ld.elf_so/rtld.h
cvs rdiff -u -r1.64 -r1.65 src/libexec/ld.elf_so/symbol.c
cvs rdiff -u -r1.3 -r1.4 src/libexec/ld.elf_so/arch/arm/find_exidx.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/rtld.h
diff -u src/libexec/ld.elf_so/rtld.h:1.117 src/libexec/ld.elf_so/rtld.h:1.118
--- src/libexec/ld.elf_so/rtld.h:1.117 Thu Mar 6 19:19:40 2014
+++ src/libexec/ld.elf_so/rtld.h Sun Aug 10 23:35:26 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: rtld.h,v 1.117 2014/03/06 19:19:40 matt Exp $ */
+/* $NetBSD: rtld.h,v 1.118 2014/08/10 23:35:26 matt Exp $ */
/*
* Copyright 1996 John D. Polstra.
@@ -48,7 +48,7 @@
#if defined(_RTLD_SOURCE)
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
#include "unwind.h"
#endif
@@ -352,7 +352,7 @@ __dso_public int dl_iterate_phdr(int (*)
__dso_public void *_dlauxinfo(void) __pure;
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
/*
* This is used by libgcc to find the start and length of the exception table
* associated with a PC.
Index: src/libexec/ld.elf_so/symbol.c
diff -u src/libexec/ld.elf_so/symbol.c:1.64 src/libexec/ld.elf_so/symbol.c:1.65
--- src/libexec/ld.elf_so/symbol.c:1.64 Fri Mar 21 01:40:41 2014
+++ src/libexec/ld.elf_so/symbol.c Sun Aug 10 23:35:26 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: symbol.c,v 1.64 2014/03/21 01:40:41 matt Exp $ */
+/* $NetBSD: symbol.c,v 1.65 2014/08/10 23:35:26 matt Exp $ */
/*
* Copyright 1996 John D. Polstra.
@@ -40,7 +40,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: symbol.c,v 1.64 2014/03/21 01:40:41 matt Exp $");
+__RCSID("$NetBSD: symbol.c,v 1.65 2014/08/10 23:35:26 matt Exp $");
#endif /* not lint */
#include <err.h>
@@ -101,7 +101,7 @@ _rtld_is_exported(const Elf_Sym *def)
(fptr_t)___tls_get_addr,
#endif
#endif
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
(fptr_t)__gnu_Unwind_Find_exidx, /* for gcc EHABI */
#endif
NULL
Index: src/libexec/ld.elf_so/arch/arm/find_exidx.c
diff -u src/libexec/ld.elf_so/arch/arm/find_exidx.c:1.3 src/libexec/ld.elf_so/arch/arm/find_exidx.c:1.4
--- src/libexec/ld.elf_so/arch/arm/find_exidx.c:1.3 Fri May 3 10:27:06 2013
+++ src/libexec/ld.elf_so/arch/arm/find_exidx.c Sun Aug 10 23:35:27 2014
@@ -29,12 +29,14 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: find_exidx.c,v 1.3 2013/05/03 10:27:06 skrll Exp $");
+__RCSID("$NetBSD: find_exidx.c,v 1.4 2014/08/10 23:35:27 matt Exp $");
#endif /* not lint */
#include "debug.h"
#include "rtld.h"
+#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
+
_Unwind_Ptr
__gnu_Unwind_Find_exidx(_Unwind_Ptr pc, int * pcount)
{
@@ -84,3 +86,5 @@ __gnu_Unwind_Find_exidx(_Unwind_Ptr pc,
*pcount = count;
return start;
}
+
+#endif