aarch64-linux-gnu-gcc: error: unrecognized argument in option ‘-mabi=apcs-gnu’
时间: 2023-12-14 19:05:00 浏览: 299
This error message indicates that the compiler is not recognizing the argument "-mabi=apcs-gnu". This could happen if the version of the compiler being used is outdated, or if the option is not supported by the compiler.
To resolve this issue, try updating to the latest version of the compiler, or use a different option that is supported by the compiler. You can also check the compiler documentation for more information on the supported options.
相关问题
在make prepare时报错aarch64-none-linux-gnu-gcc: error: unrecognized argument in option '-mcmodel=kernel' aarch64-none-linux-gnu-gcc: note: valid arguments to '-mcmodel=' are: large small tiny aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-sse'; did you mean '-fno-dse'? aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-mmx' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-sse2' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-3dnow' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-m64' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-red-zone' scripts/Makefile.build:273: recipe for target 'scripts/mod/empty.o' failed具体如何解决
这个错误可能是由于编译器版本不兼容或编译选项有误导致的。您可以尝试以下步骤来解决该问题:
1. 确认您使用的是正确版本的编译器。您可以尝试更新编译器或使用另一个版本的编译器。
2. 检查编译选项。在Makefile中,可能有一些选项需要根据您的编译器版本进行调整。 您可以尝试删除一些选项,或者添加一些适当的选项,例如:
-mcmodel=large
-mno-sse -fno-dse
-mno-mmx
-mno-sse2
-mno-3dnow
-mno-red-zone
3. 检查您的内核配置。您可以尝试禁用CONFIG_STRICT_KERNEL_RWX选项,并重新编译内核。
希望这些解决方案可以帮助您解决问题。
aarch64-linux-gnu-gcc: note: valid arguments to ‘-mabi=’ are: ilp32 lp64
These are options for the -mabi flag in the aarch64-linux-gnu-gcc compiler:
- ilp32: This stands for "integer long pointer 32-bit". It specifies that integer and long types should be 32 bits in size, and that pointers should also be 32 bits in size. This ABI is used for systems where memory is limited, such as embedded devices.
- lp64: This stands for "long pointer 64-bit". It specifies that integer types should be 32 bits in size, but long and pointer types should be 64 bits in size. This ABI is used for systems with larger amounts of memory, such as desktop computers and servers.
The note is simply informing the user that these are the only valid options for the -mabi flag, and that any other options will not be recognized by the compiler.