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