生成内核映像时,出现无法识别的命令行选项“-mlongcalls”错误
While generating kernel image, Getting error as unrecognized command line option ‘-mlongcalls'
在为 Xtensa ISS 平台生成内核映像时
我收到编译错误,因为无法识别的命令行选项“-mlongcalls”
任何人都可以向我解释 -mlongcalls 吗?为什么无法识别?
我正在使用 Buildroot 生成交叉编译环境。
参考man gcc
"
**-mlongcalls**
**-mno-longcalls**
When this option is enabled, GCC instructs the assembler to translate direct calls to indirect calls unless it can determine that the target of a direct call is in the range
allowed by the call instruction. This translation typically occurs for calls to functions in other source files. Specifically, the assembler translates a direct "CALL"
instruction into an "L32R" followed by a "CALLX" instruction. The default is -mno-longcalls. This option should be used in programs where the call target can potentially be
out of range. This option is implemented in the assembler, not the compiler, so the assembly code generated by GCC still shows direct call instructions---look at the
disassembled object code to see the actual instructions. Note that the assembler uses an indirect call for every cross-file call, not just those that really are out of range.
"
在为 Xtensa ISS 平台生成内核映像时 我收到编译错误,因为无法识别的命令行选项“-mlongcalls” 任何人都可以向我解释 -mlongcalls 吗?为什么无法识别? 我正在使用 Buildroot 生成交叉编译环境。
参考man gcc
"
**-mlongcalls**
**-mno-longcalls**
When this option is enabled, GCC instructs the assembler to translate direct calls to indirect calls unless it can determine that the target of a direct call is in the range
allowed by the call instruction. This translation typically occurs for calls to functions in other source files. Specifically, the assembler translates a direct "CALL"
instruction into an "L32R" followed by a "CALLX" instruction. The default is -mno-longcalls. This option should be used in programs where the call target can potentially be
out of range. This option is implemented in the assembler, not the compiler, so the assembly code generated by GCC still shows direct call instructions---look at the
disassembled object code to see the actual instructions. Note that the assembler uses an indirect call for every cross-file call, not just those that really are out of range.
"