python – R_PPC_REL24重定位超出范围
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – R_PPC_REL24重定位超出范围,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1042字,纯文字阅读大概需要2分钟。
内容图文
![python – R_PPC_REL24重定位超出范围](/upload/InfoBanner/zyjiaocheng/800/1b6eeefcef6d4b72a43c701e2a81ee9a.jpg)
我正在研究嵌入式powerpc(e500v2)平台.我正在使用gcc 4.6.3和eglibc 2.13进行交叉编译.有一个swig库可以在目标上编译和加载.当它在python中加载时,我在回溯中收到此错误:
ImportError: /opt/load/lib/libISSDcn.so: R_PPC_REL24 relocation at 0x0ddc99c0 for symbol `longjmp' out of range
我以前在这个库中遇到过困难,我正在从目标的python 2.5迁移到2.7.当我最初尝试编译这个库时,我在编译时得到重定位错误或操作数超出范围错误,具体取决于我使用的标志.我切换到gcc 4.6.3现在它构建,但我加载时收到此错误.
我试图理解这个错误,但到目前为止,我对它究竟意味着什么以及如何修复它一无所知.我知道某个符号由于某种原因无法找到,但我不明白为什么,或者如何修复它.
解决方法:
R_PPC_REL24重定位用于24位相对偏移.此类型的重定位不应出现在动态重定位表中(这些重定位表用于可加载对象内部的引用,而不是它们之间的引用,因为库可以加载到超过16 MiB的地址).
默认情况下,编译器会尽可能生成这些重定位,因为这比使用完整的32位地址的代码要小得多且速度快,但是对于动态链接,需要将完整地址用于外部可见符号和生成的PIC / GOT条目.
检查-fPIC标志是否用于构建库,并且还通知链接器它正在构建共享对象(通常是通过-shared或-Bshared).
内容总结
以上是互联网集市为您收集整理的python – R_PPC_REL24重定位超出范围全部内容,希望文章能够帮你解决python – R_PPC_REL24重定位超出范围所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。