Module Name: src
Committed By: joerg
Date: Tue May 6 16:02:11 UTC 2014
Modified Files:
src/common/lib/libc/arch/arm/quad: __aeabi_ldivmod.S __aeabi_uldivmod.S
src/common/lib/libc/arch/arm/string: strcat_arm.S strlcat_arm.S
strlen_arm.S
src/lib/csu/arch/earm: crtbegin.h
src/lib/csu/common: crtbegin.c
src/lib/libexecinfo: unwind_arm_ehabi_stub.c
Log Message:
Make EHABI optional.
To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S
cvs rdiff -u -r1.8 -r1.9 src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S
cvs rdiff -u -r1.5 -r1.6 src/common/lib/libc/arch/arm/string/strcat_arm.S \
src/common/lib/libc/arch/arm/string/strlcat_arm.S
cvs rdiff -u -r1.8 -r1.9 src/common/lib/libc/arch/arm/string/strlen_arm.S
cvs rdiff -u -r1.1 -r1.2 src/lib/csu/arch/earm/crtbegin.h
cvs rdiff -u -r1.8 -r1.9 src/lib/csu/common/crtbegin.c
cvs rdiff -u -r1.1 -r1.2 src/lib/libexecinfo/unwind_arm_ehabi_stub.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S
diff -u src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S:1.12 src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S:1.13
--- src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S:1.12 Mon Aug 19 03:27:34 2013
+++ src/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S Tue May 6 16:02:11 2014
@@ -29,7 +29,7 @@
#include <machine/asm.h>
-RCSID("$NetBSD: __aeabi_ldivmod.S,v 1.12 2013/08/19 03:27:34 matt Exp $")
+RCSID("$NetBSD: __aeabi_ldivmod.S,v 1.13 2014/05/06 16:02:11 joerg Exp $")
#ifdef __ARMEB__
#define ALO r1 /* incoming numerator, outgoing quotient */
@@ -45,7 +45,9 @@ RCSID("$NetBSD: __aeabi_ldivmod.S,v 1.12
ENTRY(__aeabi_ldivmod)
#ifdef __ARM_EABI__
+# if !defined(__ARM_DWARF_EH__)
.fnstart
+# endif
.cfi_startproc
#endif
#if !defined(_KERNEL) && !defined(_STANDALONE)
@@ -212,7 +214,9 @@ ENTRY(__aeabi_ldivmod)
.Ldivbyzero:
push {r0-r1,r4,lr}
#ifdef __ARM_EABI__
+# if !defined(__ARM_DWARF_EH__)
.save {r0-r1,r4,lr}
+# endif
.cfi_def_cfa_offset 16
.cfi_offset 14, -4
.cfi_offset 4, -8
@@ -244,6 +248,8 @@ ENTRY(__aeabi_ldivmod)
#endif /* !_KERNEL && !_STANDALONE */
#ifdef __ARM_EABI__
.cfi_endproc
+# if !defined(__ARM_DWARF_EH__)
.fnend
+# endif
#endif
END(__aeabi_ldivmod)
Index: src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S
diff -u src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S:1.8 src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S:1.9
--- src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S:1.8 Thu Dec 12 18:01:14 2013
+++ src/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S Tue May 6 16:02:11 2014
@@ -29,7 +29,7 @@
#include <machine/asm.h>
-RCSID("$NetBSD: __aeabi_uldivmod.S,v 1.8 2013/12/12 18:01:14 matt Exp $")
+RCSID("$NetBSD: __aeabi_uldivmod.S,v 1.9 2014/05/06 16:02:11 joerg Exp $")
/*
* typedef struct { unsigned long long quo, rem } ulldiv_t;
@@ -39,7 +39,9 @@ RCSID("$NetBSD: __aeabi_uldivmod.S,v 1.8
ENTRY(__aeabi_uldivmod)
#ifdef __ARM_EABI__
+# if !defined(__ARM_DWARF_EH__)
.fnstart
+#endif
.cfi_startproc
#endif
#if !defined(_KERNEL) && !defined(_STANDALONE)
@@ -61,7 +63,9 @@ ENTRY(__aeabi_uldivmod)
push {r4,lr}
#ifdef __ARM_EABI__
+# if !defined(__ARM_DWARF_EH__)
.save {r4,lr}
+# endif
.cfi_def_cfa_offset 8
.cfi_offset 14, -4
.cfi_offset 4, -8
@@ -94,7 +98,9 @@ ENTRY(__aeabi_uldivmod)
.Ldivbyzero:
push {r0-r1,r4,lr}
#ifdef __ARM_EABI__
+# if !defined(__ARM_DWARF_EH__)
.save {r0-r1,r4,lr}
+# endif
.cfi_def_cfa_offset 16
.cfi_offset 14, -4
.cfi_offset 4, -8
@@ -111,6 +117,8 @@ ENTRY(__aeabi_uldivmod)
#endif
#ifdef __ARM_EABI__
.cfi_endproc
+# if !defined(__ARM_DWARF_EH__)
.fnend
+# endif
#endif
END(__aeabi_uldivmod)
Index: src/common/lib/libc/arch/arm/string/strcat_arm.S
diff -u src/common/lib/libc/arch/arm/string/strcat_arm.S:1.5 src/common/lib/libc/arch/arm/string/strcat_arm.S:1.6
--- src/common/lib/libc/arch/arm/string/strcat_arm.S:1.5 Thu Sep 5 05:15:47 2013
+++ src/common/lib/libc/arch/arm/string/strcat_arm.S Tue May 6 16:02:11 2014
@@ -34,12 +34,16 @@
*/
ENTRY(strcat)
#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
+# if !defined(__ARM_DWARF_EH__)
.fnstart
+# endif
.cfi_startproc
#endif
push {r3-r5, lr} /* save registers */
#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
+# if !defined(__ARM_DWARF_EH__)
.save {r3-r5, lr}
+# endif
.cfi_def_cfa_offset 16
.cfi_offset 14, -4
.cfi_offset 5, -8
@@ -60,6 +64,8 @@ ENTRY(strcat)
pop {r3-r5, pc} /* restore registers */
#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.cfi_endproc
+# if !defined(__ARM_DWARF_EH__)
.fnend
+# endif
#endif
END(strcat)
Index: src/common/lib/libc/arch/arm/string/strlcat_arm.S
diff -u src/common/lib/libc/arch/arm/string/strlcat_arm.S:1.5 src/common/lib/libc/arch/arm/string/strlcat_arm.S:1.6
--- src/common/lib/libc/arch/arm/string/strlcat_arm.S:1.5 Thu Sep 5 05:15:47 2013
+++ src/common/lib/libc/arch/arm/string/strlcat_arm.S Tue May 6 16:02:11 2014
@@ -29,17 +29,21 @@
#include <machine/asm.h>
-RCSID("$NetBSD: strlcat_arm.S,v 1.5 2013/09/05 05:15:47 matt Exp $")
+RCSID("$NetBSD: strlcat_arm.S,v 1.6 2014/05/06 16:02:11 joerg Exp $")
/* LINTSTUB: size_t strlcat(char *, const char *, size_t) */
ENTRY(strlcat)
#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
+# if !defined(__ARM_DWARF_EH__)
.fnstart
+# endif
.cfi_startproc
#endif
push {r4-r6, lr}
#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
+# if !defined(__ARM_DWARF_EH__)
.save {r4-r6, lr}
+# endif
.cfi_def_cfa_offset 16
.cfi_offset 14, -4
.cfi_offset 6, -8
@@ -62,6 +66,8 @@ ENTRY(strlcat)
pop {r4-r6, pc} /* restore registers and return */
#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.cfi_endproc
+# if !defined(__ARM_DWARF_EH__)
.fnend
+# endif
#endif
END(strlcat)
Index: src/common/lib/libc/arch/arm/string/strlen_arm.S
diff -u src/common/lib/libc/arch/arm/string/strlen_arm.S:1.8 src/common/lib/libc/arch/arm/string/strlen_arm.S:1.9
--- src/common/lib/libc/arch/arm/string/strlen_arm.S:1.8 Thu Sep 5 05:15:47 2013
+++ src/common/lib/libc/arch/arm/string/strlen_arm.S Tue May 6 16:02:11 2014
@@ -29,7 +29,7 @@
#include <machine/asm.h>
-RCSID("$NetBSD: strlen_arm.S,v 1.8 2013/09/05 05:15:47 matt Exp $")
+RCSID("$NetBSD: strlen_arm.S,v 1.9 2014/05/06 16:02:11 joerg Exp $")
#if defined(__thumb__) && !defined(_ARM_ARCH_T2)
#error Only Thumb2 or ARM supported
@@ -56,13 +56,17 @@ RCSID("$NetBSD: strlen_arm.S,v 1.8 2013/
.text
ENTRY(FUNCNAME)
#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
+# if !defined(__ARM_DWARF_EH__)
.fnstart
+# endif
.cfi_startproc
#endif
#ifdef STRNLEN
push {r4,r5} /* save some registers */
#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
+# if !defined(__ARM_DWARF_EH__)
.save {r4,r5}
+# endif
.cfi_def_cfa_offset 8
.cfi_offset 5, -4
.cfi_offset 4, -8
@@ -175,6 +179,8 @@ ENTRY(FUNCNAME)
#endif
#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.cfi_endproc
+# if !defined(__ARM_DWARF_EH__)
.fnend
+# endif
#endif
END(FUNCNAME)
Index: src/lib/csu/arch/earm/crtbegin.h
diff -u src/lib/csu/arch/earm/crtbegin.h:1.1 src/lib/csu/arch/earm/crtbegin.h:1.2
--- src/lib/csu/arch/earm/crtbegin.h:1.1 Thu Jun 27 21:24:39 2013
+++ src/lib/csu/arch/earm/crtbegin.h Tue May 6 16:02:10 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: crtbegin.h,v 1.1 2013/06/27 21:24:39 matt Exp $ */
+/* $NetBSD: crtbegin.h,v 1.2 2014/05/06 16:02:10 joerg Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -33,7 +33,7 @@ static void __do_global_ctors_aux(void)
static void __do_global_dtors_aux(void) __attribute__((__destructor__)) __used;
#endif
-#ifndef SHARED
+#if !defined(SHARED) && !defined(__ARM_DWARF_EH__)
static const void *find_exidx(void *, int *) __used;
static const void *
@@ -47,4 +47,4 @@ find_exidx(void * pc, int * pcount)
}
__weak_alias(__gnu_Uwind_find_exidx,find_exidx)
-#endif /* !SHARED */
+#endif /* !SHARED && !__ARM_DWARF_EH__ */
Index: src/lib/csu/common/crtbegin.c
diff -u src/lib/csu/common/crtbegin.c:1.8 src/lib/csu/common/crtbegin.c:1.9
--- src/lib/csu/common/crtbegin.c:1.8 Wed Jan 29 20:57:49 2014
+++ src/lib/csu/common/crtbegin.c Tue May 6 16:02:10 2014
@@ -27,7 +27,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: crtbegin.c,v 1.8 2014/01/29 20:57:49 bouyer Exp $");
+__RCSID("$NetBSD: crtbegin.c,v 1.9 2014/05/06 16:02:10 joerg Exp $");
#include "crtbegin.h"
@@ -54,7 +54,7 @@ __weakref_visible void cxa_finalize(void
__dso_hidden void *__dso_handle;
#endif
-#if !defined(__ARM_EABI__)
+#if !defined(__ARM_EABI__) || defined(__ARM_DWARF_EH__)
__dso_hidden
#if !defined(__mips__)
const
@@ -81,7 +81,7 @@ __do_global_ctors_aux(void)
__initialized = 1;
-#if !defined(__ARM_EABI__)
+#if !defined(__ARM_EABI__) || defined(__ARM_DWARF_EH__)
if (register_frame_info)
register_frame_info(__EH_FRAME_LIST__, &dwarf_eh_object);
#endif
@@ -96,7 +96,7 @@ __do_global_ctors_aux(void)
#endif
}
-#if !defined(__ARM_EABI__) || defined(SHARED)
+#if !defined(__ARM_EABI__) || defined(SHARED) || defined(__ARM_DWARF_EH__)
#if !defined(HAVE_INITFINI_ARRAY)
__dso_hidden const fptr_t __aligned(sizeof(void *)) __DTOR_LIST__[] __section(".dtors") = {
(fptr_t) -1,
@@ -127,9 +127,9 @@ __do_global_dtors_aux(void)
}
#endif
-#if !defined(__ARM_EABI__)
+#if !defined(__ARM_EABI__) || defined(__ARM_DWARF_EH__)
if (deregister_frame_info)
deregister_frame_info(__EH_FRAME_LIST__);
#endif
}
-#endif /* !__ARM_EABI__ || SHARED */
+#endif /* !__ARM_EABI__ || SHARED || __ARM_DWARF_EH__ */
Index: src/lib/libexecinfo/unwind_arm_ehabi_stub.c
diff -u src/lib/libexecinfo/unwind_arm_ehabi_stub.c:1.1 src/lib/libexecinfo/unwind_arm_ehabi_stub.c:1.2
--- src/lib/libexecinfo/unwind_arm_ehabi_stub.c:1.1 Thu Apr 25 14:47:30 2013
+++ src/lib/libexecinfo/unwind_arm_ehabi_stub.c Tue May 6 16:02:10 2014
@@ -23,6 +23,8 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
+
+#ifndef __ARM_DWARF_EH__
#include <sys/cdefs.h>
#include <sys/types.h>
#include "unwind.h"
@@ -59,3 +61,5 @@ _Unwind_SetGR(struct _Unwind_Context *co
_Unwind_VRS_Set(context, 0 /*_UVRSC_CORE*/, reg, 0 /*_UVRSD_UINT32*/,
&val);
}
+
+#endif /* __ARM_DWARF_EH__ */