Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset d11a181 in mainline


Ignore:
Timestamp:
2012-04-11T13:01:28Z (10 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master
Children:
01b0262, 3e72e41, 4f4cae1, 85f2064, 9b0a6b4, c127e1c
Parents:
0e56575d
Message:

finally unbreak the ARM EABI division and modulo wrappers

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/arm32/src/eabi.S

    r0e56575d rd11a181  
    3939
    4040__aeabi_idiv:
    41         push {sp, lr}
     41        push {lr}
    4242        bl __divsi3
    43         ldr lr, [sp, #4]
    44         add sp, sp, #8
     43        pop {lr}
    4544        mov pc, lr
    4645
    4746__aeabi_uidiv:
    48         push {sp, lr}
     47        push {lr}
    4948        bl __udivsi3
    50         ldr lr, [sp, #4]
    51         add sp, sp, #8
     49        pop {lr}
    5250        mov pc, lr
    5351
    5452__aeabi_idivmod:
    55         sub sp, sp, #8
    56         push {sp, lr}
    57         bl __divmodsi3
    58         ldr lr, [sp, #4]
    59         add sp, sp, #8
    60         pop {r1, r2}
     53        push {lr}
     54        sub sp, sp, #12
     55        add r2, sp, #4
     56        bl __udivmodsi3
     57        ldr r1, [sp, #4]
     58        add sp, sp, #12
     59        pop {lr}
    6160        mov pc, lr
    6261
    6362__aeabi_uidivmod:
    64         sub sp, sp, #8
    65         push {sp, lr}
     63        push {lr}
     64        sub sp, sp, #12
     65        add r2, sp, #4
    6666        bl __udivmodsi3
    67         ldr lr, [sp, #4]
    68         add sp, sp, #8
    69         pop {r1, r2}
     67        ldr r1, [sp, #4]
     68        add sp, sp, #12
     69        pop {lr}
    7070        mov pc, lr
    7171
    7272__aeabi_ldivmod:
    73         sub sp, sp, #8
    74         push {sp, lr}
     73        push {lr}
     74        sub sp, sp, #24
     75        push {sp}
    7576        bl __divmoddi3
    76         ldr lr, [sp, #4]
    77         add sp, sp, #8
     77        add sp, sp, #4
    7878        pop {r2, r3}
     79        add sp, sp, #16
     80        pop {lr}
    7981        mov pc, lr
    8082
    8183__aeabi_uldivmod:
    82         sub sp, sp, #8
    83         push {sp, lr}
     84        push {lr}
     85        sub sp, sp, #24
     86        push {sp}
    8487        bl __udivmoddi3
    85         ldr lr, [sp, #4]
    86         add sp, sp, #8
     88        add sp, sp, #4
    8789        pop {r2, r3}
     90        add sp, sp, #16
     91        pop {lr}
    8892        mov pc, lr
  • kernel/arch/arm32/src/eabi.S

    r0e56575d rd11a181  
    3939
    4040__aeabi_idiv:
    41         push {sp, lr}
     41        push {lr}
    4242        bl __divsi3
    43         ldr lr, [sp, #4]
    44         add sp, sp, #8
     43        pop {lr}
    4544        mov pc, lr
    4645
    4746__aeabi_uidiv:
    48         push {sp, lr}
     47        push {lr}
    4948        bl __udivsi3
    50         ldr lr, [sp, #4]
    51         add sp, sp, #8
     49        pop {lr}
    5250        mov pc, lr
    5351
    5452__aeabi_idivmod:
    55         sub sp, sp, #8
    56         push {sp, lr}
    57         bl __divmodsi3
    58         ldr lr, [sp, #4]
    59         add sp, sp, #8
    60         pop {r1, r2}
     53        push {lr}
     54        sub sp, sp, #12
     55        add r2, sp, #4
     56        bl __udivmodsi3
     57        ldr r1, [sp, #4]
     58        add sp, sp, #12
     59        pop {lr}
    6160        mov pc, lr
    6261
    6362__aeabi_uidivmod:
    64         sub sp, sp, #8
    65         push {sp, lr}
     63        push {lr}
     64        sub sp, sp, #12
     65        add r2, sp, #4
    6666        bl __udivmodsi3
    67         ldr lr, [sp, #4]
    68         add sp, sp, #8
    69         pop {r1, r2}
     67        ldr r1, [sp, #4]
     68        add sp, sp, #12
     69        pop {lr}
    7070        mov pc, lr
    7171
    7272__aeabi_ldivmod:
    73         sub sp, sp, #8
    74         push {sp, lr}
     73        push {lr}
     74        sub sp, sp, #24
     75        push {sp}
    7576        bl __divmoddi3
    76         ldr lr, [sp, #4]
    77         add sp, sp, #8
     77        add sp, sp, #4
    7878        pop {r2, r3}
     79        add sp, sp, #16
     80        pop {lr}
    7981        mov pc, lr
    8082
    8183__aeabi_uldivmod:
    82         sub sp, sp, #8
    83         push {sp, lr}
     84        push {lr}
     85        sub sp, sp, #24
     86        push {sp}
    8487        bl __udivmoddi3
    85         ldr lr, [sp, #4]
    86         add sp, sp, #8
     88        add sp, sp, #4
    8789        pop {r2, r3}
     90        add sp, sp, #16
     91        pop {lr}
    8892        mov pc, lr
  • uspace/lib/c/arch/arm32/src/eabi.S

    r0e56575d rd11a181  
    4545
    4646__aeabi_idiv:
    47         push {sp, lr}
     47        push {lr}
    4848        bl __divsi3
    49         ldr lr, [sp, #4]
    50         add sp, sp, #8
     49        pop {lr}
    5150        mov pc, lr
    5251
    5352__aeabi_uidiv:
    54         push {sp, lr}
     53        push {lr}
    5554        bl __udivsi3
    56         ldr lr, [sp, #4]
    57         add sp, sp, #8
     55        pop {lr}
    5856        mov pc, lr
    5957
    6058__aeabi_idivmod:
    61         sub sp, sp, #8
    62         push {sp, lr}
    63         bl __divmodsi3
    64         ldr lr, [sp, #4]
    65         add sp, sp, #8
    66         pop {r1, r2}
     59        push {lr}
     60        sub sp, sp, #12
     61        add r2, sp, #4
     62        bl __udivmodsi3
     63        ldr r1, [sp, #4]
     64        add sp, sp, #12
     65        pop {lr}
    6766        mov pc, lr
    6867
    6968__aeabi_uidivmod:
    70         sub sp, sp, #8
    71         push {sp, lr}
     69        push {lr}
     70        sub sp, sp, #12
     71        add r2, sp, #4
    7272        bl __udivmodsi3
    73         ldr lr, [sp, #4]
    74         add sp, sp, #8
    75         pop {r1, r2}
     73        ldr r1, [sp, #4]
     74        add sp, sp, #12
     75        pop {lr}
    7676        mov pc, lr
    7777
    7878__aeabi_ldivmod:
    79         sub sp, sp, #8
    80         push {sp, lr}
     79        push {lr}
     80        sub sp, sp, #24
     81        push {sp}
    8182        bl __divmoddi3
    82         ldr lr, [sp, #4]
    83         add sp, sp, #8
     83        add sp, sp, #4
    8484        pop {r2, r3}
     85        add sp, sp, #16
     86        pop {lr}
    8587        mov pc, lr
    8688
    8789__aeabi_uldivmod:
    88         sub sp, sp, #8
    89         push {sp, lr}
     90        push {lr}
     91        sub sp, sp, #24
     92        push {sp}
    9093        bl __udivmoddi3
    91         ldr lr, [sp, #4]
    92         add sp, sp, #8
     94        add sp, sp, #4
    9395        pop {r2, r3}
     96        add sp, sp, #16
     97        pop {lr}
    9498        mov pc, lr
Note: See TracChangeset for help on using the changeset viewer.