Reputation: 1
While compiling kernel 3.15.6 on Fedora 20 which is installed on vmware workstation 11, repeatedly got the error
[root@localhost linux-3.15.6]# make
gcc: error: unrecognized argument in option ‘-mabi=64’
gcc: note: valid arguments to ‘-mabi=’ are: ms sysv
gcc: error: 0: No such file or directory
gcc: error: unrecognized command line option ‘-G’
gcc: error: unrecognized command line option ‘-mno-abicalls’
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CC kernel/bounds.s
gcc: error: unrecognized argument in option ‘-mabi=64’
gcc: note: valid arguments to ‘-mabi=’ are: ms sysv
gcc: error: 0: No such file or directory
gcc: error: unrecognized command line option ‘-G’
gcc: error: unrecognized command line option ‘-mno-abicalls’
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
Upvotes: 0
Views: 17317
Reputation: 1014
From your uname -a
output I can see you are using x86-64 (also known as x64, x86_64, AMD64 and Intel 64
, which is an Intel Machine and is based on CISC architecture.
-mabi
is a part of RISC-V architecture which is commonly used by ARM and MIPS processors.
For more info, Please go through below links.
Above links are for your understanding. To solve the error basically you need to remove these options when doing make because you are using Intel processor and you don't need these options. You must have provided these options in CFLAGS arguments.
If you want to use similar option for X86_64, Link
On AMD64 (‘x86_64’)
systems supporting both 32-bit and 64-bit modes for applications, the following ABI choices are available.
ABI=64
The 64-bit ABI uses 64-bit limbs and pointers and makes full use of the chip architecture. This is the default. Applications will usually not need special compiler flags, but for reference the option is
gcc -m64
ABI=32
The 32-bit ABI is the usual i386 conventions. This will be slower, and is not recommended except for inter-operating with other code not yet 64-bit capable. Applications must be compiled with
gcc -m32
(In GCC 2.95 and earlier there’s no ‘-m32’ option, it’s the only mode.)
ABI=x32
The x32 ABI uses 64-bit limbs but 32-bit pointers. Like the 64-bit ABI, it makes full use of the chip’s arithmetic capabilities. This ABI is not supported by all operating systems.
gcc -mx32
Upvotes: 3