summaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorjwlemke <jwlemke@138bc75d-0d04-0410-961f-82ee72b054a4>2015-06-23 17:45:18 +0000
committerjwlemke <jwlemke@138bc75d-0d04-0410-961f-82ee72b054a4>2015-06-23 17:45:18 +0000
commit58ddcdad095a1ebd98cfe8d520e4acab71a006ab (patch)
treef3e84a09f81b36174740fdad05f737d29a5fac09 /libgcc
parent0200602eaac600a7b9218dec1d2908396268b705 (diff)
downloadgcc-58ddcdad095a1ebd98cfe8d520e4acab71a006ab.tar.gz
2015-06-23 James Lemke <jwlemke@codesourcery.com>
libgcc/config/arm/ * lib1funcs.S (aeabi_idiv0, aeabi_ldiv0): Add CFI entries. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224854 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libgcc/config/arm/lib1funcs.S11
2 files changed, 14 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 8a1b257b153..956038854ec 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-23 James Lemke <jwlemke@codesourcery.com>
+
+ libgcc/config/arm/
+ * lib1funcs.S (aeabi_idiv0, aeabi_ldiv0): Add CFI entries.
+
2015-05-27 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (CRTSTUFF_CFLAGS): Add $(NO_PIE_CFLAGS).
diff --git a/libgcc/config/arm/lib1funcs.S b/libgcc/config/arm/lib1funcs.S
index e43d9a6c43b..252efcbd538 100644
--- a/libgcc/config/arm/lib1funcs.S
+++ b/libgcc/config/arm/lib1funcs.S
@@ -1336,23 +1336,30 @@ LSYM(Lover12):
#define SIGFPE 8
#ifdef __ARM_EABI__
+ cfi_start __aeabi_ldiv0, LSYM(Lend_aeabi_ldiv0)
WEAK aeabi_idiv0
WEAK aeabi_ldiv0
ARM_FUNC_START aeabi_idiv0
ARM_FUNC_START aeabi_ldiv0
+ do_push {r1, lr}
+98: cfi_push 98b - __aeabi_ldiv0, 0xe, -0x4, 0x8
#else
+ cfi_start __div0, LSYM(Lend_div0)
ARM_FUNC_START div0
+ do_push {r1, lr}
+98: cfi_push 98b - __div0, 0xe, -0x4, 0x8
#endif
- do_push {r1, lr}
mov r0, #SIGFPE
bl SYM(raise) __PLT__
- RETLDM r1
+ RETLDM r1 unwind=98b
#ifdef __ARM_EABI__
+ cfi_end LSYM(Lend_aeabi_ldiv0)
FUNC_END aeabi_ldiv0
FUNC_END aeabi_idiv0
#else
+ cfi_end LSYM(Lend_div0)
FUNC_END div0
#endif