From e2b7721db6b62c148484064c7b8a0601737c52b4 Mon Sep 17 00:00:00 2001 From: Andrew Mahone Date: Mon, 1 Feb 2010 04:50:25 +0000 Subject: Some sort of issue in the signed divider is causing Gigabeat S to abort on startup, disable this routine until it's fixed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24436 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/support-arm.S | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/firmware/target/arm/support-arm.S b/firmware/target/arm/support-arm.S index 1b048f2e4f..38587b2adc 100644 --- a/firmware/target/arm/support-arm.S +++ b/firmware/target/arm/support-arm.S @@ -605,10 +605,10 @@ __div0_wrap: .size __div0_wrap, . - __div0_wrap #ifndef __ARM_EABI__ +#if ARM_ARCH < 5 /* Gigabeat S is crashing on boot with this enabled */ .global __divsi3 .type __divsi3,%function - .global __udivsi3 - .type __udivsi3,%function +#endif .global __udivsi3 .type __udivsi3,%function #else @@ -619,12 +619,14 @@ __div0_wrap: .global __aeabi_uidiv .type __aeabi_uidiv,%function .set __aeabi_uidiv,__aeabi_uidivmod +#if ARM_ARCH < 5 /* Gigabeat S is crashing on boot with this enabled */ .global __aeabi_idivmod .type __aeabi_idivmod,%function .global __aeabi_idiv .type __aeabi_idiv,%function .set __aeabi_idiv,__aeabi_idivmod #endif +#endif #if ARM_ARCH < 5 @@ -673,19 +675,23 @@ __udivsi3: ARMV5_UDIV32_BODY r0, r1, r0, "", r2, r3, ip, __div0_wrap, 1 .size __udivsi3, . - __udivsi3 +#if ARM_ARCH < 5 /* Gigabeat S is crashing on boot with this enabled */ __divsi3: ARMV5_SDIV32_BODY r0, r1, r0, "", r2, lr, ip, r3, __div0_wrap_s, "ldr pc, [sp, #-4]" .size __divsi3, . - __divsi3 +#endif #else __aeabi_uidivmod: ARMV5_UDIV32_BODY r0, r1, r0, r1, r2, r3, ip, __div0_wrap, 1 .size __aeabi_uidivmod, . - __aeabi_uidivmo +#if ARM_ARCH < 5 /* Gigabeat S is crashing on boot with this enabled */ __aeabi_idivmod: ARMV5_SDIV32_BODY r0, r1, r0, r1, r2, lr, ip, r3, __div0_wrap_s, "ldr pc, [sp, #-4]" .size __aeabi_idivmod, . - __aeabi_idivmod #endif +#endif .L_udiv_est_table: .byte 0xff, 0xfc, 0xf8, 0xf4, 0xf0, 0xed, 0xea, 0xe6 -- cgit v1.2.3