- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在链接 MPC5554 的 FreeScale Code Warrior 5.9,这是一款带有 e500mc 内核的 PPC 芯片。我正在使用为 powerpc-none-eabi 编译的 GCC 4.6.4 进行编译。
我正在使用 GCC 交叉编译器为我的项目编译一些 C 代码,包括 main
文件。不过,我需要使用 Code Warrior 进行链接。 GCC 在 main 的开头添加了一个名为 __eabi 的函数的调用,该函数应该初始化几个寄存器。它无法删除,并且对于我正在做的事情来说是不必要的。 GCC 希望它由 crt 提供。
这些是我的 GCC 编译标志:-O2 -std=c99 -w -mno-eabi -mregnames -mcpu=e500mc -misel=yes -mfloat-gprs=single -mno-string -msdata=none
GCC PowerPC 的文档说有一个 -no-eabi
参数,应该删除这个参数,但是如果你深入研究它,就会发现许多错误报告指出该文档是错误,并且该标志实际上并未删除对 __eabi
的调用。
我尝试简单地将 __eabi
函数添加到 CodeWarrior 的 crt 中。在 __ppc_eabi_init.c 中我添加了函数:
asm extern void __eabi(void)
{
addis r13,r0,_SDA_BASE_@h
ori r13,r13,_SDA_BASE_@l
addis r2,r0,_SDA2_BASE_@h
ori r2,r2,_SDA2_BASE_@l
blr
}
但是,当我尝试链接时,我仍然收到 main.o 中 main 的 __eabi
未定义的错误。 Code Warrior 链接器似乎找不到我的函数。我验证了 __ppc_eabi_init.c 在链接顺序中是第一个。
我怎样才能得到这个链接?有没有办法删除对 __eabi
的调用?为什么我提供的功能Code Warrior找不到?
最佳答案
事实证明,我的想法是正确的,但我不小心将 __eabi
函数定义放入了从汇编中排除的 #ifdef
block 中。当我将定义移到该 block 之外时,它正确链接。
我还修改了提供的链接器脚本,以便它们能够正确定位 GCC 用于只读数据的 .rodata.cst* 部分。我不确定这是否重要,但我收到了来自链接器的警告,所以我修复了它。
在MPC5554.lcf中,我改变了
.rodata (CONST) : {
*(.rdata)
*(.rodata)
}
阅读
.rodata (CONST) : {
*(.rdata)
*(.rodata)
*(.rodata.cst*)
}
关于c - 使用 FreeScale Code Warrior 将 GCC 目标文件与 main 中的 __eabi 调用链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35847470/
code
正常吗?
我刚刚开始使用 YARD 来记录我的 Rails 应用程序。我没有指定任何特定的标记处理程序,但我希望 `code` 会转换为 code,但这似乎没有发生。这是正常行为吗?我是否必须添加一些额外的选项
什么是Code-Server 首先程序员朋友们肯定都用过来自微软的VS Code 这款轻量而又高级的编辑器,拥有丰富的插件库,支持各种语言编译运行。而本文介绍的Code-Server就是coder 公
我是一名高中生,今年开始学习汇编。 我目前正在制作 Pacman 克隆作为我的最终项目。 我遇到的唯一问题是我的代码很大,*.exe 文件几乎有 64KB。 所以我的问题是,如果我转向模型介质,我需要
锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 挑战 按字符计数绘制 Code 39 条码的 ASCII 表示的最短代码。 维基百科关于代码 3
我正在开发 VS 代码的扩展(使用 javascript)。现在我需要安装 VS Code 的路径。 windows有一种方法: var child = require('child_process'
[Windows 10] 我在自定义目录中安装了“Microsoft VS Code(用户设置)”,每当我尝试更新它时,都会显示: 然后这个 Log Info Dec 23 11:42:40.673
我正在尝试更新我的 VS 代码,但收到一条错误消息:由于防病毒软件和/或进程失控,更新可能会失败。 附加了一个来 self 的用户的日志文件,但我不确定要检查什么。我对计算机和编程还是个新手。 最佳答
几天前我安装了 Kali Linux。我正在尝试使用 Code-OSS 而不是 VSCode,因为最新版本的 Kali 没有安装普通版本所需的库。 如果我尝试使用 code-oss . 或 code
我正在从 Atom 迁移到 VS Code,因为这似乎是当今所有酷 child 都在使用的东西。 在 atom 中,我能够如图所示突出显示当前行号(装订线中的蓝色突出显示)。 有没有办法在 VS Co
我试图找到一个明确的 G 代码语法规范,而不是单个 G 代码的含义,我无处不在的规范,我的意思是详细的语法规范,目的是编写解析器。 我编写解析器没有问题,我只是在寻找语法规范,例如。我知道您不必总是为
我想在 VS Code (Windows) 中使用 Fira Code,并且已经按照 instructions 中的说明配置了字体。 。不知何故,字体看起来很模糊。我该如何解决这个问题? "edito
这个问题已经有答案了: How can I navigate back to the last cursor position in Visual Studio Code? (16 个回答) 已关闭
如何选择当前单词,即插入符号所在的位置。 注意:我正在寻找 Visual Studio Code(VS Code)(文本编辑器)的快捷方式,而不是 Visual Studio IDE。 最佳答案 在
我需要在 VS Code 中安装 flutter 但在安装扩展中,我有这个错误 Unable to install 'Dart-Code.flutter'; there is no available
memberData
有什么区别
{@code memberData} 和有什么区别?和 memberData在 JavaDoc 中 最佳答案 有两个主要区别: {@code ...}更简洁:更易于阅读(和输入)。 {@code ..
我有这样一个字符串: Here is my code sample, its not too great: [CODE] [/CODE] I hope you enjoy. 现在我想用 highli
在 VS Code 中,我有一个少于 50 个文件的 Vue 项目,但是在运行开发服务器时 VS Code 抛出 Error: ENOSPC: System limit for number of f
Source Code Pro 如何在 VSC 中使用 ExtraLight ~? 似乎以下不起作用...... 我确定我有字体。 Source Code Pro ExtraLight 最佳答案 编辑
我对 Visual Studio Code 很陌生。我正在尝试调试一个已经存在的应用程序,我已经通过 Git 克隆了它。我的文件都没有被修改。我已经下载了微软扩展“C# for Visual Stud
Visual Code VS Visual Studio Code Insider 我还是不明白这两者有什么区别,难道其中一个是新功能的试用版吗? 最佳答案 Visual Studio Code In
我是一名优秀的程序员,十分优秀!