~martin-decky/helenos/rcu

« back to all changes in this revision

Viewing changes to boot/arch/arm32/src/eabi.S

  • Committer: Martin Decky
  • Date: 2012-04-11 13:01:28 UTC
  • Revision ID: martin@decky.cz-20120411130128-5ixgsl9zhx4v63un
finally unbreak the ARM EABI division and modulo wrappers

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
.global __aeabi_uldivmod
39
39
 
40
40
__aeabi_idiv:
41
 
        push {sp, lr}
 
41
        push {lr}
42
42
        bl __divsi3
43
 
        ldr lr, [sp, #4]
44
 
        add sp, sp, #8
 
43
        pop {lr}
45
44
        mov pc, lr
46
45
 
47
46
__aeabi_uidiv:
48
 
        push {sp, lr}
 
47
        push {lr}
49
48
        bl __udivsi3
50
 
        ldr lr, [sp, #4]
51
 
        add sp, sp, #8
 
49
        pop {lr}
52
50
        mov pc, lr
53
51
 
54
52
__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}
61
60
        mov pc, lr
62
61
 
63
62
__aeabi_uidivmod:
64
 
        sub sp, sp, #8
65
 
        push {sp, lr}
 
63
        push {lr}
 
64
        sub sp, sp, #12
 
65
        add r2, sp, #4
66
66
        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}
70
70
        mov pc, lr
71
71
 
72
72
__aeabi_ldivmod:
73
 
        sub sp, sp, #8
74
 
        push {sp, lr}
 
73
        push {lr}
 
74
        sub sp, sp, #24
 
75
        push {sp}
75
76
        bl __divmoddi3
76
 
        ldr lr, [sp, #4]
77
 
        add sp, sp, #8
 
77
        add sp, sp, #4
78
78
        pop {r2, r3}
 
79
        add sp, sp, #16
 
80
        pop {lr}
79
81
        mov pc, lr
80
82
 
81
83
__aeabi_uldivmod:
82
 
        sub sp, sp, #8
83
 
        push {sp, lr}
 
84
        push {lr}
 
85
        sub sp, sp, #24
 
86
        push {sp}
84
87
        bl __udivmoddi3
85
 
        ldr lr, [sp, #4]
86
 
        add sp, sp, #8
 
88
        add sp, sp, #4
87
89
        pop {r2, r3}
 
90
        add sp, sp, #16
 
91
        pop {lr}
88
92
        mov pc, lr