确定Linux(库或可执行文件)中二进制文件的目标ISA扩展
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了确定Linux(库或可执行文件)中二进制文件的目标ISA扩展,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1160字,纯文字阅读大概需要2分钟。
内容图文
![确定Linux(库或可执行文件)中二进制文件的目标ISA扩展](/upload/InfoBanner/zyjiaocheng/951/bea98fc7bdd74a0e9130524d78b9c0f0.jpg)
我们遇到了一个与在Advantech POS板上使用Via C3处理器在(相当旧的)FC3下运行的Java应用程序相关的问题. java应用程序有几个已编译的共享库,可通过JNI访问.
通过C3处理器应该是i686兼容.前段时间在使用相同处理器的MiniItx主板上安装Ubuntu 6.10之后,我发现之前的声明并非100%正确.由于缺少C3处理器中i686设置的一些特定和可选指令,Ubuntu内核在启动时挂起.在使用i686优化时,GCC编译器默认使用i686集的C3实现中缺少的这些指令.在这种情况下,解决方案是使用i386编译版本的Ubuntu发行版.
Java应用程序的基本问题是通过克隆另一台PC的HD映像来安装在HD上的FC3发行版,这次是Intel P4.之后,分发需要一些黑客才能让它运行,比如用i386编译的版本替换一些软件包(例如内核).
问题是,工作一段时间后系统完全挂起而没有任何痕迹.我担心一些i686代码会留在系统中的某个地方,并且可以随时随机执行(例如从暂停模式恢复后或类似的东西).
我的问题是:
>是否有任何工具或方法可以找出二进制文件(可执行文件或库)所需的特定体系结构扩展?文件没有提供足够的信息.
解决方法:
我认为你需要一个检查每条指令的工具,以确定它属于哪个集合.是否有C3处理器实现的特定指令集的官方名称?如果没有,它甚至更加毛茸茸.
如果您可以确定不允许的指令的位模式,那么quick’n’dirty变体可能是在文件中进行原始搜索.只需直接测试它们,就可以通过一个简单的objdump来完成例如,grep链.
内容总结
以上是互联网集市为您收集整理的确定Linux(库或可执行文件)中二进制文件的目标ISA扩展全部内容,希望文章能够帮你解决确定Linux(库或可执行文件)中二进制文件的目标ISA扩展所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。