Module Name: src
Committed By: matt
Date: Wed Sep 4 21:17:15 UTC 2013
Modified Files:
src/lib/libc/arch/arm/gen: swapcontext.S
src/lib/libc/arch/arm/sys: cerror.S
Log Message:
only emit cfi if __ARM_EABI__ && __UNWIND_TABLES__
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/arm/gen/swapcontext.S
cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/arm/sys/cerror.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/arch/arm/gen/swapcontext.S
diff -u src/lib/libc/arch/arm/gen/swapcontext.S:1.10 src/lib/libc/arch/arm/gen/swapcontext.S:1.11
--- src/lib/libc/arch/arm/gen/swapcontext.S:1.10 Tue Sep 3 00:30:19 2013
+++ src/lib/libc/arch/arm/gen/swapcontext.S Wed Sep 4 21:17:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: swapcontext.S,v 1.10 2013/09/03 00:30:19 matt Exp $ */
+/* $NetBSD: swapcontext.S,v 1.11 2013/09/04 21:17:15 matt Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -33,19 +33,23 @@
#include "assym.h"
#if defined(LIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: swapcontext.S,v 1.10 2013/09/03 00:30:19 matt Exp $")
+ RCSID("$NetBSD: swapcontext.S,v 1.11 2013/09/04 21:17:15 matt Exp $")
#endif /* LIBC_SCCS && !lint */
ENTRY(swapcontext)
+#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.fnstart
.cfi_startproc
+#endif
push {r0-r2, lr} /* Must save oucp, ucp, lr. */
+#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.save {r0-r2, lr}
.cfi_def_cfa_offset 16
.cfi_offset 14, -4
.cfi_offset 2, -8
.cfi_offset 1, -12
.cfi_offset 0, -16
+#endif
bl PIC_SYM(_C_LABEL(_getcontext), PLT) /* getcontext(oucp) */
cmp r0, #0
#if !defined(__thumb__)
@@ -55,8 +59,10 @@ ENTRY(swapcontext)
#else
pop {r0-r3}
beq 1f
+#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.cfi_def_cfa_offset 0
.cfi_register 14, 3
+#endif
RETr(r3)
1:
#endif
@@ -80,6 +86,8 @@ ENTRY(swapcontext)
bl PIC_SYM(_C_LABEL(setcontext), PLT)
pop {pc}
#endif
+#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.cfi_endproc
.fnend
+#endif
END(swapcontext)
Index: src/lib/libc/arch/arm/sys/cerror.S
diff -u src/lib/libc/arch/arm/sys/cerror.S:1.10 src/lib/libc/arch/arm/sys/cerror.S:1.11
--- src/lib/libc/arch/arm/sys/cerror.S:1.10 Tue Sep 3 00:30:19 2013
+++ src/lib/libc/arch/arm/sys/cerror.S Wed Sep 4 21:17:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: cerror.S,v 1.10 2013/09/03 00:30:19 matt Exp $ */
+/* $NetBSD: cerror.S,v 1.11 2013/09/04 21:17:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -35,12 +35,12 @@
ENTRY_NP(CERROR)
#ifdef _REENTRANT
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.fnstart
.cfi_startproc
#endif
push {r4, lr}
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.save {r4, lr}
.cfi_def_cfa_offset 8
.cfi_offset 14, -4
@@ -57,12 +57,12 @@ ENTRY_NP(CERROR)
#endif
mov r1, r0
pop {r4, pc}
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.cfi_endproc
.fnend
#endif
#else /* !_REENTRANT */
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.fnstart
.cfi_startproc
#endif
@@ -84,7 +84,7 @@ ENTRY_NP(CERROR)
#endif /* __thumb__ */
mov r1, r0
RET
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__)
.cfi_endproc
.fnend
#endif