vim*_*hap 5 c assembly gcc powerpc
我有下面的内联汇编代码。但是当我尝试编译它时,它会抛出代码片段后面提到的错误。
unsigned int func(void)
{
__asm__ ("mfspr r3, svr;");
}
Run Code Online (Sandbox Code Playgroud)
以下是错误。
{standard input}: Assembler messages:
{standard input}:3349: Error: unsupported relocation against r3
{standard input}:3349: Error: unsupported relocation against svr
{standard input}:3375: Error: unsupported relocation against r3
{standard input}:3375: Error: unsupported relocation against svr
{standard input}:3510: Error: unsupported relocation against r3
{standard input}:3510: Error: unsupported relocation against svr
{standard input}:3517: Error: unsupported relocation against r3
{standard input}:3517: Error: unsupported relocation against svr
Run Code Online (Sandbox Code Playgroud)
谁能帮我解决这些问题吗?
显然,gas 没有对这些寄存器的内置支持。为了使用它们,您应该自己定义它们或明确使用它们的索引,例如:
mfspr 3, <some_index_here>
Run Code Online (Sandbox Code Playgroud)
或者,您可以包括:ppc_asm.tmpl。
如果您的核心是e500,那么 svr 索引将为 1023。
| 归档时间: |
|
| 查看次数: |
5022 次 |
| 最近记录: |