- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 root 的索尼阅读器 PRS900,运行 OEM linux 内核 2.6.23,我可以从上面的 SD 存储卡驱动器运行任意 bash/sh 脚本。我想编译和执行 C 程序...但遇到动态链接器问题。
我首先尝试在 SD 卡上为 arm(slackware 14's)加载 gcc,但即使使用 LD_LIBRARY_PATH,索尼也无法“找到”最新的 elf .so 库,尽管使用旧库的新程序实际上可以找到正常运行。 (我可以很好地运行 slackware-14 的“readelf”。但不能运行 ar 或 gcc...)如果我尝试升级/lib/ld-linux.so.3,我会收到“内核太旧”的错误消息。
然后我尝试了旧的 slackware 10 版本的 gcc,虽然这解决了 elf 库“查找”问题——然后我在运行程序时遇到“非法指令”错误。
所以——我需要在我的 x86 上为合适的 ARM 处理器制作一个 gcc 交叉编译器,然后用它为 sony 重新编译 gcc。但我不知道我必须使用哪个旧版本的 binutils,因为它组装并链接到 ELF 格式,该格式在索尼上工作或中断。
Sony 正在运行兼容 arm6 的 MX31 EBX5016 处理器。sony 上一些相关的 OEM 文件名是:
/lib/ld-2.5.so
/lib/ld-linux.so.3 -> ld-2.5.s
/lib/libc-2.5.so
/lib/libgcc_s.so.1
我从内核中知道,使用了 gcc-4.2.0。我更愿意使用最新版本的 gcc,它可以与我需要安装的任何旧版 binutils 包一起使用。
如何确定我需要哪个版本的 binutils,以及我有哪些 gcc 选项?谢谢!
最佳答案
您可以在他们的源代码分发服务站点找到索尼使用的工具链:
http://www.sony.net/Products/Linux/Audio/PRS-900.html
看来 sourceryg++-4.2-28armeabi.src.rpm
是编译器。
我不建议在设备本身上运行编译器;会很慢。
关于“非法指令”问题,可能是您的编译器生成了太多新指令,传递 -march=armv6
可能会解决它。
关于c - 用于为索尼阅读器 prs900 编译/交叉编译 gcc 的 binutils,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22419637/
从 prs.slides[4].shapes[3].width 得到的数字的单位是什么,其中 prs 是 python-pptx 中的演示对象?在帮助中,它说“英制公制单位”,但我得到的数字与此不符。
我有these来自 Legend of Mana 的图形文件,我想了解它是如何工作的。 size file name 149968 TWR_I100.IMG 35500 TWR_RA00.
我正在使用数百个 github 存储库(主要是 Terraform),时不时地我需要在这些存储库中推送更改(通常是版本升级)。每个都有多个分支,在合并到 master 之前需要 PR 审查。有没有一种
我正在 Azure DevOps Pipelines 中使用 yaml 管道,我发现它们有两个特定的触发键 trigger 和 pr。 我希望对其进行设置,以便我必须运行测试和安全检查的一些管道仅在创
我的电子书阅读器 (Sony PRS-T1) 的内置浏览器不喜欢下载 .epub 文件。 通常它会像打开文本文件一样打开 .epub 文件。 通过这个 php-download-script,我设法强
我正在尝试在 Drone.io 的 Github 拉取请求中运行 Sonar 扫描。 这是顺序: 公关 Drone.io 构建被触发 Gradle 任务执行 Gradle 的 Sonar 插件在 Dr
在将 git 与 go install 集成的整体简单方法中,我遇到了听起来像是限制的问题。 我在 github 上创建了一个 git 仓库 我现在必须处理同一个存储库中的更改包,以正确引用我自己的分
我们已经将构建策略设置为 CI 流水线的一部分到 master 分支。该策略确保 PR 更改 + master head 在 squash 将 PR 更改 merge 到 master 之前成功构建。
许多学术组织都在 GitHub 上,但也可能有一个自托管的 GitLab CE 实例。 为了自动将前者完全备份到后者,他们可能想要运行某种脚本来触发他们的 GitLab 从他们的 GitHub 组织导
我是一名优秀的程序员,十分优秀!