Overview
Comment: | Fix clang removing fstmfdd and fldmfdd |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
e2beb92297ec5367ac99c73c3197450e |
User & Date: | js on 2019-11-24 16:00:30 |
Other Links: | manifest | tags |
Context
2019-11-24
| ||
16:42 | Fix compilation for iOS/ARM64 with newer Xcode check-in: 090f42fc70 user: js tags: trunk | |
16:00 | Fix clang removing fstmfdd and fldmfdd check-in: e2beb92297 user: js tags: trunk | |
15:25 | .travis.yml: Re-enable Amiga and Wii builds check-in: 7a52095b63 user: js tags: trunk | |
Changes
Modified src/forwarding/apple-forwarding-arm.S from [54eb048dac] to [6201d871d1].
︙ | ︙ | |||
32 33 34 35 36 37 38 | .long 0, 0 .section __TEXT, __text, regular, pure_instructions .arm .align 2 _of_forward: stmfd sp!, {r0-r4, lr} | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | .long 0, 0 .section __TEXT, __text, regular, pure_instructions .arm .align 2 _of_forward: stmfd sp!, {r0-r4, lr} vstmdb sp!, {d0-d7} ldr r4, sel_forwardingTargetForSelector_$indirect_L0 L0: ldr r4, [pc, r4] blx _object_getClass |
︙ | ︙ | |||
57 58 59 60 61 62 63 | cmp r0, #0 beq 0f ldr r1, [sp, #64] cmp r0, r1 beq 0f | | | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | cmp r0, #0 beq 0f ldr r1, [sp, #64] cmp r0, r1 beq 0f vldmia sp!, {d0-d7} add sp, sp, #4 @ throw away r0 ldmfd sp!, {r1-r4, lr} b _objc_msgSend 0: vldmia sp!, {d0-d7} ldmfd sp!, {r0-r4, lr} b _of_method_not_found .data_region sel_forwardingTargetForSelector_$indirect_L0: .long sel_forwardingTargetForSelector_-(L0+8) .end_data_region .align 2 _of_forward_stret: stmfd sp!, {r0-r4, lr} vstmdb sp!, {d0-d7} ldr r4, sel_forwardingTargetForSelector_$indirect_L1 L1: ldr r4, [pc, r4] mov r0, r1 blx _object_getClass |
︙ | ︙ | |||
104 105 106 107 108 109 110 | beq 0f ldr r1, [sp, #68] cmp r0, r1 beq 0f mov r1, r0 | | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | beq 0f ldr r1, [sp, #68] cmp r0, r1 beq 0f mov r1, r0 vldmia sp!, {d0-d7} ldmfd sp!, {r0} add sp, sp, #4 @ throw away r1 ldmfd sp!, {r2-r4, lr} b _objc_msgSend_stret 0: vldmia sp!, {d0-d7} ldmfd sp!, {r0-r4, lr} b _of_method_not_found_stret .data_region sel_forwardingTargetForSelector_$indirect_L1: .long sel_forwardingTargetForSelector_-(L1+8) .end_data_region |
Modified src/forwarding/forwarding-arm-elf.S from [461b1eeec9] to [33bad73f5d].
︙ | ︙ | |||
25 26 27 28 29 30 31 | .globl of_forward .globl of_forward_stret .section .text of_forward: #ifdef HAVE_VFP2 | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | .globl of_forward .globl of_forward_stret .section .text of_forward: #ifdef HAVE_VFP2 vstmdb sp!, {d0-d7} #endif stmfd sp!, {r0-r4, lr} ldr r4, sel_forwardingTargetForSelector_$indirect_.L0 .L0: add r4, pc |
︙ | ︙ | |||
64 65 66 67 68 69 70 | str r0, [sp, #0] ldr r1, [sp, #4] bl objc_msg_lookup(PLT) mov r12, r0 ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 | | | | | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | str r0, [sp, #0] ldr r1, [sp, #4] bl objc_msg_lookup(PLT) mov r12, r0 ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 vldmia sp!, {d0-d7} #endif bx r12 0: ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 vldmia sp!, {d0-d7} #endif b of_method_not_found(PLT) .type of_forward, %function .size of_forward, .-of_forward of_forward_stret: #ifdef HAVE_VFP2 vstmdb sp!, {d0-d7} #endif stmfd sp!, {r0-r4, lr} ldr r4, sel_forwardingTargetForSelector_$indirect_.L1 .L1: add r4, pc |
︙ | ︙ | |||
120 121 122 123 124 125 126 | str r0, [sp, #4] ldr r1, [sp, #8] bl objc_msg_lookup_stret(PLT) mov r12, r0 ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 | | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | str r0, [sp, #4] ldr r1, [sp, #8] bl objc_msg_lookup_stret(PLT) mov r12, r0 ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 vldmia sp!, {d0-d7} #endif bx r12 0: ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 vldmia sp!, {d0-d7} #endif b of_method_not_found_stret(PLT) .type of_forward_stret, %function .size of_forward_stret, .-of_forward_stret init: ldr r0, module$indirect_.L2 |
︙ | ︙ |