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__ */

Reply via email to