| Fix libffi build with clang because of unsupported asm syntax. |
| https://crbug.com/524171 |
| diff -Nuar old/src/arm/sysv.S new/src/arm/sysv.S |
| --- old/src/arm/sysv.S |
| +++ new/src/arm/sysv.S |
| @@ -360,7 +360,7 @@ |
| cmp r0, #3 |
| sub ip, fp, #64 |
| flddle d0, [ip] |
| - fldmiadgt ip, {d0-d7} |
| + vldmiagt ip, {d0-d7} |
| |
| LSYM(Lbase_args): |
| @ move first 4 parameters in registers |
| @@ -396,7 +396,7 @@ |
| beq LSYM(Lepilogue_vfp) |
| |
| cmp r3, #FFI_TYPE_SINT64 |
| - stmeqia r2, {r0, r1} |
| + stmiaeq r2, {r0, r1} |
| beq LSYM(Lepilogue_vfp) |
| |
| cmp r3, #FFI_TYPE_FLOAT |
| @@ -409,7 +409,7 @@ |
| |
| cmp r3, #FFI_TYPE_STRUCT_VFP_FLOAT |
| cmpne r3, #FFI_TYPE_STRUCT_VFP_DOUBLE |
| - fstmiadeq r2, {d0-d3} |
| + vstmiaeq r2, {d0-d3} |
| |
| LSYM(Lepilogue_vfp): |
| RETLDM "r0-r3,fp" |
| @@ -420,7 +420,7 @@ |
| |
| |
| ARM_FUNC_START(ffi_closure_VFP) |
| - fstmfdd sp!, {d0-d7} |
| + vpush {d0-d7} |
| @ r0-r3, then d0-d7 |
| UNWIND .pad #80 |
| add ip, sp, #80 |
| @@ -470,10 +470,10 @@ |
| ldmia sp, {r0, r1} |
| b .Lclosure_epilogue_vfp |
| .Lretfloat_struct_vfp: |
| - fldmiad sp, {d0-d1} |
| + vldmia sp, {d0-d1} |
| b .Lclosure_epilogue_vfp |
| .Lretdouble_struct_vfp: |
| - fldmiad sp, {d0-d3} |
| + vldmia sp, {d0-d3} |
| b .Lclosure_epilogue_vfp |
| |
| .ffi_closure_VFP_end: |