首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >arm64的上下文?

arm64的上下文?
EN

Stack Overflow用户
提问于 2014-06-13 01:27:29
回答 1查看 980关注 0票数 1

我正在尝试编译boost::context for iOS(armv7,armv7s,arm64):

误差

代码语言:javascript
复制
jump_arm_aapcs_macho_gas.S:52:18: error: ',' expected
    stmia a1, {v1-v8,sp-lr} @ save V1-V8,SP-LR
                 ^
jump_arm_aapcs_macho_gas.S:53:14: error: register expected
    str lr, [a1,#40] @ save LR as PC
             ^
jump_arm_aapcs_macho_gas.S:69:18: error: invalid variant 'use'
    mov a1, a3 @ use third arg as return value after jump
                 ^
jump_arm_aapcs_macho_gas.S:70:39: error: unexpected token at start of statement
                                    @ and as first arg in context function
                                      ^
jump_arm_aapcs_macho_gas.S:71:18: error: ',' expected
    ldmia a2, {v1-v8,sp-pc} @ restore v1-V8,SP-PC
                 ^

jump_arm_aapcs_macho_gas.S

代码语言:javascript
复制
.text
.globl _jump_fcontext
.align 2
_jump_fcontext:
    stmia   a1, {v1-v8,sp-lr}       @ save V1-V8,SP-LR
    str     lr, [a1,#40]            @ save LR as PC

#if (defined(__VFP_FP__) && !defined(__SOFTFP__))
    cmp     a4, #0                  @ test if fpu env should be preserved
    beq     1f

    mov     a4, a1
    add     a4, #52
    vstmia  a4, {d8-d15}            @ save S16-S31

    mov     a4, a2
    add     a4, #52
    vldmia  a4, {d8-d15}            @ restore S16-S31
1:
#endif

    mov     a1, a3                  @ use third arg as return value after jump
                                    @ and as first arg in context function
    ldmia   a2, {v1-v8,sp-pc}       @ restore v1-V8,SP-PC

如果我移除arm64,并且只将体系结构设置为armv7,它就会编译,所以代码应该很好。

有什么方法可以让它为arm64编译吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-13 11:46:12

ARM64 (AArch64)与ARM32 (A32)在指令和寄存器集上都有很大的不同。调用约定(ABI)也不同。你需要重写汇编程序片段。我建议与开发人员联系,因为您似乎不熟悉底层的细节。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24196398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档