首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:在android中构建libunwind时需要lo寄存器

错误:在android中构建libunwind时需要lo寄存器
EN

Stack Overflow用户
提问于 2015-11-30 08:16:50
回答 1查看 3.4K关注 0票数 1

我想在eclipse上使用ndk r10d从Android源代码构建libunwind。但我在编译"Gresume.c“时失败了,asm代码也失败了。我不懂asm代码,我搜索了任何地方都找不到有同样问题的人,所以我希望有人能帮我。

代码的错误行是:

代码语言:javascript
复制
  asm __volatile__ (
"ldmia %0, {r4-r12, lr}\n"
"mov sp, r12\n"
"bx lr\n"
: : "r" (regs) ,
    "m" (*(struct regs_overlay *)regs)
  );

错误输出:

armeabi编译拇指: MyBacktrace <= Gresume.c obj/local/armeabi/objs/MyBacktrace/libunwind/src/arm/Gresume.o汇编程序消息: /var/folders/g7/9gd3cwy96z12qt3vlf7sc5q80000gn/T//cc6jsBSj.s:88:错误:所需的lo寄存器-‘ldmiar2,{r4-r12,lr}’make:*obj/local/armeabi/objs/MyBacktrace/libunwind/src/arm/Gresume.o错误1

完整的代码可以在下面的链接.中找到

EN

回答 1

Stack Overflow用户

发布于 2020-04-21 15:37:26

来自这里的简短解决方案,将您的代码放在一个独立的.s文件中,开头是这样的:

代码语言:javascript
复制
.thumb
.syntax unified

但我还是不明白为什么会起作用..。

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

https://stackoverflow.com/questions/33994100

复制
相关文章

相似问题

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